Quellcode durchsuchen

soc-modules-iot模块-诊断任务管理

humingshi-7@163.com vor 11 Monaten
Ursprung
Commit
b6685f5971

+ 25 - 3
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/CameraDiagnoseMissionController.java

@@ -1,5 +1,6 @@
 package com.xunmei.iot.controller;
 
+import com.xunmei.common.core.domain.iot.domain.IotDeviceDiagnoseMission;
 import com.xunmei.common.core.web.domain.AjaxResult;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.iot.dto.cameraDiagnose.DiagnoseMissionPageDto;
@@ -23,9 +24,9 @@ public class CameraDiagnoseMissionController {
     private DiagnoseMissionService diagnoseMissionService;
 
     @ApiOperation("诊断任务绑定列表")
-    @PostMapping({"/list"})
-    public TableDataInfo<DiagnoseMissionPageVo> webPage(@RequestBody final DiagnoseMissionPageDto request) {
-        TableDataInfo<DiagnoseMissionPageVo> page = diagnoseMissionService.selectDiagnoseMissionPage(request);
+    @PostMapping({"/cameraList"})
+    public TableDataInfo<DiagnoseMissionPageVo> cameraList(@RequestBody final DiagnoseMissionPageDto request) {
+        TableDataInfo<DiagnoseMissionPageVo> page = diagnoseMissionService.selectCameraMissionPage(request);
         return page;
     }
 
@@ -54,9 +55,30 @@ public class CameraDiagnoseMissionController {
     }
 
 
+    @ApiOperation("诊断任务管理列表")
+    @GetMapping({"/list"})
+    public List<IotDeviceDiagnoseMission> list() {
+        return diagnoseMissionService.selectMissionPage();
+    }
+
+    @ApiOperation("删除诊断任务")
+    @GetMapping({"/deleteMission"})
+    public AjaxResult deleteMission(@RequestParam(value = "missionId")String missionId) {
+        try {
+            diagnoseMissionService.deleteMission(missionId);
+        }catch (Exception e){
+            log.error("/diagnoseMission/unbindMission,出现异常:{}",e);
+            return AjaxResult.error(e.getMessage());
+        }
+        return AjaxResult.success("操作成功");
+    }
+
+
     @ApiOperation("获取任务下拉框")
     @GetMapping({"/missionTypeList"})
     public List<AlarmTypeSelectedVO> missionTypeList() {
         return diagnoseMissionService.missionTypeList();
     }
+
+
 }

+ 4 - 1
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/mapper/DiagnoseMissionChMapper.java

@@ -1,5 +1,6 @@
 package com.xunmei.iot.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xunmei.common.core.domain.iot.domain.IotDeviceDiagnoseMission;
 import com.xunmei.common.core.domain.iot.domain.IotDeviceDiagnoseMissionCh;
@@ -12,7 +13,7 @@ import org.springframework.stereotype.Repository;
 import java.util.List;
 
 @Repository
-public interface DiagnoseMissionChMapper {
+public interface DiagnoseMissionChMapper extends BaseMapper<IotDeviceDiagnoseMission> {
     Page<DiagnoseMissionPageVo> selectPageData(Page<DiagnoseMissionPageVo> pageRequest, @Param("request") DiagnoseMissionPageDto request);
     Integer selectCamerasCount(@Param("request") DiagnoseMissionPageDto request);
 
@@ -27,5 +28,7 @@ public interface DiagnoseMissionChMapper {
     //批量删除-任务通道
     int batchDeleteMissionCh(@Param("ids") List<Long> ids);
 
+    int deleteCamerasByMissionId(@Param("missionId")String missionId);
+
     List<IotDeviceDiagnoseMission> selectAllDiagnoseMission();
 }

+ 6 - 1
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/DiagnoseMissionService.java

@@ -1,5 +1,6 @@
 package com.xunmei.iot.service;
 
+import com.xunmei.common.core.domain.iot.domain.IotDeviceDiagnoseMission;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.iot.dto.cameraDiagnose.DiagnoseMissionPageDto;
 import com.xunmei.iot.vo.alarmData.AlarmTypeSelectedVO;
@@ -8,11 +9,15 @@ import java.util.List;
 
 public interface DiagnoseMissionService {
 
-    TableDataInfo<DiagnoseMissionPageVo> selectDiagnoseMissionPage(DiagnoseMissionPageDto request);
+    TableDataInfo<DiagnoseMissionPageVo> selectCameraMissionPage(DiagnoseMissionPageDto request);
 
     void camerasBind(DiagnoseMissionPageDto request);
 
     void camerasUnbind(DiagnoseMissionPageDto request);
 
+    List<IotDeviceDiagnoseMission> selectMissionPage();
+
+    void deleteMission(String missionId);
+
     List<AlarmTypeSelectedVO> missionTypeList();
 }

+ 26 - 1
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/DiagnoseMissionServiceImpl.java

@@ -2,6 +2,7 @@ package com.xunmei.iot.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.common.collect.Lists;
 import com.xunmei.common.core.constant.CacheConstants;
@@ -50,7 +51,7 @@ public class DiagnoseMissionServiceImpl implements DiagnoseMissionService {
     private DiagnoseThresholdChMapper diagnoseThresholdChMapper;
 
     @Override
-    public TableDataInfo<DiagnoseMissionPageVo> selectDiagnoseMissionPage(DiagnoseMissionPageDto request) {
+    public TableDataInfo<DiagnoseMissionPageVo> selectCameraMissionPage(DiagnoseMissionPageDto request) {
         final SysOrg sysOrg = orgService.selectOrgById(request.getOrgId(), SecurityConstants.INNER);
         if (ObjectUtil.equal(Boolean.TRUE, request.getCheckSub())) {
             request.setOrgPath(sysOrg.getPath());
@@ -197,6 +198,30 @@ public class DiagnoseMissionServiceImpl implements DiagnoseMissionService {
     }
 
     @Override
+    public List<IotDeviceDiagnoseMission> selectMissionPage(){
+        return diagnoseMissionChMapper.selectList(Wrappers.emptyWrapper());
+    }
+
+    @Override
+    public void deleteMission(String missionId){
+//        QueryWrapper<IotDeviceDiagnoseMission> queryWrapper = new QueryWrapper();
+//        queryWrapper.eq("mission_id", missionId);
+        IotDeviceDiagnoseMission system = diagnoseMissionChMapper.selectById(missionId);
+        if (system == null) {
+            String errorMsg = "当前任务不存在!";
+            throw  new ServiceException(errorMsg);
+        }
+        if (system.getName().equals("默认")) {
+            String errorMsg = "默认任务不能删除!";
+            throw  new ServiceException(errorMsg);
+        }
+        //删除任务
+        diagnoseMissionChMapper.deleteById(missionId);
+        //删除关联视频通道
+        diagnoseMissionChMapper.deleteCamerasByMissionId(missionId);
+    }
+
+    @Override
     public List<AlarmTypeSelectedVO> missionTypeList() {
         List<AlarmTypeSelectedVO> list = Lists.newArrayList();
         AlarmTypeSelectedVO bean;

+ 4 - 0
soc-modules/soc-modules-iot/src/main/resources/mapper/DiagnoseMissionChMapper.xml

@@ -167,6 +167,10 @@
         </foreach>
     </delete>
 
+    <delete id="deleteCamerasByMissionId" parameterType="java.lang.String">
+        delete from iot_device_diagnose_mission_ch where mission_id = #{missionId}
+    </delete>
+
     <select id="selectAllDiagnoseMission" resultType="com.xunmei.common.core.domain.iot.domain.IotDeviceDiagnoseMission">
         select * from iot_device_diagnose_mission
     </select>