From a7fea1c069cd55537ab8a6743758f12c8265f159 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期一, 24 七月 2023 11:16:09 +0800 Subject: [PATCH] #权限3级硬编码 --- src/main/java/com/zy/crm/manager/service/CstmrService.java | 2 src/main/java/com/zy/crm/manager/controller/CstmrController.java | 4 + src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java | 4 +- src/main/resources/mapper/CstmrMapper.xml | 58 +++++++++------------------- src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java | 2 5 files changed, 26 insertions(+), 44 deletions(-) diff --git a/src/main/java/com/zy/crm/manager/controller/CstmrController.java b/src/main/java/com/zy/crm/manager/controller/CstmrController.java index e5d62c5..b502936 100644 --- a/src/main/java/com/zy/crm/manager/controller/CstmrController.java +++ b/src/main/java/com/zy/crm/manager/controller/CstmrController.java @@ -70,6 +70,7 @@ @RequestParam(required = false) String conditionName, @RequestParam(required = false) String condition, @RequestParam(required = false, value = "dept_id") Long deptId, + @RequestParam(required = false, value = "role_id") Long roleId, @RequestParam(required = false, value = "user_id") Long userId){ if (!Cools.isEmpty(conditionName)){ switch (conditionName){ @@ -86,8 +87,9 @@ } return R.ok(cstmrService.getPage2(new Page<>(curr, limit) , getHostId() - , deptId == null ? null : String.valueOf(deptId) + , deptId == null ? userService.selectById(getUserId()).getDeptId() : deptId , userId == null ? getUserId() : userId + , roleId == null ? userService.selectById(getUserId()).getRoleId() : roleId , conditionName , condition) ); diff --git a/src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java b/src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java index c760dbb..0920922 100644 --- a/src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java +++ b/src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java @@ -17,7 +17,7 @@ Cstmr selectCstmrByNewestUuid(@Param("hostId") Long hostId); - List<Cstmr> listByPage2(Page<Cstmr> page, @Param("hostId")Long hostId, @Param("deptId") String deptId, @Param("userId") Long userId,@Param("conditionName") String conditionName ,@Param("condition") String condition); + List<Cstmr> listByPage2(Page<Cstmr> page, @Param("hostId")Long hostId, @Param("deptId") Long deptId, @Param("userId") Long userId,@Param("roleId") Long roleId, @Param("conditionName") String conditionName ,@Param("condition") String condition); List<Cstmr> listByPage(Page<Cstmr> page, @Param("hostId")Long hostId, @Param("deptId") String deptId, @Param("userId") Long userId,@Param("condition") String condition); int updateDeptIdByUserId(@Param("userId")Long userId, @Param("deptId")Long deptId); diff --git a/src/main/java/com/zy/crm/manager/service/CstmrService.java b/src/main/java/com/zy/crm/manager/service/CstmrService.java index d8add45..85a9ff7 100644 --- a/src/main/java/com/zy/crm/manager/service/CstmrService.java +++ b/src/main/java/com/zy/crm/manager/service/CstmrService.java @@ -10,7 +10,7 @@ String getUuid(Long hostId); - Page<Cstmr> getPage2(Page<Cstmr> page, Long hostId, String deptId, Long userId, String conditionName, String condition); + Page<Cstmr> getPage2(Page<Cstmr> page, Long hostId, Long deptId, Long userId,Long roleId, String conditionName, String condition); Page<Cstmr> getPage(Page<Cstmr> page, Long hostId, String deptId, Long userId, String condition); int updateDeptIdByUserId(Long userId, Long deptId); diff --git a/src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java b/src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java index 31f1692..a552d5d 100644 --- a/src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java +++ b/src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java @@ -40,8 +40,8 @@ } @Override - public Page<Cstmr> getPage2(Page<Cstmr> page, Long hostId, String deptId, Long userId, String conditionName, String condition) { - return page.setRecords(baseMapper.listByPage2(page, hostId, deptId, userId,conditionName, condition)); + public Page<Cstmr> getPage2(Page<Cstmr> page, Long hostId, Long deptId, Long userId,Long roleId, String conditionName, String condition) { + return page.setRecords(baseMapper.listByPage2(page, hostId, deptId, userId,roleId,conditionName, condition)); } @Override diff --git a/src/main/resources/mapper/CstmrMapper.xml b/src/main/resources/mapper/CstmrMapper.xml index 71bfca7..73c2759 100644 --- a/src/main/resources/mapper/CstmrMapper.xml +++ b/src/main/resources/mapper/CstmrMapper.xml @@ -33,6 +33,23 @@ </resultMap> + <sql id="roleIdSelect"> + <choose> + <when test="roleId != null and roleId != '' and roleId!= 3 "> + <choose> + <when test="roleId == 2 "> + and mc.dept_id = #{deptId} + </when> + <otherwise> + </otherwise> + </choose> + </when> + <otherwise> + and mc.user_id = #{userId} + </otherwise> + </choose> + </sql> + <select id="selectByUuid" resultMap="BaseResultMap"> select * from man_cstmr where 1=1 @@ -110,47 +127,10 @@ </select> <select id="listByPage2" resultMap="BaseResultMap"> - SELECT - mc.* + SELECT DISTINCT mc.* FROM man_cstmr mc - LEFT JOIN sys_dept sd ON mc.dept_id = sd.id WHERE 1=1 - <choose> - <when test="deptId != null and deptId != ''"> - AND (CHARINDEX(','+#{deptId}+',', ','+sd.path+',') > 0 OR sd.id = #{deptId}) - or - ( - user_id = #{userId} - or - mc.id in - ( - select - cstmr_id - from man_cstmr_foll - where 1=1 - and user_id = #{userId} - ) - ) - </when> - <otherwise> - and - ( - user_id = #{userId} - or - mc.id in - ( - select - cstmr_id - from man_cstmr_foll - where 1=1 - and user_id = #{userId} - ) - ) - </otherwise> - </choose> - <if test="hostId != null"> - and mc.host_id = #{hostId} - </if> + <include refid="roleIdSelect"></include> <choose> <when test="conditionName != null and conditionName != ''"> <if test="condition != null and condition != ''"> -- Gitblit v1.9.1