diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@RestController -@RequestMapping("/system/analysisCoupling") -public class AnalysisCouplingController { - -} - diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 28e3411..6402e51 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -66,4 +66,13 @@ Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 + + + + + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 28e3411..6402e51 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -66,4 +66,13 @@ Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java new file mode 100644 index 0000000..967dede --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class CalculateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private String recognitionTime; + + private String latitude; + + private String longitude; + + private String recognitionPrecision; +} diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 28e3411..6402e51 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -66,4 +66,13 @@ Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java new file mode 100644 index 0000000..967dede --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class CalculateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private String recognitionTime; + + private String latitude; + + private String longitude; + + private String recognitionPrecision; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java new file mode 100644 index 0000000..9efd3d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class OverstockDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String latitude; + + private String longitude; + +} diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 28e3411..6402e51 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -66,4 +66,13 @@ Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java new file mode 100644 index 0000000..967dede --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class CalculateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private String recognitionTime; + + private String latitude; + + private String longitude; + + private String recognitionPrecision; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java new file mode 100644 index 0000000..9efd3d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class OverstockDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String latitude; + + private String longitude; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java index 3d3b34d..ded806d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -37,7 +37,7 @@ @ApiModelProperty("风险耦合分析时间") @TableField("COUPLING_TIME") - private LocalDateTime couplingTime; + private String couplingTime; @ApiModelProperty("风险耦合分析结果") @TableField("COUPLING_RESULT") @@ -47,19 +47,19 @@ @TableField("RECOGNITION_LEVEL") private String recognitionLevel; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("RECOGNITION_VALUE") private String recognitionValue; - @ApiModelProperty("管线疑似占压风险等级 ") + @ApiModelProperty("管线疑似占压风险等级") @TableField("OVERSTOCK_LEVE") private String overstockLeve; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("OVERSTOCK_VALUE") private String overstockValue; - @ApiModelProperty("道路地下空洞风险等级 ") + @ApiModelProperty("道路地下空洞风险等级") @TableField("HOLE_LEVE") private String holeLeve; @@ -67,7 +67,7 @@ @TableField("HOLE_VALUE") private String holeValue; - @ApiModelProperty("燃气泄漏风险等级 ") + @ApiModelProperty("燃气泄漏风险等级") @TableField("GAS_LEVEL") private String gasLevel; @@ -89,7 +89,33 @@ @ApiModelProperty("时间") @TableField("TS") - private LocalDateTime ts; + private String ts; + public AnalysisCoupling() { + } + public AnalysisCoupling(String couplingCode, String couplingTime, + String couplingResult, String recognitionLevel, + String recognitionValue, String overstockLeve, + String overstockValue, String holeLeve, + String holeValue, String gasLevel, + String gasValue, String latitude, + String longitude, String position, + String ts) { + this.couplingCode = couplingCode; + this.couplingTime = couplingTime; + this.couplingResult = couplingResult; + this.recognitionLevel = recognitionLevel; + this.recognitionValue = recognitionValue; + this.overstockLeve = overstockLeve; + this.overstockValue = overstockValue; + this.holeLeve = holeLeve; + this.holeValue = holeValue; + this.gasLevel = gasLevel; + this.gasValue = gasValue; + this.latitude = latitude; + this.longitude = longitude; + this.position = position; + this.ts = ts; + } } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 28e3411..6402e51 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -66,4 +66,13 @@ Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java new file mode 100644 index 0000000..967dede --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class CalculateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private String recognitionTime; + + private String latitude; + + private String longitude; + + private String recognitionPrecision; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java new file mode 100644 index 0000000..9efd3d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class OverstockDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String latitude; + + private String longitude; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java index 3d3b34d..ded806d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -37,7 +37,7 @@ @ApiModelProperty("风险耦合分析时间") @TableField("COUPLING_TIME") - private LocalDateTime couplingTime; + private String couplingTime; @ApiModelProperty("风险耦合分析结果") @TableField("COUPLING_RESULT") @@ -47,19 +47,19 @@ @TableField("RECOGNITION_LEVEL") private String recognitionLevel; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("RECOGNITION_VALUE") private String recognitionValue; - @ApiModelProperty("管线疑似占压风险等级 ") + @ApiModelProperty("管线疑似占压风险等级") @TableField("OVERSTOCK_LEVE") private String overstockLeve; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("OVERSTOCK_VALUE") private String overstockValue; - @ApiModelProperty("道路地下空洞风险等级 ") + @ApiModelProperty("道路地下空洞风险等级") @TableField("HOLE_LEVE") private String holeLeve; @@ -67,7 +67,7 @@ @TableField("HOLE_VALUE") private String holeValue; - @ApiModelProperty("燃气泄漏风险等级 ") + @ApiModelProperty("燃气泄漏风险等级") @TableField("GAS_LEVEL") private String gasLevel; @@ -89,7 +89,33 @@ @ApiModelProperty("时间") @TableField("TS") - private LocalDateTime ts; + private String ts; + public AnalysisCoupling() { + } + public AnalysisCoupling(String couplingCode, String couplingTime, + String couplingResult, String recognitionLevel, + String recognitionValue, String overstockLeve, + String overstockValue, String holeLeve, + String holeValue, String gasLevel, + String gasValue, String latitude, + String longitude, String position, + String ts) { + this.couplingCode = couplingCode; + this.couplingTime = couplingTime; + this.couplingResult = couplingResult; + this.recognitionLevel = recognitionLevel; + this.recognitionValue = recognitionValue; + this.overstockLeve = overstockLeve; + this.overstockValue = overstockValue; + this.holeLeve = holeLeve; + this.holeValue = holeValue; + this.gasLevel = gasLevel; + this.gasValue = gasValue; + this.latitude = latitude; + this.longitude = longitude; + this.position = position; + this.ts = ts; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java index ddbb965..83b719d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -13,4 +13,12 @@ */ public interface IAnalysisCouplingService extends IService { + void saveResult(String couplingResult, + String latitude, + String longitude, + String recognitionPrecision, + String gas, + String riskValue, + String gamma); + } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 28e3411..6402e51 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -66,4 +66,13 @@ Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java new file mode 100644 index 0000000..967dede --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class CalculateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private String recognitionTime; + + private String latitude; + + private String longitude; + + private String recognitionPrecision; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java new file mode 100644 index 0000000..9efd3d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class OverstockDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String latitude; + + private String longitude; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java index 3d3b34d..ded806d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -37,7 +37,7 @@ @ApiModelProperty("风险耦合分析时间") @TableField("COUPLING_TIME") - private LocalDateTime couplingTime; + private String couplingTime; @ApiModelProperty("风险耦合分析结果") @TableField("COUPLING_RESULT") @@ -47,19 +47,19 @@ @TableField("RECOGNITION_LEVEL") private String recognitionLevel; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("RECOGNITION_VALUE") private String recognitionValue; - @ApiModelProperty("管线疑似占压风险等级 ") + @ApiModelProperty("管线疑似占压风险等级") @TableField("OVERSTOCK_LEVE") private String overstockLeve; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("OVERSTOCK_VALUE") private String overstockValue; - @ApiModelProperty("道路地下空洞风险等级 ") + @ApiModelProperty("道路地下空洞风险等级") @TableField("HOLE_LEVE") private String holeLeve; @@ -67,7 +67,7 @@ @TableField("HOLE_VALUE") private String holeValue; - @ApiModelProperty("燃气泄漏风险等级 ") + @ApiModelProperty("燃气泄漏风险等级") @TableField("GAS_LEVEL") private String gasLevel; @@ -89,7 +89,33 @@ @ApiModelProperty("时间") @TableField("TS") - private LocalDateTime ts; + private String ts; + public AnalysisCoupling() { + } + public AnalysisCoupling(String couplingCode, String couplingTime, + String couplingResult, String recognitionLevel, + String recognitionValue, String overstockLeve, + String overstockValue, String holeLeve, + String holeValue, String gasLevel, + String gasValue, String latitude, + String longitude, String position, + String ts) { + this.couplingCode = couplingCode; + this.couplingTime = couplingTime; + this.couplingResult = couplingResult; + this.recognitionLevel = recognitionLevel; + this.recognitionValue = recognitionValue; + this.overstockLeve = overstockLeve; + this.overstockValue = overstockValue; + this.holeLeve = holeLeve; + this.holeValue = holeValue; + this.gasLevel = gasLevel; + this.gasValue = gasValue; + this.latitude = latitude; + this.longitude = longitude; + this.position = position; + this.ts = ts; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java index ddbb965..83b719d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -13,4 +13,12 @@ */ public interface IAnalysisCouplingService extends IService { + void saveResult(String couplingResult, + String latitude, + String longitude, + String recognitionPrecision, + String gas, + String riskValue, + String gamma); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java index c46b438..45d4d05 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.dto.RecognitionRequest; import com.casic.missiles.modular.system.entity.AnalysisRecognition; @@ -22,4 +23,10 @@ AnalysisRecognitionDTO detail(Long id); boolean batchDelete( List ids); + + /** + *获取30秒前的最新的数据 + * @return + */ + CalculateDTO getCalculateDTO(); } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 28e3411..6402e51 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -66,4 +66,13 @@ Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java new file mode 100644 index 0000000..967dede --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class CalculateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private String recognitionTime; + + private String latitude; + + private String longitude; + + private String recognitionPrecision; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java new file mode 100644 index 0000000..9efd3d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class OverstockDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String latitude; + + private String longitude; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java index 3d3b34d..ded806d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -37,7 +37,7 @@ @ApiModelProperty("风险耦合分析时间") @TableField("COUPLING_TIME") - private LocalDateTime couplingTime; + private String couplingTime; @ApiModelProperty("风险耦合分析结果") @TableField("COUPLING_RESULT") @@ -47,19 +47,19 @@ @TableField("RECOGNITION_LEVEL") private String recognitionLevel; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("RECOGNITION_VALUE") private String recognitionValue; - @ApiModelProperty("管线疑似占压风险等级 ") + @ApiModelProperty("管线疑似占压风险等级") @TableField("OVERSTOCK_LEVE") private String overstockLeve; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("OVERSTOCK_VALUE") private String overstockValue; - @ApiModelProperty("道路地下空洞风险等级 ") + @ApiModelProperty("道路地下空洞风险等级") @TableField("HOLE_LEVE") private String holeLeve; @@ -67,7 +67,7 @@ @TableField("HOLE_VALUE") private String holeValue; - @ApiModelProperty("燃气泄漏风险等级 ") + @ApiModelProperty("燃气泄漏风险等级") @TableField("GAS_LEVEL") private String gasLevel; @@ -89,7 +89,33 @@ @ApiModelProperty("时间") @TableField("TS") - private LocalDateTime ts; + private String ts; + public AnalysisCoupling() { + } + public AnalysisCoupling(String couplingCode, String couplingTime, + String couplingResult, String recognitionLevel, + String recognitionValue, String overstockLeve, + String overstockValue, String holeLeve, + String holeValue, String gasLevel, + String gasValue, String latitude, + String longitude, String position, + String ts) { + this.couplingCode = couplingCode; + this.couplingTime = couplingTime; + this.couplingResult = couplingResult; + this.recognitionLevel = recognitionLevel; + this.recognitionValue = recognitionValue; + this.overstockLeve = overstockLeve; + this.overstockValue = overstockValue; + this.holeLeve = holeLeve; + this.holeValue = holeValue; + this.gasLevel = gasLevel; + this.gasValue = gasValue; + this.latitude = latitude; + this.longitude = longitude; + this.position = position; + this.ts = ts; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java index ddbb965..83b719d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -13,4 +13,12 @@ */ public interface IAnalysisCouplingService extends IService { + void saveResult(String couplingResult, + String latitude, + String longitude, + String recognitionPrecision, + String gas, + String riskValue, + String gamma); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java index c46b438..45d4d05 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.dto.RecognitionRequest; import com.casic.missiles.modular.system.entity.AnalysisRecognition; @@ -22,4 +23,10 @@ AnalysisRecognitionDTO detail(Long id); boolean batchDelete( List ids); + + /** + *获取30秒前的最新的数据 + * @return + */ + CalculateDTO getCalculateDTO(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 4119a81..fdbda65 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -28,4 +28,6 @@ Page listPage(Page page, PatrolTrackRequest request); + String getGasData(String lon,String lat); + } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 28e3411..6402e51 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -66,4 +66,13 @@ Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java new file mode 100644 index 0000000..967dede --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class CalculateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private String recognitionTime; + + private String latitude; + + private String longitude; + + private String recognitionPrecision; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java new file mode 100644 index 0000000..9efd3d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class OverstockDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String latitude; + + private String longitude; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java index 3d3b34d..ded806d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -37,7 +37,7 @@ @ApiModelProperty("风险耦合分析时间") @TableField("COUPLING_TIME") - private LocalDateTime couplingTime; + private String couplingTime; @ApiModelProperty("风险耦合分析结果") @TableField("COUPLING_RESULT") @@ -47,19 +47,19 @@ @TableField("RECOGNITION_LEVEL") private String recognitionLevel; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("RECOGNITION_VALUE") private String recognitionValue; - @ApiModelProperty("管线疑似占压风险等级 ") + @ApiModelProperty("管线疑似占压风险等级") @TableField("OVERSTOCK_LEVE") private String overstockLeve; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("OVERSTOCK_VALUE") private String overstockValue; - @ApiModelProperty("道路地下空洞风险等级 ") + @ApiModelProperty("道路地下空洞风险等级") @TableField("HOLE_LEVE") private String holeLeve; @@ -67,7 +67,7 @@ @TableField("HOLE_VALUE") private String holeValue; - @ApiModelProperty("燃气泄漏风险等级 ") + @ApiModelProperty("燃气泄漏风险等级") @TableField("GAS_LEVEL") private String gasLevel; @@ -89,7 +89,33 @@ @ApiModelProperty("时间") @TableField("TS") - private LocalDateTime ts; + private String ts; + public AnalysisCoupling() { + } + public AnalysisCoupling(String couplingCode, String couplingTime, + String couplingResult, String recognitionLevel, + String recognitionValue, String overstockLeve, + String overstockValue, String holeLeve, + String holeValue, String gasLevel, + String gasValue, String latitude, + String longitude, String position, + String ts) { + this.couplingCode = couplingCode; + this.couplingTime = couplingTime; + this.couplingResult = couplingResult; + this.recognitionLevel = recognitionLevel; + this.recognitionValue = recognitionValue; + this.overstockLeve = overstockLeve; + this.overstockValue = overstockValue; + this.holeLeve = holeLeve; + this.holeValue = holeValue; + this.gasLevel = gasLevel; + this.gasValue = gasValue; + this.latitude = latitude; + this.longitude = longitude; + this.position = position; + this.ts = ts; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java index ddbb965..83b719d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -13,4 +13,12 @@ */ public interface IAnalysisCouplingService extends IService { + void saveResult(String couplingResult, + String latitude, + String longitude, + String recognitionPrecision, + String gas, + String riskValue, + String gamma); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java index c46b438..45d4d05 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.dto.RecognitionRequest; import com.casic.missiles.modular.system.entity.AnalysisRecognition; @@ -22,4 +23,10 @@ AnalysisRecognitionDTO detail(Long id); boolean batchDelete( List ids); + + /** + *获取30秒前的最新的数据 + * @return + */ + CalculateDTO getCalculateDTO(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 4119a81..fdbda65 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -28,4 +28,6 @@ Page listPage(Page page, PatrolTrackRequest request); + String getGasData(String lon,String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java index fa84fb7..1fac28e 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.springframework.web.multipart.MultipartFile; @@ -22,4 +23,7 @@ // List> parseSourceFile(MultipartFile file); // // boolean BusPipeOverstock(List> urls); + //计算耦合分析结果 + boolean riskCalculate(); + List getOverstockDTOList(); } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 28e3411..6402e51 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -66,4 +66,13 @@ Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java new file mode 100644 index 0000000..967dede --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class CalculateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private String recognitionTime; + + private String latitude; + + private String longitude; + + private String recognitionPrecision; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java new file mode 100644 index 0000000..9efd3d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class OverstockDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String latitude; + + private String longitude; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java index 3d3b34d..ded806d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -37,7 +37,7 @@ @ApiModelProperty("风险耦合分析时间") @TableField("COUPLING_TIME") - private LocalDateTime couplingTime; + private String couplingTime; @ApiModelProperty("风险耦合分析结果") @TableField("COUPLING_RESULT") @@ -47,19 +47,19 @@ @TableField("RECOGNITION_LEVEL") private String recognitionLevel; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("RECOGNITION_VALUE") private String recognitionValue; - @ApiModelProperty("管线疑似占压风险等级 ") + @ApiModelProperty("管线疑似占压风险等级") @TableField("OVERSTOCK_LEVE") private String overstockLeve; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("OVERSTOCK_VALUE") private String overstockValue; - @ApiModelProperty("道路地下空洞风险等级 ") + @ApiModelProperty("道路地下空洞风险等级") @TableField("HOLE_LEVE") private String holeLeve; @@ -67,7 +67,7 @@ @TableField("HOLE_VALUE") private String holeValue; - @ApiModelProperty("燃气泄漏风险等级 ") + @ApiModelProperty("燃气泄漏风险等级") @TableField("GAS_LEVEL") private String gasLevel; @@ -89,7 +89,33 @@ @ApiModelProperty("时间") @TableField("TS") - private LocalDateTime ts; + private String ts; + public AnalysisCoupling() { + } + public AnalysisCoupling(String couplingCode, String couplingTime, + String couplingResult, String recognitionLevel, + String recognitionValue, String overstockLeve, + String overstockValue, String holeLeve, + String holeValue, String gasLevel, + String gasValue, String latitude, + String longitude, String position, + String ts) { + this.couplingCode = couplingCode; + this.couplingTime = couplingTime; + this.couplingResult = couplingResult; + this.recognitionLevel = recognitionLevel; + this.recognitionValue = recognitionValue; + this.overstockLeve = overstockLeve; + this.overstockValue = overstockValue; + this.holeLeve = holeLeve; + this.holeValue = holeValue; + this.gasLevel = gasLevel; + this.gasValue = gasValue; + this.latitude = latitude; + this.longitude = longitude; + this.position = position; + this.ts = ts; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java index ddbb965..83b719d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -13,4 +13,12 @@ */ public interface IAnalysisCouplingService extends IService { + void saveResult(String couplingResult, + String latitude, + String longitude, + String recognitionPrecision, + String gas, + String riskValue, + String gamma); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java index c46b438..45d4d05 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.dto.RecognitionRequest; import com.casic.missiles.modular.system.entity.AnalysisRecognition; @@ -22,4 +23,10 @@ AnalysisRecognitionDTO detail(Long id); boolean batchDelete( List ids); + + /** + *获取30秒前的最新的数据 + * @return + */ + CalculateDTO getCalculateDTO(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 4119a81..fdbda65 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -28,4 +28,6 @@ Page listPage(Page page, PatrolTrackRequest request); + String getGasData(String lon,String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java index fa84fb7..1fac28e 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.springframework.web.multipart.MultipartFile; @@ -22,4 +23,7 @@ // List> parseSourceFile(MultipartFile file); // // boolean BusPipeOverstock(List> urls); + //计算耦合分析结果 + boolean riskCalculate(); + List getOverstockDTOList(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java index 94232ca..2b43e56 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -1,11 +1,14 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; import com.casic.missiles.modular.system.entity.AnalysisCoupling; import com.casic.missiles.modular.system.service.IAnalysisCouplingService; import org.springframework.stereotype.Service; +import java.util.Date; + /** *

* 耦合关联分析 服务实现类 @@ -17,4 +20,25 @@ @Service public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + @Override + public void saveResult(String couplingResult, String latitude, String longitude, String recognitionPrecision, String gas, String riskValue, String gamma) { + this.baseMapper.insert( + new AnalysisCoupling(System.currentTimeMillis() + "", + DateUtil.formatDateTime(new Date()), + couplingResult, + recognitionPrecision, + "0.6", + riskValue, + "0.2", + "80", + "0.1", + gas, + "0.1", + latitude, + longitude, + "", + DateUtil.formatDateTime(new Date()) + ) + ); + } } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 28e3411..6402e51 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -66,4 +66,13 @@ Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java new file mode 100644 index 0000000..967dede --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class CalculateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private String recognitionTime; + + private String latitude; + + private String longitude; + + private String recognitionPrecision; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java new file mode 100644 index 0000000..9efd3d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class OverstockDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String latitude; + + private String longitude; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java index 3d3b34d..ded806d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -37,7 +37,7 @@ @ApiModelProperty("风险耦合分析时间") @TableField("COUPLING_TIME") - private LocalDateTime couplingTime; + private String couplingTime; @ApiModelProperty("风险耦合分析结果") @TableField("COUPLING_RESULT") @@ -47,19 +47,19 @@ @TableField("RECOGNITION_LEVEL") private String recognitionLevel; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("RECOGNITION_VALUE") private String recognitionValue; - @ApiModelProperty("管线疑似占压风险等级 ") + @ApiModelProperty("管线疑似占压风险等级") @TableField("OVERSTOCK_LEVE") private String overstockLeve; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("OVERSTOCK_VALUE") private String overstockValue; - @ApiModelProperty("道路地下空洞风险等级 ") + @ApiModelProperty("道路地下空洞风险等级") @TableField("HOLE_LEVE") private String holeLeve; @@ -67,7 +67,7 @@ @TableField("HOLE_VALUE") private String holeValue; - @ApiModelProperty("燃气泄漏风险等级 ") + @ApiModelProperty("燃气泄漏风险等级") @TableField("GAS_LEVEL") private String gasLevel; @@ -89,7 +89,33 @@ @ApiModelProperty("时间") @TableField("TS") - private LocalDateTime ts; + private String ts; + public AnalysisCoupling() { + } + public AnalysisCoupling(String couplingCode, String couplingTime, + String couplingResult, String recognitionLevel, + String recognitionValue, String overstockLeve, + String overstockValue, String holeLeve, + String holeValue, String gasLevel, + String gasValue, String latitude, + String longitude, String position, + String ts) { + this.couplingCode = couplingCode; + this.couplingTime = couplingTime; + this.couplingResult = couplingResult; + this.recognitionLevel = recognitionLevel; + this.recognitionValue = recognitionValue; + this.overstockLeve = overstockLeve; + this.overstockValue = overstockValue; + this.holeLeve = holeLeve; + this.holeValue = holeValue; + this.gasLevel = gasLevel; + this.gasValue = gasValue; + this.latitude = latitude; + this.longitude = longitude; + this.position = position; + this.ts = ts; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java index ddbb965..83b719d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -13,4 +13,12 @@ */ public interface IAnalysisCouplingService extends IService { + void saveResult(String couplingResult, + String latitude, + String longitude, + String recognitionPrecision, + String gas, + String riskValue, + String gamma); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java index c46b438..45d4d05 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.dto.RecognitionRequest; import com.casic.missiles.modular.system.entity.AnalysisRecognition; @@ -22,4 +23,10 @@ AnalysisRecognitionDTO detail(Long id); boolean batchDelete( List ids); + + /** + *获取30秒前的最新的数据 + * @return + */ + CalculateDTO getCalculateDTO(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 4119a81..fdbda65 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -28,4 +28,6 @@ Page listPage(Page page, PatrolTrackRequest request); + String getGasData(String lon,String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java index fa84fb7..1fac28e 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.springframework.web.multipart.MultipartFile; @@ -22,4 +23,7 @@ // List> parseSourceFile(MultipartFile file); // // boolean BusPipeOverstock(List> urls); + //计算耦合分析结果 + boolean riskCalculate(); + List getOverstockDTOList(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java index 94232ca..2b43e56 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -1,11 +1,14 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; import com.casic.missiles.modular.system.entity.AnalysisCoupling; import com.casic.missiles.modular.system.service.IAnalysisCouplingService; import org.springframework.stereotype.Service; +import java.util.Date; + /** *

* 耦合关联分析 服务实现类 @@ -17,4 +20,25 @@ @Service public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + @Override + public void saveResult(String couplingResult, String latitude, String longitude, String recognitionPrecision, String gas, String riskValue, String gamma) { + this.baseMapper.insert( + new AnalysisCoupling(System.currentTimeMillis() + "", + DateUtil.formatDateTime(new Date()), + couplingResult, + recognitionPrecision, + "0.6", + riskValue, + "0.2", + "80", + "0.1", + gas, + "0.1", + latitude, + longitude, + "", + DateUtil.formatDateTime(new Date()) + ) + ); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java index a489570..0526373 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.service.impl; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.dto.RecognitionRequest; import com.casic.missiles.modular.system.entity.AlarmRecord; import com.casic.missiles.modular.system.entity.AnalysisRecognition; @@ -39,9 +41,9 @@ @Override public boolean saveRecognition(RecognitionRequest recognitionRequest) { - Long taskId =iBusPatrolTaskService.getTaskByTime(recognitionRequest.getRecognizeTime()); + Long taskId = iBusPatrolTaskService.getTaskByTime(recognitionRequest.getRecognizeTime()); //保存报警信息 - AlarmRecord alarmRecord =new AlarmRecord(); + AlarmRecord alarmRecord = new AlarmRecord(); alarmRecord.setTaskId(taskId); alarmRecord.setAlarmStatus("0"); String position = recognitionRequest.getRecognizePostion(); @@ -60,18 +62,18 @@ iAlarmRecordService.saveAlarm(alarmRecord); //保存识别记录 recognitionRequest.setRecognitionCode(NumberGeneratorUtil.getContactNo(DictEnum.RECOGNITION_PREFIX, this.baseMapper.selectMaxCode())); - AnalysisRecognition analysisRecognition = new AnalysisRecognition(recognitionRequest,taskId+"",alarmRecord.getAlarmCode()); + AnalysisRecognition analysisRecognition = new AnalysisRecognition(recognitionRequest, taskId + "", alarmRecord.getAlarmCode()); return this.save(analysisRecognition); } @Override public AnalysisRecognitionDTO detail(Long id) { AnalysisRecognitionDTO analysisRecognitionDTO = this.baseMapper.detail(id); - if(null!=analysisRecognitionDTO){ - analysisRecognitionDTO.setAlarmStatus(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getAlarmStatus())? - dictService.getDictNameByCode("alarmStatus",analysisRecognitionDTO.getAlarmStatus()):""); - analysisRecognitionDTO.setCancelReason(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getCancelReason())? - dictService.getDictNameByCode("cancelReason",analysisRecognitionDTO.getCancelReason()):""); + if (null != analysisRecognitionDTO) { + analysisRecognitionDTO.setAlarmStatus(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getAlarmStatus()) ? + dictService.getDictNameByCode("alarmStatus", analysisRecognitionDTO.getAlarmStatus()) : ""); + analysisRecognitionDTO.setCancelReason(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getCancelReason()) ? + dictService.getDictNameByCode("cancelReason", analysisRecognitionDTO.getCancelReason()) : ""); } return analysisRecognitionDTO; } @@ -80,10 +82,20 @@ public boolean batchDelete(List ids) { //先删除关联的报警记录表 List analysisRecognitionList = this.listByIds(ids); - List alarmRecords= analysisRecognitionList.stream().map(AnalysisRecognition::getAlarmCode).collect(Collectors.toList()); - if(ObjectUtil.isNotEmpty(alarmRecords)&&alarmRecords.size()>0){ + List alarmRecords = analysisRecognitionList.stream().map(AnalysisRecognition::getAlarmCode).collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(alarmRecords) && alarmRecords.size() > 0) { iAlarmRecordService.deleteByAlarmCodes(alarmRecords); } return this.removeByIds(ids); } + + @Override + public CalculateDTO getCalculateDTO() { + List list = this.baseMapper.getCalculateList(); + if (list != null && list.size() > 0) + return ObjectUtil.isAllNotEmpty(list.get(0).getLongitude(), list.get(0).getLatitude()) ? + list.get(0) : null; + return null; + } + } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 28e3411..6402e51 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -66,4 +66,13 @@ Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java new file mode 100644 index 0000000..967dede --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class CalculateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private String recognitionTime; + + private String latitude; + + private String longitude; + + private String recognitionPrecision; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java new file mode 100644 index 0000000..9efd3d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class OverstockDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String latitude; + + private String longitude; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java index 3d3b34d..ded806d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -37,7 +37,7 @@ @ApiModelProperty("风险耦合分析时间") @TableField("COUPLING_TIME") - private LocalDateTime couplingTime; + private String couplingTime; @ApiModelProperty("风险耦合分析结果") @TableField("COUPLING_RESULT") @@ -47,19 +47,19 @@ @TableField("RECOGNITION_LEVEL") private String recognitionLevel; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("RECOGNITION_VALUE") private String recognitionValue; - @ApiModelProperty("管线疑似占压风险等级 ") + @ApiModelProperty("管线疑似占压风险等级") @TableField("OVERSTOCK_LEVE") private String overstockLeve; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("OVERSTOCK_VALUE") private String overstockValue; - @ApiModelProperty("道路地下空洞风险等级 ") + @ApiModelProperty("道路地下空洞风险等级") @TableField("HOLE_LEVE") private String holeLeve; @@ -67,7 +67,7 @@ @TableField("HOLE_VALUE") private String holeValue; - @ApiModelProperty("燃气泄漏风险等级 ") + @ApiModelProperty("燃气泄漏风险等级") @TableField("GAS_LEVEL") private String gasLevel; @@ -89,7 +89,33 @@ @ApiModelProperty("时间") @TableField("TS") - private LocalDateTime ts; + private String ts; + public AnalysisCoupling() { + } + public AnalysisCoupling(String couplingCode, String couplingTime, + String couplingResult, String recognitionLevel, + String recognitionValue, String overstockLeve, + String overstockValue, String holeLeve, + String holeValue, String gasLevel, + String gasValue, String latitude, + String longitude, String position, + String ts) { + this.couplingCode = couplingCode; + this.couplingTime = couplingTime; + this.couplingResult = couplingResult; + this.recognitionLevel = recognitionLevel; + this.recognitionValue = recognitionValue; + this.overstockLeve = overstockLeve; + this.overstockValue = overstockValue; + this.holeLeve = holeLeve; + this.holeValue = holeValue; + this.gasLevel = gasLevel; + this.gasValue = gasValue; + this.latitude = latitude; + this.longitude = longitude; + this.position = position; + this.ts = ts; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java index ddbb965..83b719d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -13,4 +13,12 @@ */ public interface IAnalysisCouplingService extends IService { + void saveResult(String couplingResult, + String latitude, + String longitude, + String recognitionPrecision, + String gas, + String riskValue, + String gamma); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java index c46b438..45d4d05 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.dto.RecognitionRequest; import com.casic.missiles.modular.system.entity.AnalysisRecognition; @@ -22,4 +23,10 @@ AnalysisRecognitionDTO detail(Long id); boolean batchDelete( List ids); + + /** + *获取30秒前的最新的数据 + * @return + */ + CalculateDTO getCalculateDTO(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 4119a81..fdbda65 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -28,4 +28,6 @@ Page listPage(Page page, PatrolTrackRequest request); + String getGasData(String lon,String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java index fa84fb7..1fac28e 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.springframework.web.multipart.MultipartFile; @@ -22,4 +23,7 @@ // List> parseSourceFile(MultipartFile file); // // boolean BusPipeOverstock(List> urls); + //计算耦合分析结果 + boolean riskCalculate(); + List getOverstockDTOList(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java index 94232ca..2b43e56 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -1,11 +1,14 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; import com.casic.missiles.modular.system.entity.AnalysisCoupling; import com.casic.missiles.modular.system.service.IAnalysisCouplingService; import org.springframework.stereotype.Service; +import java.util.Date; + /** *

* 耦合关联分析 服务实现类 @@ -17,4 +20,25 @@ @Service public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + @Override + public void saveResult(String couplingResult, String latitude, String longitude, String recognitionPrecision, String gas, String riskValue, String gamma) { + this.baseMapper.insert( + new AnalysisCoupling(System.currentTimeMillis() + "", + DateUtil.formatDateTime(new Date()), + couplingResult, + recognitionPrecision, + "0.6", + riskValue, + "0.2", + "80", + "0.1", + gas, + "0.1", + latitude, + longitude, + "", + DateUtil.formatDateTime(new Date()) + ) + ); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java index a489570..0526373 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.service.impl; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.dto.RecognitionRequest; import com.casic.missiles.modular.system.entity.AlarmRecord; import com.casic.missiles.modular.system.entity.AnalysisRecognition; @@ -39,9 +41,9 @@ @Override public boolean saveRecognition(RecognitionRequest recognitionRequest) { - Long taskId =iBusPatrolTaskService.getTaskByTime(recognitionRequest.getRecognizeTime()); + Long taskId = iBusPatrolTaskService.getTaskByTime(recognitionRequest.getRecognizeTime()); //保存报警信息 - AlarmRecord alarmRecord =new AlarmRecord(); + AlarmRecord alarmRecord = new AlarmRecord(); alarmRecord.setTaskId(taskId); alarmRecord.setAlarmStatus("0"); String position = recognitionRequest.getRecognizePostion(); @@ -60,18 +62,18 @@ iAlarmRecordService.saveAlarm(alarmRecord); //保存识别记录 recognitionRequest.setRecognitionCode(NumberGeneratorUtil.getContactNo(DictEnum.RECOGNITION_PREFIX, this.baseMapper.selectMaxCode())); - AnalysisRecognition analysisRecognition = new AnalysisRecognition(recognitionRequest,taskId+"",alarmRecord.getAlarmCode()); + AnalysisRecognition analysisRecognition = new AnalysisRecognition(recognitionRequest, taskId + "", alarmRecord.getAlarmCode()); return this.save(analysisRecognition); } @Override public AnalysisRecognitionDTO detail(Long id) { AnalysisRecognitionDTO analysisRecognitionDTO = this.baseMapper.detail(id); - if(null!=analysisRecognitionDTO){ - analysisRecognitionDTO.setAlarmStatus(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getAlarmStatus())? - dictService.getDictNameByCode("alarmStatus",analysisRecognitionDTO.getAlarmStatus()):""); - analysisRecognitionDTO.setCancelReason(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getCancelReason())? - dictService.getDictNameByCode("cancelReason",analysisRecognitionDTO.getCancelReason()):""); + if (null != analysisRecognitionDTO) { + analysisRecognitionDTO.setAlarmStatus(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getAlarmStatus()) ? + dictService.getDictNameByCode("alarmStatus", analysisRecognitionDTO.getAlarmStatus()) : ""); + analysisRecognitionDTO.setCancelReason(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getCancelReason()) ? + dictService.getDictNameByCode("cancelReason", analysisRecognitionDTO.getCancelReason()) : ""); } return analysisRecognitionDTO; } @@ -80,10 +82,20 @@ public boolean batchDelete(List ids) { //先删除关联的报警记录表 List analysisRecognitionList = this.listByIds(ids); - List alarmRecords= analysisRecognitionList.stream().map(AnalysisRecognition::getAlarmCode).collect(Collectors.toList()); - if(ObjectUtil.isNotEmpty(alarmRecords)&&alarmRecords.size()>0){ + List alarmRecords = analysisRecognitionList.stream().map(AnalysisRecognition::getAlarmCode).collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(alarmRecords) && alarmRecords.size() > 0) { iAlarmRecordService.deleteByAlarmCodes(alarmRecords); } return this.removeByIds(ids); } + + @Override + public CalculateDTO getCalculateDTO() { + List list = this.baseMapper.getCalculateList(); + if (list != null && list.size() > 0) + return ObjectUtil.isAllNotEmpty(list.get(0).getLongitude(), list.get(0).getLatitude()) ? + list.get(0) : null; + return null; + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java index d7c54d6..690ad5b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -110,4 +110,10 @@ queryWrapper.orderByDesc("TS"); return this.baseMapper.selectPage(page, queryWrapper); } + + @Override + public String getGasData(String lon, String lat) { + + return this.baseMapper.getGasData(lon, lat); + } } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 28e3411..6402e51 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -66,4 +66,13 @@ Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java new file mode 100644 index 0000000..967dede --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class CalculateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private String recognitionTime; + + private String latitude; + + private String longitude; + + private String recognitionPrecision; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java new file mode 100644 index 0000000..9efd3d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class OverstockDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String latitude; + + private String longitude; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java index 3d3b34d..ded806d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -37,7 +37,7 @@ @ApiModelProperty("风险耦合分析时间") @TableField("COUPLING_TIME") - private LocalDateTime couplingTime; + private String couplingTime; @ApiModelProperty("风险耦合分析结果") @TableField("COUPLING_RESULT") @@ -47,19 +47,19 @@ @TableField("RECOGNITION_LEVEL") private String recognitionLevel; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("RECOGNITION_VALUE") private String recognitionValue; - @ApiModelProperty("管线疑似占压风险等级 ") + @ApiModelProperty("管线疑似占压风险等级") @TableField("OVERSTOCK_LEVE") private String overstockLeve; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("OVERSTOCK_VALUE") private String overstockValue; - @ApiModelProperty("道路地下空洞风险等级 ") + @ApiModelProperty("道路地下空洞风险等级") @TableField("HOLE_LEVE") private String holeLeve; @@ -67,7 +67,7 @@ @TableField("HOLE_VALUE") private String holeValue; - @ApiModelProperty("燃气泄漏风险等级 ") + @ApiModelProperty("燃气泄漏风险等级") @TableField("GAS_LEVEL") private String gasLevel; @@ -89,7 +89,33 @@ @ApiModelProperty("时间") @TableField("TS") - private LocalDateTime ts; + private String ts; + public AnalysisCoupling() { + } + public AnalysisCoupling(String couplingCode, String couplingTime, + String couplingResult, String recognitionLevel, + String recognitionValue, String overstockLeve, + String overstockValue, String holeLeve, + String holeValue, String gasLevel, + String gasValue, String latitude, + String longitude, String position, + String ts) { + this.couplingCode = couplingCode; + this.couplingTime = couplingTime; + this.couplingResult = couplingResult; + this.recognitionLevel = recognitionLevel; + this.recognitionValue = recognitionValue; + this.overstockLeve = overstockLeve; + this.overstockValue = overstockValue; + this.holeLeve = holeLeve; + this.holeValue = holeValue; + this.gasLevel = gasLevel; + this.gasValue = gasValue; + this.latitude = latitude; + this.longitude = longitude; + this.position = position; + this.ts = ts; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java index ddbb965..83b719d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -13,4 +13,12 @@ */ public interface IAnalysisCouplingService extends IService { + void saveResult(String couplingResult, + String latitude, + String longitude, + String recognitionPrecision, + String gas, + String riskValue, + String gamma); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java index c46b438..45d4d05 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.dto.RecognitionRequest; import com.casic.missiles.modular.system.entity.AnalysisRecognition; @@ -22,4 +23,10 @@ AnalysisRecognitionDTO detail(Long id); boolean batchDelete( List ids); + + /** + *获取30秒前的最新的数据 + * @return + */ + CalculateDTO getCalculateDTO(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 4119a81..fdbda65 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -28,4 +28,6 @@ Page listPage(Page page, PatrolTrackRequest request); + String getGasData(String lon,String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java index fa84fb7..1fac28e 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.springframework.web.multipart.MultipartFile; @@ -22,4 +23,7 @@ // List> parseSourceFile(MultipartFile file); // // boolean BusPipeOverstock(List> urls); + //计算耦合分析结果 + boolean riskCalculate(); + List getOverstockDTOList(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java index 94232ca..2b43e56 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -1,11 +1,14 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; import com.casic.missiles.modular.system.entity.AnalysisCoupling; import com.casic.missiles.modular.system.service.IAnalysisCouplingService; import org.springframework.stereotype.Service; +import java.util.Date; + /** *

* 耦合关联分析 服务实现类 @@ -17,4 +20,25 @@ @Service public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + @Override + public void saveResult(String couplingResult, String latitude, String longitude, String recognitionPrecision, String gas, String riskValue, String gamma) { + this.baseMapper.insert( + new AnalysisCoupling(System.currentTimeMillis() + "", + DateUtil.formatDateTime(new Date()), + couplingResult, + recognitionPrecision, + "0.6", + riskValue, + "0.2", + "80", + "0.1", + gas, + "0.1", + latitude, + longitude, + "", + DateUtil.formatDateTime(new Date()) + ) + ); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java index a489570..0526373 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.service.impl; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.dto.RecognitionRequest; import com.casic.missiles.modular.system.entity.AlarmRecord; import com.casic.missiles.modular.system.entity.AnalysisRecognition; @@ -39,9 +41,9 @@ @Override public boolean saveRecognition(RecognitionRequest recognitionRequest) { - Long taskId =iBusPatrolTaskService.getTaskByTime(recognitionRequest.getRecognizeTime()); + Long taskId = iBusPatrolTaskService.getTaskByTime(recognitionRequest.getRecognizeTime()); //保存报警信息 - AlarmRecord alarmRecord =new AlarmRecord(); + AlarmRecord alarmRecord = new AlarmRecord(); alarmRecord.setTaskId(taskId); alarmRecord.setAlarmStatus("0"); String position = recognitionRequest.getRecognizePostion(); @@ -60,18 +62,18 @@ iAlarmRecordService.saveAlarm(alarmRecord); //保存识别记录 recognitionRequest.setRecognitionCode(NumberGeneratorUtil.getContactNo(DictEnum.RECOGNITION_PREFIX, this.baseMapper.selectMaxCode())); - AnalysisRecognition analysisRecognition = new AnalysisRecognition(recognitionRequest,taskId+"",alarmRecord.getAlarmCode()); + AnalysisRecognition analysisRecognition = new AnalysisRecognition(recognitionRequest, taskId + "", alarmRecord.getAlarmCode()); return this.save(analysisRecognition); } @Override public AnalysisRecognitionDTO detail(Long id) { AnalysisRecognitionDTO analysisRecognitionDTO = this.baseMapper.detail(id); - if(null!=analysisRecognitionDTO){ - analysisRecognitionDTO.setAlarmStatus(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getAlarmStatus())? - dictService.getDictNameByCode("alarmStatus",analysisRecognitionDTO.getAlarmStatus()):""); - analysisRecognitionDTO.setCancelReason(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getCancelReason())? - dictService.getDictNameByCode("cancelReason",analysisRecognitionDTO.getCancelReason()):""); + if (null != analysisRecognitionDTO) { + analysisRecognitionDTO.setAlarmStatus(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getAlarmStatus()) ? + dictService.getDictNameByCode("alarmStatus", analysisRecognitionDTO.getAlarmStatus()) : ""); + analysisRecognitionDTO.setCancelReason(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getCancelReason()) ? + dictService.getDictNameByCode("cancelReason", analysisRecognitionDTO.getCancelReason()) : ""); } return analysisRecognitionDTO; } @@ -80,10 +82,20 @@ public boolean batchDelete(List ids) { //先删除关联的报警记录表 List analysisRecognitionList = this.listByIds(ids); - List alarmRecords= analysisRecognitionList.stream().map(AnalysisRecognition::getAlarmCode).collect(Collectors.toList()); - if(ObjectUtil.isNotEmpty(alarmRecords)&&alarmRecords.size()>0){ + List alarmRecords = analysisRecognitionList.stream().map(AnalysisRecognition::getAlarmCode).collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(alarmRecords) && alarmRecords.size() > 0) { iAlarmRecordService.deleteByAlarmCodes(alarmRecords); } return this.removeByIds(ids); } + + @Override + public CalculateDTO getCalculateDTO() { + List list = this.baseMapper.getCalculateList(); + if (list != null && list.size() > 0) + return ObjectUtil.isAllNotEmpty(list.get(0).getLongitude(), list.get(0).getLatitude()) ? + list.get(0) : null; + return null; + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java index d7c54d6..690ad5b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -110,4 +110,10 @@ queryWrapper.orderByDesc("TS"); return this.baseMapper.selectPage(page, queryWrapper); } + + @Override + public String getGasData(String lon, String lat) { + + return this.baseMapper.getGasData(lon, lat); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java index fafc4c1..e535bff 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -1,11 +1,23 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.dto.CalculateDTO; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.RiskCalculationUtil; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import java.util.Random; + /** *

* 管线占压基本信息表 服务实现类 @@ -18,6 +30,52 @@ public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + @Resource + private IAnalysisRecognitionService recognitionService; + @Resource + private IBusPatrolTrackService patrolTrackService; + @Resource + private IBusPipeOverstockService overstockService; + @Resource + private IAnalysisCouplingService couplingService; + @Override + /* 每两秒执行一次 */ + @Scheduled(cron = "0/30 * * * * ?") + public boolean riskCalculate() { + System.out.println("开始执行了--->"); + //1.先获取半分钟内识别记录最新数据 + CalculateDTO calculateDTO = recognitionService.getCalculateDTO(); + if (null != calculateDTO) { + //2.根据经纬度匹配当前点燃气的数值 + String gas = patrolTrackService.getGasData(calculateDTO.getLongitude(), calculateDTO.getLatitude()); + //3.计算占压风险值 + double riskValue = RiskCalculationUtil.getZhanya(calculateDTO.getLongitude(), calculateDTO.getLatitude(), overstockService.getOverstockDTOList()); + + //4.计算耦合结果 + double gamma = RiskCalculationUtil.calculateRisk((int) riskValue, + Double.valueOf(ObjectUtil.isNotEmpty(gas) ? gas : "0"), + Integer.valueOf(calculateDTO.getRecognitionPrecision()), + new Random().nextInt(101)); + + System.out.println("风险分数: " + gamma); + + String result = RiskCalculationUtil.checkRiskLevel(gamma); + + couplingService.saveResult(result, + calculateDTO.getLatitude(), + calculateDTO.getLongitude(), + calculateDTO.getRecognitionPrecision(), + gas, + riskValue+"", + gamma+""); + } + return true; + } + + @Override + public List getOverstockDTOList() { + return this.baseMapper.getOverstockDTOList(); + } } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 28e3411..6402e51 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -66,4 +66,13 @@ Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java new file mode 100644 index 0000000..967dede --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class CalculateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private String recognitionTime; + + private String latitude; + + private String longitude; + + private String recognitionPrecision; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java new file mode 100644 index 0000000..9efd3d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class OverstockDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String latitude; + + private String longitude; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java index 3d3b34d..ded806d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -37,7 +37,7 @@ @ApiModelProperty("风险耦合分析时间") @TableField("COUPLING_TIME") - private LocalDateTime couplingTime; + private String couplingTime; @ApiModelProperty("风险耦合分析结果") @TableField("COUPLING_RESULT") @@ -47,19 +47,19 @@ @TableField("RECOGNITION_LEVEL") private String recognitionLevel; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("RECOGNITION_VALUE") private String recognitionValue; - @ApiModelProperty("管线疑似占压风险等级 ") + @ApiModelProperty("管线疑似占压风险等级") @TableField("OVERSTOCK_LEVE") private String overstockLeve; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("OVERSTOCK_VALUE") private String overstockValue; - @ApiModelProperty("道路地下空洞风险等级 ") + @ApiModelProperty("道路地下空洞风险等级") @TableField("HOLE_LEVE") private String holeLeve; @@ -67,7 +67,7 @@ @TableField("HOLE_VALUE") private String holeValue; - @ApiModelProperty("燃气泄漏风险等级 ") + @ApiModelProperty("燃气泄漏风险等级") @TableField("GAS_LEVEL") private String gasLevel; @@ -89,7 +89,33 @@ @ApiModelProperty("时间") @TableField("TS") - private LocalDateTime ts; + private String ts; + public AnalysisCoupling() { + } + public AnalysisCoupling(String couplingCode, String couplingTime, + String couplingResult, String recognitionLevel, + String recognitionValue, String overstockLeve, + String overstockValue, String holeLeve, + String holeValue, String gasLevel, + String gasValue, String latitude, + String longitude, String position, + String ts) { + this.couplingCode = couplingCode; + this.couplingTime = couplingTime; + this.couplingResult = couplingResult; + this.recognitionLevel = recognitionLevel; + this.recognitionValue = recognitionValue; + this.overstockLeve = overstockLeve; + this.overstockValue = overstockValue; + this.holeLeve = holeLeve; + this.holeValue = holeValue; + this.gasLevel = gasLevel; + this.gasValue = gasValue; + this.latitude = latitude; + this.longitude = longitude; + this.position = position; + this.ts = ts; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java index ddbb965..83b719d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -13,4 +13,12 @@ */ public interface IAnalysisCouplingService extends IService { + void saveResult(String couplingResult, + String latitude, + String longitude, + String recognitionPrecision, + String gas, + String riskValue, + String gamma); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java index c46b438..45d4d05 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.dto.RecognitionRequest; import com.casic.missiles.modular.system.entity.AnalysisRecognition; @@ -22,4 +23,10 @@ AnalysisRecognitionDTO detail(Long id); boolean batchDelete( List ids); + + /** + *获取30秒前的最新的数据 + * @return + */ + CalculateDTO getCalculateDTO(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 4119a81..fdbda65 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -28,4 +28,6 @@ Page listPage(Page page, PatrolTrackRequest request); + String getGasData(String lon,String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java index fa84fb7..1fac28e 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.springframework.web.multipart.MultipartFile; @@ -22,4 +23,7 @@ // List> parseSourceFile(MultipartFile file); // // boolean BusPipeOverstock(List> urls); + //计算耦合分析结果 + boolean riskCalculate(); + List getOverstockDTOList(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java index 94232ca..2b43e56 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -1,11 +1,14 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; import com.casic.missiles.modular.system.entity.AnalysisCoupling; import com.casic.missiles.modular.system.service.IAnalysisCouplingService; import org.springframework.stereotype.Service; +import java.util.Date; + /** *

* 耦合关联分析 服务实现类 @@ -17,4 +20,25 @@ @Service public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + @Override + public void saveResult(String couplingResult, String latitude, String longitude, String recognitionPrecision, String gas, String riskValue, String gamma) { + this.baseMapper.insert( + new AnalysisCoupling(System.currentTimeMillis() + "", + DateUtil.formatDateTime(new Date()), + couplingResult, + recognitionPrecision, + "0.6", + riskValue, + "0.2", + "80", + "0.1", + gas, + "0.1", + latitude, + longitude, + "", + DateUtil.formatDateTime(new Date()) + ) + ); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java index a489570..0526373 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.service.impl; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.dto.RecognitionRequest; import com.casic.missiles.modular.system.entity.AlarmRecord; import com.casic.missiles.modular.system.entity.AnalysisRecognition; @@ -39,9 +41,9 @@ @Override public boolean saveRecognition(RecognitionRequest recognitionRequest) { - Long taskId =iBusPatrolTaskService.getTaskByTime(recognitionRequest.getRecognizeTime()); + Long taskId = iBusPatrolTaskService.getTaskByTime(recognitionRequest.getRecognizeTime()); //保存报警信息 - AlarmRecord alarmRecord =new AlarmRecord(); + AlarmRecord alarmRecord = new AlarmRecord(); alarmRecord.setTaskId(taskId); alarmRecord.setAlarmStatus("0"); String position = recognitionRequest.getRecognizePostion(); @@ -60,18 +62,18 @@ iAlarmRecordService.saveAlarm(alarmRecord); //保存识别记录 recognitionRequest.setRecognitionCode(NumberGeneratorUtil.getContactNo(DictEnum.RECOGNITION_PREFIX, this.baseMapper.selectMaxCode())); - AnalysisRecognition analysisRecognition = new AnalysisRecognition(recognitionRequest,taskId+"",alarmRecord.getAlarmCode()); + AnalysisRecognition analysisRecognition = new AnalysisRecognition(recognitionRequest, taskId + "", alarmRecord.getAlarmCode()); return this.save(analysisRecognition); } @Override public AnalysisRecognitionDTO detail(Long id) { AnalysisRecognitionDTO analysisRecognitionDTO = this.baseMapper.detail(id); - if(null!=analysisRecognitionDTO){ - analysisRecognitionDTO.setAlarmStatus(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getAlarmStatus())? - dictService.getDictNameByCode("alarmStatus",analysisRecognitionDTO.getAlarmStatus()):""); - analysisRecognitionDTO.setCancelReason(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getCancelReason())? - dictService.getDictNameByCode("cancelReason",analysisRecognitionDTO.getCancelReason()):""); + if (null != analysisRecognitionDTO) { + analysisRecognitionDTO.setAlarmStatus(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getAlarmStatus()) ? + dictService.getDictNameByCode("alarmStatus", analysisRecognitionDTO.getAlarmStatus()) : ""); + analysisRecognitionDTO.setCancelReason(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getCancelReason()) ? + dictService.getDictNameByCode("cancelReason", analysisRecognitionDTO.getCancelReason()) : ""); } return analysisRecognitionDTO; } @@ -80,10 +82,20 @@ public boolean batchDelete(List ids) { //先删除关联的报警记录表 List analysisRecognitionList = this.listByIds(ids); - List alarmRecords= analysisRecognitionList.stream().map(AnalysisRecognition::getAlarmCode).collect(Collectors.toList()); - if(ObjectUtil.isNotEmpty(alarmRecords)&&alarmRecords.size()>0){ + List alarmRecords = analysisRecognitionList.stream().map(AnalysisRecognition::getAlarmCode).collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(alarmRecords) && alarmRecords.size() > 0) { iAlarmRecordService.deleteByAlarmCodes(alarmRecords); } return this.removeByIds(ids); } + + @Override + public CalculateDTO getCalculateDTO() { + List list = this.baseMapper.getCalculateList(); + if (list != null && list.size() > 0) + return ObjectUtil.isAllNotEmpty(list.get(0).getLongitude(), list.get(0).getLatitude()) ? + list.get(0) : null; + return null; + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java index d7c54d6..690ad5b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -110,4 +110,10 @@ queryWrapper.orderByDesc("TS"); return this.baseMapper.selectPage(page, queryWrapper); } + + @Override + public String getGasData(String lon, String lat) { + + return this.baseMapper.getGasData(lon, lat); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java index fafc4c1..e535bff 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -1,11 +1,23 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.dto.CalculateDTO; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.RiskCalculationUtil; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import java.util.Random; + /** *

* 管线占压基本信息表 服务实现类 @@ -18,6 +30,52 @@ public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + @Resource + private IAnalysisRecognitionService recognitionService; + @Resource + private IBusPatrolTrackService patrolTrackService; + @Resource + private IBusPipeOverstockService overstockService; + @Resource + private IAnalysisCouplingService couplingService; + @Override + /* 每两秒执行一次 */ + @Scheduled(cron = "0/30 * * * * ?") + public boolean riskCalculate() { + System.out.println("开始执行了--->"); + //1.先获取半分钟内识别记录最新数据 + CalculateDTO calculateDTO = recognitionService.getCalculateDTO(); + if (null != calculateDTO) { + //2.根据经纬度匹配当前点燃气的数值 + String gas = patrolTrackService.getGasData(calculateDTO.getLongitude(), calculateDTO.getLatitude()); + //3.计算占压风险值 + double riskValue = RiskCalculationUtil.getZhanya(calculateDTO.getLongitude(), calculateDTO.getLatitude(), overstockService.getOverstockDTOList()); + + //4.计算耦合结果 + double gamma = RiskCalculationUtil.calculateRisk((int) riskValue, + Double.valueOf(ObjectUtil.isNotEmpty(gas) ? gas : "0"), + Integer.valueOf(calculateDTO.getRecognitionPrecision()), + new Random().nextInt(101)); + + System.out.println("风险分数: " + gamma); + + String result = RiskCalculationUtil.checkRiskLevel(gamma); + + couplingService.saveResult(result, + calculateDTO.getLatitude(), + calculateDTO.getLongitude(), + calculateDTO.getRecognitionPrecision(), + gas, + riskValue+"", + gamma+""); + } + return true; + } + + @Override + public List getOverstockDTOList() { + return this.baseMapper.getOverstockDTOList(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/RiskCalculationUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/RiskCalculationUtil.java new file mode 100644 index 0000000..02c2404 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/RiskCalculationUtil.java @@ -0,0 +1,165 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.modular.system.dto.OverstockDTO; +import org.locationtech.spatial4j.distance.DistanceUtils; +import org.springframework.stereotype.Component; + +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.List; + +@Component +public class RiskCalculationUtil { + + + // Convert gas concentration data to risk value + public static double convertToBeta2(int x) { + return x / 100.0; + } + + // Calculate risk levels + public static String checkRiskLevel(double value) { + if (value == 0) { + return "风险等级:低"; + } else if (value <= 60) { + return "风险等级:中"; + } else if (value > 60 && value <= 80) { + return "风险等级:中高"; + } else { + return "风险等级:高"; + } + } + + // Calculate risk based on weights and values + public static double calculateRisk(int beta1, double beta2, int beta3, int beta4) { + double[] alphas = calculateAlpha(beta1, beta2, beta3, beta4); + double alpha1 = alphas[0]; + double alpha2 = alphas[1]; + double alpha3 = alphas[2]; + double alpha4 = alphas[3]; + + double gamma = alpha1 * beta1 + alpha2 * beta2 + alpha3 * beta3 + alpha4 * beta4; + + return gamma / (alpha1 + alpha2 + alpha3 + alpha4); + } + + // Calculate alpha values based on given conditions + public static double[] calculateAlpha(int beta1, double beta2, int beta3, int beta4) { + double alpha1, alpha2, alpha3, alpha4; + double[] alphas = new double[4]; + + // Calculate alpha1 (占压风险权重) + if (beta1 == 0) { + alpha1 = 0; + } else if (beta1 <= 60) { + alpha1 = 0.2; + } else if (beta1 <= 80) { + alpha1 = 0.3; + } else { + alpha1 = 0.5; + System.out.println("占压风险权重: " + alpha1); + } + + // Calculate alpha2 (浓度风险权重) + if (beta2 == 0) { + alpha2 = 0; + } else if (beta2 <= 10) { + alpha2 = 0.1; + } else if (beta2 > 10 && beta2 <= 40) { + alpha2 = 0.3; + } else if (beta2 > 40 && beta2 <= 80) { + alpha2 = 0.6; + } else { + alpha2 = 0.9; + System.out.println("浓度风险权重: " + alpha2); + } + + // Calculate alpha3 (三方风险权重) + if (beta3 == 0) { + alpha3 = 0; + } else if (beta3 <= 40) { + alpha3 = 0.1; + } else if (beta3 <= 60) { + alpha3 = 0.2; + } else if (beta3 <= 80) { + alpha3 = 0.3; + } else { + alpha3 = 0.4; + System.out.println("三方风险权重: " + alpha3); + } + + // Calculate alpha4 (空洞风险权重) + if (beta4 == 0) { + alpha4 = 0; + } else if (beta4 <= 60) { + alpha4 = 0.2; + } else if (beta4 <= 80) { + alpha4 = 0.3; + } else { + alpha4 = 0.5; + System.out.println("空洞风险权重: " + alpha4); + } + + alphas[0] = alpha1; + alphas[1] = alpha2; + alphas[2] = alpha3; + alphas[3] = alpha4; + + return alphas; + } + + + public static double distance(double lonA, double latA, double lonB, double latB) { + double aLat = DistanceUtils.toRadians(latA); + double aLng = DistanceUtils.toRadians(lonA); + double bLat = DistanceUtils.toRadians(latB); + double bLng = DistanceUtils.toRadians(lonB); + + double nauticalMiles = DistanceUtils.distHaversineRAD(aLat, aLng, bLat, bLng) * DistanceUtils.EARTH_MEAN_RADIUS_KM; + DecimalFormat df = new DecimalFormat("#.000"); + return Double.parseDouble(df.format(nauticalMiles)) * 1000; + } + + + public static double getZhanya(String lon, String lat, List list) { + List zhanyaDistances = new ArrayList<>(); + //TODO 读库获取最新的车辆位置和占压库里面的点位置经纬度,分别计算距离 + for (int i = 0; i < list.size(); i++) { + zhanyaDistances.add(distance(Double.parseDouble(lon), + Double.parseDouble(lat), + Double.parseDouble(list.get(i).getLongitude()), + Double.parseDouble(list.get(i).getLatitude()))); + } + + double zhanyaResult = calculateRisk(zhanyaDistances); + return zhanyaResult; + } + + + public static double calculateRisk(List distances) { + double maxDistance = 0; + double multiplier = 1.0; + + // Find the maximum distance + for (Double distance : distances) { + if (distance > maxDistance) { + maxDistance = distance; + } + } + + // Calculate the multiplier based on weights + for (Double distance : distances) { + if (distance > 1000) { + multiplier *= 0.05; + }else if (distance > 80) { + multiplier *= 1.01; + } else if (distance > 60) { + multiplier *= 1.02; + } else if (distance < 60) { + multiplier *= 1.04; + } + } + + return maxDistance * multiplier; + } +} diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d45d73d..dd16abb 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -83,6 +83,12 @@ 0.7.0 + + org.locationtech.spatial4j + spatial4j + 0.8 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java new file mode 100644 index 0000000..fe018ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRecordController.java @@ -0,0 +1,142 @@ +package com.casic.missiles.modular.system.config.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.*; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +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.beans.factory.annotation.Value; +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.Objects; +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; + @Value("${casic.file.uploadPath}") + private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + @ResponseBody + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + @ResponseBody + public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警,返回报警编号") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + @ResponseBody + 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))); + } + + @ApiOperation("报警处置") + @PostMapping("/processAlarm") + @ResponseBody + public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); + } + + + @ApiOperation("获取报警视频地址") + @PostMapping("/getAlarmVideo") + @ResponseBody + public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); + } + + + @ApiOperation("报警详情") + @PostMapping("/detail") + @ResponseBody + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); + } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java new file mode 100644 index 0000000..2461968 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AlarmRuleController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.AlarmRule; +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.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/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/config/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..99a1e3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisCouplingController.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.config.controller; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "耦合关联分析管理") +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..4f4ff0f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/AnalysisRecognitionController.java @@ -0,0 +1,75 @@ +package com.casic.missiles.modular.system.config.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.AnalysisRecognitionRequest; +import com.casic.missiles.modular.system.dto.IdDTO; +import com.casic.missiles.modular.system.dto.IdsDTO; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +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.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; +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "第三方智能识别管理") +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController extends ExportController { + + @Resource + private IAnalysisRecognitionService recognitionService; + + @ApiOperation("识别记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + //toDo:加入其他的筛选条件 + return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); + } + + @ApiOperation("识别详情") + @PostMapping("/detail") + public Object detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.detail(idDTO.getId())); + } + + @ApiOperation("批量删除") + @PostMapping("/batchDelete") + public Object batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..c5e04fe --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.config.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/config/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java new file mode 100644 index 0000000..9c1b58e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusHoleController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.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.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "地下空洞基本信息接口") +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java new file mode 100644 index 0000000..db2ba0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusOverViewController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.modular.system.config.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.dto.TimeRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +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.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/busOverView") +public class BusOverViewController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("巡检车信息") + @PostMapping("/carList") + public ReturnDTO carList() { + return ReturnUtil.success(iBusPatrolCarService.getCarList()); + } + + + @ApiOperation("根据时间获取巡检任务和公里数") + @PostMapping("/taskCount") + public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); + } + + + @ApiOperation("巡检任务趋势") + @PostMapping("/taskTime") + public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { + return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java new file mode 100644 index 0000000..3de1cbf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolCarController.java @@ -0,0 +1,59 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } + + + @ApiOperation("更新车辆位置、在线离线状态及最新时间") + @PostMapping("/updateStatus") + public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); + + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..8e27f7c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTaskController.java @@ -0,0 +1,121 @@ +package com.casic.missiles.modular.system.config.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.*; +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.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.DistanceUtil; +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 javax.servlet.http.HttpServletResponse; +import java.util.List; +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; + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + @ResponseBody + 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") + @ResponseBody + 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))); + } + + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + } + + /** + * 批量巡检任务记录 + */ + @ApiOperation("批量导出巡检任务记录") + @RequestMapping(value = "/taskExport") + @ResponseBody + public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { + List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); + iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); + } + + @ApiOperation("任务详情,即该任务对应的轨迹") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); + } + + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); + } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..c86d924 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPatrolTrackController.java @@ -0,0 +1,52 @@ +package com.casic.missiles.modular.system.config.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.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +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.*; + +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") + @ResponseBody + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..3f10902 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/BusPipeOverstockController.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.config.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.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.omg.CORBA.Object; +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.RestController; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "管线占压基本信息接口") +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + @ApiOperation("管线占压风险等级计算") + @PostMapping("/riskCalculate") + public ReturnDTO riskCalculate() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java new file mode 100644 index 0000000..eaf97d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.config.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") // 设置需要生成的表名 + //.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/config/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java new file mode 100644 index 0000000..098fb9e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.config.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/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java deleted file mode 100644 index bdc929a..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ /dev/null @@ -1,141 +0,0 @@ -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.*; -import com.casic.missiles.modular.system.entity.AlarmRecord; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -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.beans.factory.annotation.Value; -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.Objects; -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; - @Value("${casic.file.uploadPath}") - private String uploadPath; - @Value("${casic.ffmpeg.path}") - private String ffmpegPath; - - @ApiOperation("算法接口") - @PostMapping("/getrecognitionRecords") - @ResponseBody - public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { - - return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); - } - - @ApiOperation("保存图片") - @PostMapping("/savePictures") - @ResponseBody - public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { - String path = ""; - try { - path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); - } catch (IOException e) { - e.printStackTrace(); - } - return ReturnUtil.success(path); - } - - @ApiOperation("新建报警,返回报警编号") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody AlarmRecord alarmRecord) { - return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); - } - - - @ApiOperation("告警记录列表") - @PostMapping("/listPage") - @ResponseBody - 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))); - } - - @ApiOperation("报警处置") - @PostMapping("/processAlarm") - @ResponseBody - public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.processAlarm(request)); - } - - - @ApiOperation("获取报警视频地址") - @PostMapping("/getAlarmVideo") - @ResponseBody - public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(iAlarmRecordService.getAlarmVideo(request)); - } - - - @ApiOperation("报警详情") - @PostMapping("/detail") - @ResponseBody - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); - } - - @ApiOperation("根据报警编号查询报警图片或视频路径") - @PostMapping("/getAlarmPath") - @ResponseBody - public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { - Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { - throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); - }); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); - return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); - } -} - 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 deleted file mode 100644 index f062919..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.AlarmRule; -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.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/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 deleted file mode 100644 index 3366498..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.modular.system.controller; - - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "耦合关联分析管理") -@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 deleted file mode 100644 index 6d4f8c0..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java +++ /dev/null @@ -1,75 +0,0 @@ -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.AnalysisRecognitionRequest; -import com.casic.missiles.modular.system.dto.IdDTO; -import com.casic.missiles.modular.system.dto.IdsDTO; -import com.casic.missiles.modular.system.entity.AnalysisRecognition; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; -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.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; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "第三方智能识别管理") -@RestController -@RequestMapping("/system/analysisRecognition") -public class AnalysisRecognitionController extends ExportController { - - @Resource - private IAnalysisRecognitionService recognitionService; - - @ApiOperation("识别记录列表") - @PostMapping("/listPage") - public Object listPage(@RequestBody AnalysisRecognitionRequest request, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - Page page = PageFactory.defaultPage(); - //toDo:加入其他的筛选条件 - return ReturnUtil.success(super.packForBT(recognitionService.page(page,new QueryWrapper<>()))); - } - - @ApiOperation("识别详情") - @PostMapping("/detail") - public Object detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.detail(idDTO.getId())); - } - - @ApiOperation("批量删除") - @PostMapping("/batchDelete") - public Object batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(recognitionService.batchDelete(idsDTO.getIds())); - } - -} - 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 deleted file mode 100644 index 1436c18..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index d97a113..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusHole; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusHoleService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "地下空洞基本信息接口") -@RestController -@RequestMapping("/system/busHole") -public class BusHoleController extends ExportController { - @Autowired - private IBusHoleService iBusHoleService; - @ApiOperation("地下空洞基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); - } - - @ApiOperation("新建地下空洞基本信息") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusHole busHole) { - return ReturnUtil.success(iBusHoleService.save(busHole)); - } - - @ApiOperation("编辑地下空洞基本信息") - @PostMapping("/edit") - @ResponseBody - public Object edit(@RequestBody BusHole busHole) { - Assert.isFalse(Objects.isNull(busHole.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusHoleService.updateById(busHole)); - } - -} - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java deleted file mode 100644 index a90f0bc..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java +++ /dev/null @@ -1,62 +0,0 @@ -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.page.PageFactory; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.dto.TimeRequest; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.service.IBusPatrolCarService; -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.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/busOverView") -public class BusOverViewController { - - @Resource - private IBusPatrolCarService iBusPatrolCarService; - @Resource - private IBusPatrolTaskService iBusPatrolTaskService; - - @ApiOperation("巡检车信息") - @PostMapping("/carList") - public ReturnDTO carList() { - return ReturnUtil.success(iBusPatrolCarService.getCarList()); - } - - - @ApiOperation("根据时间获取巡检任务和公里数") - @PostMapping("/taskCount") - public ReturnDTO taskCount(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskCount(timeRequest.getBeginDate(),timeRequest.getEndDate())); - } - - - @ApiOperation("巡检任务趋势") - @PostMapping("/taskTime") - public ReturnDTO taskTime(@RequestBody TimeRequest timeRequest) { - return ReturnUtil.success(iBusPatrolTaskService.taskTime(timeRequest.getTimeType())); - } - - -} - 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 deleted file mode 100644 index 065a164..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java +++ /dev/null @@ -1,59 +0,0 @@ -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.dto.ReturnDTO; -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 ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); - - } - - @ApiOperation("车辆列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); - } - - - @ApiOperation("更新车辆位置、在线离线状态及最新时间") - @PostMapping("/updateStatus") - public ReturnDTO updateStatus(@RequestBody BusPatrolCar busPatrolCar) { - - return ReturnUtil.success(iBusPatrolCarService.updateById(busPatrolCar)); - - } -} - 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 deleted file mode 100644 index 52383f9..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java +++ /dev/null @@ -1,121 +0,0 @@ -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.*; -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.service.IBusPatrolTrackService; -import com.casic.missiles.modular.system.util.DistanceUtil; -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 javax.servlet.http.HttpServletResponse; -import java.util.List; -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; - @Resource - private IBusPatrolTrackService iBusPatrolTrackService; - - @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") - @PostMapping("/add") - @ResponseBody - public Object add(@RequestBody BusPatrolTask busPatrolTask) { - return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); - } - - @ApiOperation("编辑巡检任务") - @PostMapping("/edit") - @ResponseBody - 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") - @ResponseBody - 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))); - } - - @ApiOperation("任务结束时,调用此接口") - @PostMapping("/endTask") - @ResponseBody - public ReturnDTO endTask(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); -// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); - } - - /** - * 批量巡检任务记录 - */ - @ApiOperation("批量导出巡检任务记录") - @RequestMapping(value = "/taskExport") - @ResponseBody - public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds()); - iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response); - } - - @ApiOperation("任务详情,即该任务对应的轨迹") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO detail(@RequestBody IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); - } - - @ApiOperation("批量删除任务") - @PostMapping("/batchDelete") - @ResponseBody - public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { - Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); - } - -// @ApiOperation("test") -// @PostMapping("/test") -// public ReturnDTO test( String longitude,String latitude) { -// -// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); -// } -} - 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 deleted file mode 100644 index a9cd854..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java +++ /dev/null @@ -1,52 +0,0 @@ -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.dto.PatrolTrackRequest; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -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.*; - -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") - @ResponseBody - public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { - - return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); - - } - - @ApiOperation("巡检轨迹列表") - @PostMapping("/listPage") - @ResponseBody - public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); - } -} - 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 deleted file mode 100644 index 2375a3f..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ /dev/null @@ -1,53 +0,0 @@ -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.response.ResponseData; -import com.casic.missiles.modular.system.dto.ReturnDTO; -import com.casic.missiles.modular.system.entity.BusPatrolCar; -import com.casic.missiles.modular.system.entity.BusPipeOverstock; -import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; -import com.casic.missiles.modular.system.exception.BusinessException; -import com.casic.missiles.modular.system.service.IBusPipeOverstockService; -import com.casic.missiles.modular.system.util.ReturnUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - -/** - *

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

- * - * @author zt - * @since 2023-07-20 - */ -@Api(tags = "管线占压基本信息接口") -@RestController -@RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController extends ExportController { - @Autowired - private IBusPipeOverstockService iBusPipeOverstockService; - - @ApiOperation("管线占压基本信息列表") - @PostMapping("/listPage") - public ReturnDTO listPage() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); - } - - - -} - 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 deleted file mode 100644 index 5026d02..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -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") // 设置需要生成的表名 - //.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 deleted file mode 100644 index 87b6fec..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java +++ /dev/null @@ -1,41 +0,0 @@ -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/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java index 21ed2f6..80a0579 100644 --- 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 @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.system.dto.AlarmRecordDTO; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.entity.AnalysisRecognition; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* 第三方施工智能识别分析 Mapper 接口 @@ -24,4 +27,6 @@ AnalysisRecognitionDTO detail(@Param("id") Long id); + List getCalculateList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java index 0433d60..f7d6487 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +19,6 @@ @Mapper public interface BusPatrolTrackMapper extends BaseMapper { + String getGasData(@Param("lon")String lon,@Param("lat")String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java index 43cf910..755bf53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 管线占压基本信息表 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusPipeOverstockMapper extends BaseMapper { + List getOverstockDTOList(); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml index a59d231..d6c00fb 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -44,5 +44,17 @@ WHERE pt.VALID=0 AND pc.VALID=0 AND bd.VALID=0 AND ar.id =#{id} + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml index 32d843a..82be754 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -56,7 +56,7 @@ and bt.END_DATE <= #{request.endDate} - and STATUS = #{request.status} + and bt.STATUS = #{request.status} ORDER BY TS DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml index b5a501e..82b46c3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -23,4 +23,12 @@ ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 28e3411..6402e51 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -66,4 +66,13 @@ Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java new file mode 100644 index 0000000..967dede --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/CalculateDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class CalculateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private String recognitionTime; + + private String latitude; + + private String longitude; + + private String recognitionPrecision; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java new file mode 100644 index 0000000..9efd3d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/OverstockDTO.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

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

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +public class OverstockDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String latitude; + + private String longitude; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java index 3d3b34d..ded806d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -37,7 +37,7 @@ @ApiModelProperty("风险耦合分析时间") @TableField("COUPLING_TIME") - private LocalDateTime couplingTime; + private String couplingTime; @ApiModelProperty("风险耦合分析结果") @TableField("COUPLING_RESULT") @@ -47,19 +47,19 @@ @TableField("RECOGNITION_LEVEL") private String recognitionLevel; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("RECOGNITION_VALUE") private String recognitionValue; - @ApiModelProperty("管线疑似占压风险等级 ") + @ApiModelProperty("管线疑似占压风险等级") @TableField("OVERSTOCK_LEVE") private String overstockLeve; - @ApiModelProperty("影响因子 ") + @ApiModelProperty("影响因子") @TableField("OVERSTOCK_VALUE") private String overstockValue; - @ApiModelProperty("道路地下空洞风险等级 ") + @ApiModelProperty("道路地下空洞风险等级") @TableField("HOLE_LEVE") private String holeLeve; @@ -67,7 +67,7 @@ @TableField("HOLE_VALUE") private String holeValue; - @ApiModelProperty("燃气泄漏风险等级 ") + @ApiModelProperty("燃气泄漏风险等级") @TableField("GAS_LEVEL") private String gasLevel; @@ -89,7 +89,33 @@ @ApiModelProperty("时间") @TableField("TS") - private LocalDateTime ts; + private String ts; + public AnalysisCoupling() { + } + public AnalysisCoupling(String couplingCode, String couplingTime, + String couplingResult, String recognitionLevel, + String recognitionValue, String overstockLeve, + String overstockValue, String holeLeve, + String holeValue, String gasLevel, + String gasValue, String latitude, + String longitude, String position, + String ts) { + this.couplingCode = couplingCode; + this.couplingTime = couplingTime; + this.couplingResult = couplingResult; + this.recognitionLevel = recognitionLevel; + this.recognitionValue = recognitionValue; + this.overstockLeve = overstockLeve; + this.overstockValue = overstockValue; + this.holeLeve = holeLeve; + this.holeValue = holeValue; + this.gasLevel = gasLevel; + this.gasValue = gasValue; + this.latitude = latitude; + this.longitude = longitude; + this.position = position; + this.ts = ts; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java index ddbb965..83b719d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -13,4 +13,12 @@ */ public interface IAnalysisCouplingService extends IService { + void saveResult(String couplingResult, + String latitude, + String longitude, + String recognitionPrecision, + String gas, + String riskValue, + String gamma); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java index c46b438..45d4d05 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.dto.RecognitionRequest; import com.casic.missiles.modular.system.entity.AnalysisRecognition; @@ -22,4 +23,10 @@ AnalysisRecognitionDTO detail(Long id); boolean batchDelete( List ids); + + /** + *获取30秒前的最新的数据 + * @return + */ + CalculateDTO getCalculateDTO(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 4119a81..fdbda65 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -28,4 +28,6 @@ Page listPage(Page page, PatrolTrackRequest request); + String getGasData(String lon,String lat); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java index fa84fb7..1fac28e 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; import org.springframework.web.multipart.MultipartFile; @@ -22,4 +23,7 @@ // List> parseSourceFile(MultipartFile file); // // boolean BusPipeOverstock(List> urls); + //计算耦合分析结果 + boolean riskCalculate(); + List getOverstockDTOList(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java index 94232ca..2b43e56 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -1,11 +1,14 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; import com.casic.missiles.modular.system.entity.AnalysisCoupling; import com.casic.missiles.modular.system.service.IAnalysisCouplingService; import org.springframework.stereotype.Service; +import java.util.Date; + /** *

* 耦合关联分析 服务实现类 @@ -17,4 +20,25 @@ @Service public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + @Override + public void saveResult(String couplingResult, String latitude, String longitude, String recognitionPrecision, String gas, String riskValue, String gamma) { + this.baseMapper.insert( + new AnalysisCoupling(System.currentTimeMillis() + "", + DateUtil.formatDateTime(new Date()), + couplingResult, + recognitionPrecision, + "0.6", + riskValue, + "0.2", + "80", + "0.1", + gas, + "0.1", + latitude, + longitude, + "", + DateUtil.formatDateTime(new Date()) + ) + ); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java index a489570..0526373 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.service.impl; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; import com.casic.missiles.modular.system.dto.AnalysisRecognitionDTO; +import com.casic.missiles.modular.system.dto.CalculateDTO; import com.casic.missiles.modular.system.dto.RecognitionRequest; import com.casic.missiles.modular.system.entity.AlarmRecord; import com.casic.missiles.modular.system.entity.AnalysisRecognition; @@ -39,9 +41,9 @@ @Override public boolean saveRecognition(RecognitionRequest recognitionRequest) { - Long taskId =iBusPatrolTaskService.getTaskByTime(recognitionRequest.getRecognizeTime()); + Long taskId = iBusPatrolTaskService.getTaskByTime(recognitionRequest.getRecognizeTime()); //保存报警信息 - AlarmRecord alarmRecord =new AlarmRecord(); + AlarmRecord alarmRecord = new AlarmRecord(); alarmRecord.setTaskId(taskId); alarmRecord.setAlarmStatus("0"); String position = recognitionRequest.getRecognizePostion(); @@ -60,18 +62,18 @@ iAlarmRecordService.saveAlarm(alarmRecord); //保存识别记录 recognitionRequest.setRecognitionCode(NumberGeneratorUtil.getContactNo(DictEnum.RECOGNITION_PREFIX, this.baseMapper.selectMaxCode())); - AnalysisRecognition analysisRecognition = new AnalysisRecognition(recognitionRequest,taskId+"",alarmRecord.getAlarmCode()); + AnalysisRecognition analysisRecognition = new AnalysisRecognition(recognitionRequest, taskId + "", alarmRecord.getAlarmCode()); return this.save(analysisRecognition); } @Override public AnalysisRecognitionDTO detail(Long id) { AnalysisRecognitionDTO analysisRecognitionDTO = this.baseMapper.detail(id); - if(null!=analysisRecognitionDTO){ - analysisRecognitionDTO.setAlarmStatus(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getAlarmStatus())? - dictService.getDictNameByCode("alarmStatus",analysisRecognitionDTO.getAlarmStatus()):""); - analysisRecognitionDTO.setCancelReason(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getCancelReason())? - dictService.getDictNameByCode("cancelReason",analysisRecognitionDTO.getCancelReason()):""); + if (null != analysisRecognitionDTO) { + analysisRecognitionDTO.setAlarmStatus(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getAlarmStatus()) ? + dictService.getDictNameByCode("alarmStatus", analysisRecognitionDTO.getAlarmStatus()) : ""); + analysisRecognitionDTO.setCancelReason(ObjectUtil.isNotEmpty(analysisRecognitionDTO.getCancelReason()) ? + dictService.getDictNameByCode("cancelReason", analysisRecognitionDTO.getCancelReason()) : ""); } return analysisRecognitionDTO; } @@ -80,10 +82,20 @@ public boolean batchDelete(List ids) { //先删除关联的报警记录表 List analysisRecognitionList = this.listByIds(ids); - List alarmRecords= analysisRecognitionList.stream().map(AnalysisRecognition::getAlarmCode).collect(Collectors.toList()); - if(ObjectUtil.isNotEmpty(alarmRecords)&&alarmRecords.size()>0){ + List alarmRecords = analysisRecognitionList.stream().map(AnalysisRecognition::getAlarmCode).collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(alarmRecords) && alarmRecords.size() > 0) { iAlarmRecordService.deleteByAlarmCodes(alarmRecords); } return this.removeByIds(ids); } + + @Override + public CalculateDTO getCalculateDTO() { + List list = this.baseMapper.getCalculateList(); + if (list != null && list.size() > 0) + return ObjectUtil.isAllNotEmpty(list.get(0).getLongitude(), list.get(0).getLatitude()) ? + list.get(0) : null; + return null; + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java index d7c54d6..690ad5b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -110,4 +110,10 @@ queryWrapper.orderByDesc("TS"); return this.baseMapper.selectPage(page, queryWrapper); } + + @Override + public String getGasData(String lon, String lat) { + + return this.baseMapper.getGasData(lon, lat); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java index fafc4c1..e535bff 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -1,11 +1,23 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.dto.CalculateDTO; +import com.casic.missiles.modular.system.dto.OverstockDTO; import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.RiskCalculationUtil; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import java.util.Random; + /** *

* 管线占压基本信息表 服务实现类 @@ -18,6 +30,52 @@ public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + @Resource + private IAnalysisRecognitionService recognitionService; + @Resource + private IBusPatrolTrackService patrolTrackService; + @Resource + private IBusPipeOverstockService overstockService; + @Resource + private IAnalysisCouplingService couplingService; + @Override + /* 每两秒执行一次 */ + @Scheduled(cron = "0/30 * * * * ?") + public boolean riskCalculate() { + System.out.println("开始执行了--->"); + //1.先获取半分钟内识别记录最新数据 + CalculateDTO calculateDTO = recognitionService.getCalculateDTO(); + if (null != calculateDTO) { + //2.根据经纬度匹配当前点燃气的数值 + String gas = patrolTrackService.getGasData(calculateDTO.getLongitude(), calculateDTO.getLatitude()); + //3.计算占压风险值 + double riskValue = RiskCalculationUtil.getZhanya(calculateDTO.getLongitude(), calculateDTO.getLatitude(), overstockService.getOverstockDTOList()); + + //4.计算耦合结果 + double gamma = RiskCalculationUtil.calculateRisk((int) riskValue, + Double.valueOf(ObjectUtil.isNotEmpty(gas) ? gas : "0"), + Integer.valueOf(calculateDTO.getRecognitionPrecision()), + new Random().nextInt(101)); + + System.out.println("风险分数: " + gamma); + + String result = RiskCalculationUtil.checkRiskLevel(gamma); + + couplingService.saveResult(result, + calculateDTO.getLatitude(), + calculateDTO.getLongitude(), + calculateDTO.getRecognitionPrecision(), + gas, + riskValue+"", + gamma+""); + } + return true; + } + + @Override + public List getOverstockDTOList() { + return this.baseMapper.getOverstockDTOList(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/RiskCalculationUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/RiskCalculationUtil.java new file mode 100644 index 0000000..02c2404 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/RiskCalculationUtil.java @@ -0,0 +1,165 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.modular.system.dto.OverstockDTO; +import org.locationtech.spatial4j.distance.DistanceUtils; +import org.springframework.stereotype.Component; + +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.List; + +@Component +public class RiskCalculationUtil { + + + // Convert gas concentration data to risk value + public static double convertToBeta2(int x) { + return x / 100.0; + } + + // Calculate risk levels + public static String checkRiskLevel(double value) { + if (value == 0) { + return "风险等级:低"; + } else if (value <= 60) { + return "风险等级:中"; + } else if (value > 60 && value <= 80) { + return "风险等级:中高"; + } else { + return "风险等级:高"; + } + } + + // Calculate risk based on weights and values + public static double calculateRisk(int beta1, double beta2, int beta3, int beta4) { + double[] alphas = calculateAlpha(beta1, beta2, beta3, beta4); + double alpha1 = alphas[0]; + double alpha2 = alphas[1]; + double alpha3 = alphas[2]; + double alpha4 = alphas[3]; + + double gamma = alpha1 * beta1 + alpha2 * beta2 + alpha3 * beta3 + alpha4 * beta4; + + return gamma / (alpha1 + alpha2 + alpha3 + alpha4); + } + + // Calculate alpha values based on given conditions + public static double[] calculateAlpha(int beta1, double beta2, int beta3, int beta4) { + double alpha1, alpha2, alpha3, alpha4; + double[] alphas = new double[4]; + + // Calculate alpha1 (占压风险权重) + if (beta1 == 0) { + alpha1 = 0; + } else if (beta1 <= 60) { + alpha1 = 0.2; + } else if (beta1 <= 80) { + alpha1 = 0.3; + } else { + alpha1 = 0.5; + System.out.println("占压风险权重: " + alpha1); + } + + // Calculate alpha2 (浓度风险权重) + if (beta2 == 0) { + alpha2 = 0; + } else if (beta2 <= 10) { + alpha2 = 0.1; + } else if (beta2 > 10 && beta2 <= 40) { + alpha2 = 0.3; + } else if (beta2 > 40 && beta2 <= 80) { + alpha2 = 0.6; + } else { + alpha2 = 0.9; + System.out.println("浓度风险权重: " + alpha2); + } + + // Calculate alpha3 (三方风险权重) + if (beta3 == 0) { + alpha3 = 0; + } else if (beta3 <= 40) { + alpha3 = 0.1; + } else if (beta3 <= 60) { + alpha3 = 0.2; + } else if (beta3 <= 80) { + alpha3 = 0.3; + } else { + alpha3 = 0.4; + System.out.println("三方风险权重: " + alpha3); + } + + // Calculate alpha4 (空洞风险权重) + if (beta4 == 0) { + alpha4 = 0; + } else if (beta4 <= 60) { + alpha4 = 0.2; + } else if (beta4 <= 80) { + alpha4 = 0.3; + } else { + alpha4 = 0.5; + System.out.println("空洞风险权重: " + alpha4); + } + + alphas[0] = alpha1; + alphas[1] = alpha2; + alphas[2] = alpha3; + alphas[3] = alpha4; + + return alphas; + } + + + public static double distance(double lonA, double latA, double lonB, double latB) { + double aLat = DistanceUtils.toRadians(latA); + double aLng = DistanceUtils.toRadians(lonA); + double bLat = DistanceUtils.toRadians(latB); + double bLng = DistanceUtils.toRadians(lonB); + + double nauticalMiles = DistanceUtils.distHaversineRAD(aLat, aLng, bLat, bLng) * DistanceUtils.EARTH_MEAN_RADIUS_KM; + DecimalFormat df = new DecimalFormat("#.000"); + return Double.parseDouble(df.format(nauticalMiles)) * 1000; + } + + + public static double getZhanya(String lon, String lat, List list) { + List zhanyaDistances = new ArrayList<>(); + //TODO 读库获取最新的车辆位置和占压库里面的点位置经纬度,分别计算距离 + for (int i = 0; i < list.size(); i++) { + zhanyaDistances.add(distance(Double.parseDouble(lon), + Double.parseDouble(lat), + Double.parseDouble(list.get(i).getLongitude()), + Double.parseDouble(list.get(i).getLatitude()))); + } + + double zhanyaResult = calculateRisk(zhanyaDistances); + return zhanyaResult; + } + + + public static double calculateRisk(List distances) { + double maxDistance = 0; + double multiplier = 1.0; + + // Find the maximum distance + for (Double distance : distances) { + if (distance > maxDistance) { + maxDistance = distance; + } + } + + // Calculate the multiplier based on weights + for (Double distance : distances) { + if (distance > 1000) { + multiplier *= 0.05; + }else if (distance > 80) { + multiplier *= 1.01; + } else if (distance > 60) { + multiplier *= 1.02; + } else if (distance < 60) { + multiplier *= 1.04; + } + } + + return maxDistance * multiplier; + } +} diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java index 739eb99..a320a71 100644 --- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -6,6 +6,7 @@ import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; /** @@ -14,6 +15,7 @@ * @author lwh * @Date 2021/06/06 12:06 */ +@EnableScheduling @SpringBootApplication @EnableCaching @EnableTransactionManagement(proxyTargetClass = true)