Bläddra i källkod

场景列表数据权限

lyhzzz 2 år sedan
förälder
incheckning
fc2c7eea5a

+ 4 - 0
src/main/java/com/fdkankan/manage/service/IJySceneUserAuthService.java

@@ -4,6 +4,8 @@ import com.fdkankan.manage.entity.JySceneUserAuth;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.manage.vo.request.SceneParam;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -25,4 +27,6 @@ public interface IJySceneUserAuthService extends IService<JySceneUserAuth> {
     JySceneUserAuth getByNumAndJyUserId(Integer jyUserId, String num);
 
     Object checkAuthOther(JySceneUserAuth param);
+
+    List<JySceneUserAuth> getByJyUserId(Integer jyUserId);
 }

+ 7 - 0
src/main/java/com/fdkankan/manage/service/impl/JySceneUserAuthServiceImpl.java

@@ -157,4 +157,11 @@ public class JySceneUserAuthServiceImpl extends ServiceImpl<IJySceneUserAuthMapp
 
         return false;
     }
+
+    @Override
+    public List<JySceneUserAuth> getByJyUserId(Integer jyUserId) {
+        LambdaQueryWrapper<JySceneUserAuth> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(JySceneUserAuth::getJyUserId,jyUserId);
+        return this.list(wrapper);
+    }
 }

+ 14 - 5
src/main/java/com/fdkankan/manage/service/impl/SceneProServiceImpl.java

@@ -85,6 +85,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     IJyUserService jyUserService;
     @Autowired
     IJySceneUserAuthService jySceneUserAuthService;
+    @Autowired
+    ISysUserService sysUserService;
 
 
     @Override
@@ -296,12 +298,19 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 //        if(param.getType() == 3){ //双目lite
 //           return sceneService.pageList(param);
 //        }
-        JyUser jyUser = jyUserService.getBySysId(StpUtil.getLoginId());
-        if(jyUser == null){
-            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        SysUser byId = sysUserService.getById(Long.valueOf(StpUtil.getLoginId().toString()));
+        JyUser jyUser = jyUserService.getBySysId(byId.getId());
+        if(byId.getRoleId() != 1){
+            if(jyUser == null){
+                throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+            }
+            param.setUserId(jyUser.getUserId());
+            List<JySceneUserAuth> list = jySceneUserAuthService.getByJyUserId(jyUser.getId());
+            if(list.size() >0){
+                List<String> numList = list.stream().map(JySceneUserAuth::getNum).collect(Collectors.toList());
+                param.setAuthNumList(numList);
+            }
         }
-
-        param.setUserId(jyUser.getUserId());
         Page<SceneVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
         List<SceneVo> records = page.getRecords();
         List<String> numList = records.parallelStream().map(SceneVo::getNum).collect(Collectors.toList());

+ 2 - 0
src/main/java/com/fdkankan/manage/vo/request/SceneParam.java

@@ -3,6 +3,7 @@ package com.fdkankan.manage.vo.request;
 import com.fdkankan.manage.vo.request.RequestBase;
 import lombok.Data;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Data
@@ -16,4 +17,5 @@ public class SceneParam extends RequestBase {
     private Long userId;
 
     private List<String> snCodes;
+    private List<String> authNumList = new ArrayList<>();
 }

+ 9 - 1
src/main/resources/mapper/manage/SceneProMapper.xml

@@ -73,8 +73,16 @@
         <if test="param.companyId !=null ">
             and co.id = #{param.companyId}
         </if>
-        <if test="param.userId !=null ">
+        <if test="param.userId !=null and param.authNumList.size<=0 ">
             and u.id = #{param.userId}
         </if>
+        <if test="param.userId !=null and param.authNumList.size >0 ">
+            and ( u.id = #{param.userId}
+                or s.num in
+                <foreach item="num" collection="param.authNumList" open="(" separator="," close=")">
+                    #{num}
+                </foreach>
+            )
+        </if>
     </sql>
 </mapper>