Explorar o código

webSocket 获取推送人列表

sunhh %!s(int64=2) %!d(string=hai) anos
pai
achega
116745c67a

+ 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>

+ 10 - 12
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,6 +126,15 @@ public class GeoHazardMonitorTokenController {
         if (StringUtils.isNotEmpty(token)) {
             String s = SM4Utils.decryptData_ECB(parameter, "4370780c9a8c43e5");
             ReqMsgAlarmVo reqMsgAlarmVo = JSON.parseObject(s, ReqMsgAlarmVo.class);
+            log.info("reqMsgAlarmVo:{}", reqMsgAlarmVo);
+            RespMsgAlarmVo respMsgAlarmVo = new RespMsgAlarmVo();
+            LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<BaseCameraManagement>();
+            if (!ObjectUtils.isEmpty(reqMsgAlarmVo.getAlarmCamera())) {
+                wrapper.eq(BaseCameraManagement::getCameraCode, reqMsgAlarmVo.getAlarmCamera());
+            }
+            BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(wrapper);
+            // 获取推送人ID列表
+            Set<String> set1 = baseUserService.getUserIdList(baseCameraManagement.getCreateBy(), baseCameraManagement.getDeptId());
             // 推送消息reqMsgAlarmVo
             // 初始化 -> 运行中 -> 成功或失败
 //            try {
@@ -144,14 +150,6 @@ public class GeoHazardMonitorTokenController {
 //                e.printStackTrace();
 //                throw new RuntimeException("构建失败");
 //            }
-            log.info("reqMsgAlarmVo:{}", reqMsgAlarmVo);
-            RespMsgAlarmVo respMsgAlarmVo = new RespMsgAlarmVo();
-            LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<BaseCameraManagement>();
-            if (!ObjectUtils.isEmpty(reqMsgAlarmVo.getAlarmCamera())) {
-                wrapper.eq(BaseCameraManagement::getCameraCode, reqMsgAlarmVo.getAlarmCamera());
-            }
-            BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(wrapper);
-            Set<String> userList= baseUserService.getUserIdList(baseCameraManagement.getCreateBy());
             log.info("baseCameraManagement:{}", baseCameraManagement);
             if (ObjectUtils.isEmpty(reqMsgAlarmVo.getLineDir())) {
                 reqMsgAlarmVo.setLineDir(baseCameraManagement.getLineDir());