Browse Source

获取所有相机位置+权限

sunhh 2 years ago
parent
commit
922acc63c9

+ 3 - 0
business-service/src/main/java/com/ozs/service/entity/BaseUser.java

@@ -60,4 +60,7 @@ public class BaseUser implements Serializable {
 
     /** 删除标志(0代表存在 2代表删除) */
     private Integer delFlag;
+
+    /** 数据权限 1:本人;2:本部门;3:本部门及下级部门;4:本人及本级部门;5:本人及本部门及下级部门;6:全部 */
+    private Integer dataPermission;
 }

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

@@ -29,4 +29,6 @@ public interface BaseUserMapper extends BaseMapper<BaseUser> {
     Set<String> getUserIdByDeptIdsBy5(@Param("deptList") List<Long> deptList);
 
     Set<String> getUserIdList6();
+
+    BaseUser getUser(@Param("userId") String userId);
 }

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

@@ -22,4 +22,6 @@ public interface BaseCameraManagementService extends IService<BaseCameraManageme
      * @return
      */
     String importBaseAccountManagement(List<BaseCameraManagement> accountManageList, boolean updateSupport);
+
+    List<BaseCameraManagement> selectCameraAll(String userId);
 }

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

@@ -12,4 +12,6 @@ import java.util.Set;
 public interface BaseUserService extends IService<BaseUser> {
 
     Set<String> getUserIdList(String createBy, Long deptId);
+
+    BaseUser getUser(String userId);
 }

+ 70 - 1
business-service/src/main/java/com/ozs/service/service/impl/BaseCameraManagementServiceImpl.java

@@ -3,13 +3,18 @@ package com.ozs.service.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.exception.ServiceException;
+import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.bean.BeanValidators;
 import com.ozs.service.entity.BaseCameraManagement;
 import com.ozs.service.entity.BaseDeviceDynamicManagement;
+import com.ozs.service.entity.BaseUser;
 import com.ozs.service.mapper.BaseCameraManagementMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ozs.service.mapper.BaseDeviceDynamicManagementMapper;
+import com.ozs.service.mapper.BaseUserMapper;
 import com.ozs.service.service.BaseCameraManagementService;
