Browse Source

Merge branch 'master' of http://124.70.58.209:3000/ytrd-project-management/GeoHazardMonitor

hexiao 2 years ago
parent
commit
a904f2ba54

+ 6 - 0
business-service/src/main/java/com/ozs/service/entity/vo/BaseCameraManagementVo.java

@@ -1,5 +1,6 @@
 package com.ozs.service.entity.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.ozs.common.vo.PageVo;
 import lombok.Data;
 import java.io.Serializable;
@@ -42,4 +43,9 @@ public class BaseCameraManagementVo extends PageVo implements Serializable {
      * 监控范围结束里程位置
      */
     private Integer endMile;
+
+    /**
+     * 监控相机安装里程位置字符串形式
+     */
+    private String installMiles;
 }

+ 15 - 0
business-service/src/main/java/com/ozs/service/mapper/BaseUserMapper.java

@@ -5,6 +5,7 @@ import com.ozs.service.entity.BaseUser;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
 import java.util.Set;
 
 /**
@@ -14,4 +15,18 @@ import java.util.Set;
 public interface BaseUserMapper extends BaseMapper<BaseUser> {
     
     Set<String> getUserIdList(@Param("userId") String userId);
+
+    Set<String> getUserIdByDeptId(@Param("deptId") Long deptId);
+
+    List<Long> getDeptId(@Param("deptId") Long deptId);
+
+    Set<String> getUserIdByDeptIds(@Param("deptList") List<Long> deptList);
+
+    Set<String> getUserIdByDeptIdAndUserId(@Param("userId") String userId, @Param("deptId") Long deptId);
+
+    Set<String> getUserIdListBy5(@Param("userId") String userId);
+
+    Set<String> getUserIdByDeptIdsBy5(@Param("deptList") List<Long> deptList);
+
+    Set<String> getUserIdList6();
 }

+ 2 - 2
business-service/src/main/java/com/ozs/service/service/BaseUserService.java

@@ -10,6 +10,6 @@ import java.util.Set;
  * @author Administrator
  */
 public interface BaseUserService extends IService<BaseUser> {
-    
-    Set<String> getUserIdList(String createBy);
+
+    Set<String> getUserIdList(String createBy, Long deptId);
 }

+ 34 - 2
business-service/src/main/java/com/ozs/service/service/impl/BaseUserServiceImpl.java