+import com.ozs.service.service.BaseUserService;
+import com.ozs.service.utils.DataPermissionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
@@ -17,7 +22,9 @@ import org.springframework.util.ObjectUtils;
 import javax.annotation.Resource;
 import javax.validation.Validator;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 /**
  * <p>
@@ -32,9 +39,13 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
     @Autowired
     protected Validator validator;
     @Resource
-    BaseCameraManagementMapper baseCameraManagementMapper;
+    private BaseCameraManagementMapper baseCameraManagementMapper;
     @Autowired
     BaseDeviceDynamicManagementMapper baseDeviceDynamicManagementMapper;
+    @Resource
+    private BaseUserService baseUserService;
+    @Resource
+    private BaseUserMapper baseUserMapper;
 
     /**
      * 相机台账管理表导入
@@ -99,4 +110,62 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
         }
         return successMsg.toString();
     }
+
+    /**
+     * 获取相机列表+数据权限
+     * @return
+     */
+    @Override
+    public List<BaseCameraManagement> selectCameraAll(String userId) {
+        List<String> userIdList = getUserIds(userId);
+        LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
+        if (!ObjectUtils.isEmpty(userIdList)) {
+            lw.in(BaseCameraManagement::getCreateBy, userIdList);
+        }
+        List<BaseCameraManagement> baseCameraManagementList = baseCameraManagementMapper.selectList(lw);
+        return baseCameraManagementList;
+    }
+
+    /**
+     * 根据当前登陆用户ID 查询当前用户数据权限
+     *
+     * @param userId
+     * @return
+     */
+    public List<String> getUserIds(String userId) {
+        BaseUser baseUser = baseUserService.getUser(userId);
+        if (StringUtils.isNull(baseUser) || StringUtils.isNull(baseUser.getDataPermission())
+                || StringUtils.isNull(baseUser.getDeptId())) {
+            return null;
+        }
+        // 数据权限 1:本人;2:本部门;3:本部门及下级部门;4:本人及本级部门;5:本人及本部门及下级部门;6:全部
+        Integer dataPermission = baseUser.getDataPermission();
+        Long deptId = baseUser.getDeptId();
+        Set<String> set = new HashSet<>();
+        if (1 == dataPermission) {
+            set = baseUserMapper.getUserIdList(userId);
+        } else if (2 == dataPermission) {
+            set = baseUserMapper.getUserIdByDeptId(deptId);
+        } else if (3 == dataPermission) {
+            // 获取部门数据
+            List<Long> deptList = baseUserMapper.getDeptId(deptId);
+            // 获取用户列表
+            set = baseUserMapper.getUserIdByDeptIds(deptList);
+        } else if (4 == dataPermission) {
+            set = baseUserMapper.getUserIdByDeptIdAndUserId(userId, deptId);
+        } else if (5 == dataPermission) {
+            // 获取本人
+            Set<String> setUser = baseUserMapper.getUserIdListBy5(userId);
+            // 获取部门数据
+            List<Long> deptList5 = baseUserMapper.getDeptId(deptId);
+            // 获取用户列表
+            Set<String> setUsers = baseUserMapper.getUserIdByDeptIdsBy5(deptList5);
+            set.addAll(setUser);
+            set.addAll(setUsers);
+        } else if (6 == dataPermission) {
+            set = baseUserMapper.getUserIdList6();
+        }
+        List<String> list = new ArrayList<>(set);
+        return list;
+    }
 }

+ 5 - 0
business-service/src/main/java/com/ozs/service/service/impl/BaseUserServiceImpl.java

@@ -53,4 +53,9 @@ public class BaseUserServiceImpl extends ServiceImpl<BaseUserMapper, BaseUser> i
         set.addAll(set6);
         return set;
     }
+
+    @Override
+    public BaseUser getUser(String userId) {
+        return baseUserMapper.getUser(userId);
+    }
 }

+ 9 - 0
business-service/src/main/java/com/ozs/service/utils/DataPermissionUtils.java

@@ -0,0 +1,9 @@
+package com.ozs.service.utils;
+
+/**
+ * @Author : sunhh
+ * @create 2023/3/10 20:26
+ */
+public class DataPermissionUtils {
+
+}

+ 4 - 0
business-service/src/main/resources/mapper/service/BaseUserMapper.xml

@@ -55,4 +55,8 @@
         from sys_user
         where data_permission = 6
     </select>
+
+    <select id="getUser" resultType="com.ozs.service.entity.BaseUser" parameterType="java.lang.String">
+        select user_id userId, dept_id deptId, data_permission dataPermission from sys_user where user_id = #{userId}
+    </select>
 </mapper>

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

@@ -8,6 +8,8 @@ import com.ozs.common.config.BaseConfig;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysDept;
+import com.ozs.common.core.domain.entity.SysUser;
+import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.exception.base.BaseException;
 import com.ozs.common.utils.AppendUtils;
 import com.ozs.common.utils.StringUtils;
@@ -86,6 +88,17 @@ public class BaseCameraManagementController extends BaseController {
     @Autowired
     private CaneraConfig caneraConfig;
 
+    /**
+     * 所有相机列表+权限
+     */
+    @ApiOperation(value = "相机台账管理分页")
+    @GetMapping("/selectCameraAll")
+    public AjaxResult selectCameraAll() {
+        String userId = getUserId();
+        List<BaseCameraManagement> baseCameraManagements = baseCameraManagementService.selectCameraAll(userId);
+        return AjaxResult.success(baseCameraManagements);
+    }
+
     /**
      * 相机台账管理分页
      *