@@ -7,6 +7,8 @@ import com.ozs.service.service.BaseUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 
 /**
@@ -18,7 +20,37 @@ public class BaseUserServiceImpl extends ServiceImpl<BaseUserMapper, BaseUser> i
     private BaseUserMapper baseUserMapper;
 
     @Override
-    public Set<String> getUserIdList(String createBy) {
-       return baseUserMapper.getUserIdList(createBy);
+    public Set<String> getUserIdList(String createBy, Long deptId) {
+        Set<String> set = new HashSet<>();
+        // 根据create_by、data_permission=1(本人)
+        Set<String> set1 = baseUserMapper.getUserIdList(createBy);
+        set.addAll(set1);
+        // 根据 dept_id(本部门)data_permission=2
+        Set<String> set2 = baseUserMapper.getUserIdByDeptId(deptId);
+        set.addAll(set2);
+        // 根据 dept_id(本部门及下级部门数据) data_permission=3
+        // 获取部门数据
+        List<Long> deptList = baseUserMapper.getDeptId(deptId);
+        // 获取用户列表
+        Set<String> set3 = baseUserMapper.getUserIdByDeptIds(deptList);
+        set.addAll(set3);
+        // 本人及本级部门数据 data_permission=4
+        Set<String> set4 = baseUserMapper.getUserIdByDeptIdAndUserId(createBy, deptId);
+        set.addAll(set4);
+        // 本人及本部门及下级部门数据 data_permission=5
+        // 获取本人
+        Set<String> setUser = baseUserMapper.getUserIdListBy5(createBy);
+        // 获取部门数据
+        List<Long> deptList5 = baseUserMapper.getDeptId(deptId);
+        // 获取用户列表
+        Set<String> setUsers = baseUserMapper.getUserIdByDeptIdsBy5(deptList5);
+        Set<String> set5 = new HashSet<>();
+        set5.addAll(setUser);
+        set5.addAll(setUsers);
+        set.addAll(set5);
+        // 全部 data_permission=6
+        Set<String> set6 = baseUserMapper.getUserIdList6();
+        set.addAll(set6);
+        return set;
     }
 }

+ 51 - 2
business-service/src/main/resources/mapper/service/BaseUserMapper.xml

@@ -3,7 +3,56 @@
 <mapper namespace="com.ozs.service.mapper.BaseUserMapper">
 
     <select id="getUserIdList" resultType="java.lang.String" parameterType="java.lang.String">
-        select user_id from  sys_user 
-        where user_id = #{userId}  and data_permission=1
+        select user_id
+        from sys_user
+        where user_id = #{userId}
+          and data_permission = 1
+    </select>
+
+    <select id="getUserIdByDeptId" resultType="java.lang.String" parameterType="java.lang.Long">
+        select user_id
+        from sys_user
+        where dept_id = #{deptId}
+          and data_permission = 2
+    </select>
+
+    <select id="getDeptId" resultType="java.lang.Long" parameterType="java.lang.Long">
+        select dept_id
+        from sys_dept
+        where find_in_set(#{deptId}, ancestors)
+    </select>
+
+    <select id="getUserIdByDeptIds" resultType="java.util.List" parameterType="java.lang.Long">
+        select user_id
+        from sys_user
+        where dept_id in #{deptList}
+          and data_permission = 3
+    </select>
+
+    <select id="getUserIdByDeptIdAndUserId" resultType="java.lang.String">
+        select user_id
+        from sys_user
+        where (user_id = #{userId} or dept_id = #{deptId})
+          and data_permission = 4
+    </select>
+
+    <select id="getUserIdListBy5" resultType="java.lang.String" parameterType="java.lang.String">
+        select user_id
+        from sys_user
+        where user_id = #{userId}
+          and data_permission = 5
+    </select>
+
+    <select id="getUserIdByDeptIdsBy5" resultType="java.util.List" parameterType="java.lang.Long">
+        select user_id
+        from sys_user
+        where dept_id in #{deptList}
+          and data_permission = 5
+    </select>
+
+    <select id="getUserIdList6" resultType="java.lang.String">
+        select user_id
+        from sys_user
+        where data_permission = 6
     </select>
 </mapper>

+ 29 - 0
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -111,6 +111,10 @@ public class BaseCameraManagementController extends BaseController {
         if (!ObjectUtils.isEmpty(baseCameraManagementVo.getEndMile())) {
             lw.le(BaseCameraManagement::getEndMile, baseCameraManagementVo.getEndMile());
         }
+        if (!ObjectUtils.isEmpty(baseCameraManagementVo.getInstallMiles())) {
+            int miles = AppendUtils.stringSplit(baseCameraManagementVo.getInstallMiles());
+            lw.eq(BaseCameraManagement::getInstallMile, miles);
+        }
         IPage<BaseCameraManagement> page = baseCameraManagementService.page(new Page<>(baseCameraManagementVo.getPageNum(), baseCameraManagementVo.getPageSize()), lw);
         if (!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())) {
             List<BaseCameraManagement> dto1 = page.getRecords().stream().map(o -> {
@@ -395,7 +399,9 @@ public class BaseCameraManagementController extends BaseController {
     @GetMapping("/endRecording/{id}")
     public AjaxResult endRecording(@PathVariable Long id) {
         BaseCameraManagement baseCameraManagement = baseCameraManagementService.getById(id);
+        log.info("endRecording------------"+baseCameraManagement.getTaskId());
         String start = HttpUtils.sendGet(CameraUtil.endRecording(baseCameraManagement.getTaskId()));
+        log.info("endRecording------------"+start);
         if ("success".equals(start)) {
             baseCameraManagement.setStartRecording(2);
             if (baseCameraManagementService.updateById(baseCameraManagement)) {
@@ -405,6 +411,29 @@ public class BaseCameraManagementController extends BaseController {
         return error("关闭视频录制失败");
     }
 
+
+    @ApiOperation("开启视频录制")
+    @GetMapping("/startRecording/{id}")
+    public AjaxResult startRecording(@PathVariable Long id) {
+        BaseCameraManagement baseCameraManagement = baseCameraManagementService.getById(id);
+        log.info("startRecording------CameraCode------"+baseCameraManagement.getCameraCode());
+        log.info("startRecording------Channel------"+baseCameraManagement.getChannel());
+        String start = HttpUtils.sendGet(CameraUtil.startRecording(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel()));
+        log.info("startRecording------------"+start);
+        if (start.startsWith(baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel())) {
+            log.info("startRecording 返回成功!!1");
+            baseCameraManagement.setStartRecording(1);
+            baseCameraManagement.setTaskId(start);
+        } else {
+            return error("开启视频录制失败");
+        }
+        if (baseCameraManagementService.updateById(baseCameraManagement)) {
+            return success();
+        }else {
+            return error("开启视频录制失败");
+        }
+    }
+
     @GetMapping(value = "/getAlarm/{cameraCode}")
     @ApiOperation("根据视频ID获取详细信息")
     public AjaxResult getAlarm(@PathVariable String cameraCode) {

+ 26 - 20
hazard-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

@@ -38,10 +38,7 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 /**
  * 1. 获取身份认证控制层
@@ -129,21 +126,6 @@ public class GeoHazardMonitorTokenController {
         if (StringUtils.isNotEmpty(token)) {
             String s = SM4Utils.decryptData_ECB(parameter, "4370780c9a8c43e5");
             ReqMsgAlarmVo reqMsgAlarmVo = JSON.parseObject(s, ReqMsgAlarmVo.class);
-            // 推送消息reqMsgAlarmVo
-            // 初始化 -> 运行中 -> 成功或失败
-//            try {
-//                // 1、初始化
-//                webSocketServer.sendMoreMessage(ids,objStr(pipelineId,1));
-//                Thread.sleep(3 * 1000);
-//                // 2、运行中
-//                webSocketServer.sendMoreMessage(ids,objStr(pipelineId,2));
-//                Thread.sleep(5 * 1000);
-//                // 3、成功或失败
-//                webSocketServer.sendMoreMessage(ids,Math.random() * 10 > 5 ? objStr(pipelineId,6) : objStr(pipelineId,7));
-//            } catch (InterruptedException e) {
-//                e.printStackTrace();
-//                throw new RuntimeException("构建失败");
-//            }
             log.info("reqMsgAlarmVo:{}", reqMsgAlarmVo);
             RespMsgAlarmVo respMsgAlarmVo = new RespMsgAlarmVo();
             LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<BaseCameraManagement>();
@@ -151,7 +133,25 @@ public class GeoHazardMonitorTokenController {
                 wrapper.eq(BaseCameraManagement::getCameraCode, reqMsgAlarmVo.getAlarmCamera());
             }
             BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(wrapper);
-            Set<String> userList= baseUserService.getUserIdList(baseCameraManagement.getCreateBy());
+            // 获取推送人ID列表
+            Set<String> set = baseUserService.getUserIdList(baseCameraManagement.getCreateBy(), baseCameraManagement.getDeptId());
+            // List<String> list = new ArrayList<>(set);
+            String[] list = set.toArray(new String[set.size()]);
+            // 推送消息reqMsgAlarmVo
+            // 初始化 -> 运行中 -> 成功或失败
+            try {
+                // 1、初始化
+                webSocketServer.sendMoreMessage(list, objStr(baseCameraManagement, 1));
+                Thread.sleep(3 * 1000);
+                // 2、运行中
+                webSocketServer.sendMoreMessage(list, objStr(baseCameraManagement, 2));
+                Thread.sleep(5 * 1000);
+                // 3、成功或失败
+                webSocketServer.sendMoreMessage(list, Math.random() * 10 > 5 ? objStr(baseCameraManagement, 6) : objStr(baseCameraManagement, 7));
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+                throw new RuntimeException("构建失败");
+            }
             log.info("baseCameraManagement:{}", baseCameraManagement);
             if (ObjectUtils.isEmpty(reqMsgAlarmVo.getLineDir())) {
                 reqMsgAlarmVo.setLineDir(baseCameraManagement.getLineDir());
@@ -215,6 +215,12 @@ public class GeoHazardMonitorTokenController {
         }
     }
 
+    private String objStr(BaseCameraManagement baseCameraManagement, int status) {
+        JSONObject obj = new JSONObject();
+        obj.put("pipelineId", baseCameraManagement); //流水线ID
+        obj.put("status", status);
+        return obj.toJSONString();
+    }
 
     /**
      * 设备状态数据传输