From eb70d0dd5500080c6132138f58e5ffa81f4ad2bf Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Mon, 29 Jul 2024 19:30:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=88=90=E5=A4=9A=E8=A7=92?= =?UTF-8?q?=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/basicdata/entity/SystemUser.java | 4 +- .../basicdata/mapper/BaseRoleMapper.java | 2 +- .../basicdata/mapper/xml/BaseActionMapper.xml | 2 +- .../basicdata/mapper/xml/BaseMenuMapper.xml | 2 +- .../basicdata/mapper/xml/SystemUserMapper.xml | 174 ++++++++++-------- .../impl/FlowOrgRepositoryServiceImpl.java | 4 +- .../service/impl/SystemUserServiceImpl.java | 43 ++--- 7 files changed, 122 insertions(+), 109 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java index 366161d33..947a73889 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java @@ -144,8 +144,8 @@ public class SystemUser implements Serializable { private java.lang.String personMail; @TableField(exist = false) - @ApiModelProperty(value = "角色ID") - private java.lang.Long roleId; + @ApiModelProperty(value = "角色ID(多个,分割)") + private java.lang.String roleId; @TableField(exist = false) @ApiModelProperty(value = "岗位名称") diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/BaseRoleMapper.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/BaseRoleMapper.java index 5c9c32631..0809afc34 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/BaseRoleMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/BaseRoleMapper.java @@ -22,7 +22,7 @@ public interface BaseRoleMapper extends BaseMapper { * @param userId * @return */ - BaseRole selectRoleByUserId(@Param("userId") Long userId); + List selectRoleByUserId(@Param("userId") Long userId); /** * 根据项目sn删除角色权限关联数据 diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/BaseActionMapper.xml b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/BaseActionMapper.xml index 9106557dc..aa79ab1c3 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/BaseActionMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/BaseActionMapper.xml @@ -15,7 +15,7 @@ order by a.parent_id,a.priority SELECT a.*, jb.job_name from system_user a @@ -93,14 +27,72 @@ @@ -274,8 +267,8 @@ di.project_sn, di.enterprise_id, wi.id AS wi_id, - br.role_id, - br.role_name + group_concat(distinct br.role_id) as role_id, + group_concat(distinct br.role_name) as role_name FROM system_user AS su INNER JOIN worker_info AS wi ON wi.id = su.worker_id INNER JOIN department_info AS di ON di.id = wi.department_id @@ -285,6 +278,7 @@ AND di.id = #{s.departmentId} + group by su.user_id diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/FlowOrgRepositoryServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/FlowOrgRepositoryServiceImpl.java index 014018a88..465d733fe 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/FlowOrgRepositoryServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/FlowOrgRepositoryServiceImpl.java @@ -264,9 +264,9 @@ public class FlowOrgRepositoryServiceImpl implements OrgRepositoryService { public UserVo getUserDetail(String userId) { SystemUser user = systemUserMapper.selectById(userId); List depts = getDeptsByUser(userId); - BaseRole roles = systemRoleMapper.selectRoleByUserId(user.getUserId()); + List roles = systemRoleMapper.selectRoleByUserId(user.getUserId()); List roleList = new ArrayList<>(); - roleList.add(roles.getRoleName()); + roleList.addAll(roles.stream().map(BaseRole::getRoleName).collect(Collectors.toList())); return UserVo.builder() .userId(userId) .username(user.getRealName()) diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java index 16ae98256..7716f3fd8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java @@ -448,11 +448,12 @@ public class SystemUserServiceImpl extends ServiceImpl baseRoles = baseRoleMapper.selectRoleByUserId(systemUser.getUserId()); + if (CollUtil.isEmpty(baseRoles)) { result.put("seeEquipment", 1); } else { - result.put("seeEquipment", Integer.valueOf(baseRole.getSeeEquipment())); + boolean see = baseRoles.stream().anyMatch(baseRole -> Objects.equals(baseRole.getSeeEquipment(), 0)); + result.put("seeEquipment", see ? 0 : 1); } } else { result.put("seeEquipment", 0); @@ -750,12 +751,12 @@ public class SystemUserServiceImpl extends ServiceImpl baseRoles = baseRoleMapper.selectRoleByUserId(systemUser.getUserId()); + if (CollUtil.isEmpty(baseRoles)) { result.put("seeEquipment", 1); } else { - result.put("seeEquipment", baseRole.getSeeEquipment()); - } + boolean see = baseRoles.stream().anyMatch(baseRole -> Objects.equals(baseRole.getSeeEquipment(), 0)); + result.put("seeEquipment", see ? 0 : 1); } } else { result.put("seeEquipment", 0); } @@ -959,10 +960,18 @@ public class SystemUserServiceImpl extends ServiceImpl roleIds = StrUtil.split(roleId, ","); + for (String id : roleIds) { + BaseRoleUser baseRoleUser = new BaseRoleUser(); + baseRoleUser.setRoleId(Long.valueOf(id)); + baseRoleUser.setUserId(systemUser.getUserId()); + baseRoleUserMapper.insert(baseRoleUser); + } } @@ -1023,16 +1032,8 @@ public class SystemUserServiceImpl extends ServiceImpl queryWrapper1 = new QueryWrapper<>(); queryWrapper1.lambda().eq(BaseRoleUser::getUserId, systemUser.getUserId()); - BaseRoleUser baseRoleUser = baseRoleUserMapper.selectOne(queryWrapper1); - if (baseRoleUser != null) { - baseRoleUser.setRoleId(systemUser.getRoleId()); - baseRoleUserMapper.updateById(baseRoleUser); - } else { - BaseRoleUser tempbaseRoleUser = new BaseRoleUser(); - tempbaseRoleUser.setRoleId(systemUser.getRoleId()); - tempbaseRoleUser.setUserId(systemUser.getUserId()); - baseRoleUserMapper.insert(tempbaseRoleUser); - } + baseRoleUserMapper.delete(queryWrapper1); + addBaseRoleUsers(systemUser); } public Map getUserAuthority(Long userId, Integer accountType, String sn, String headquartersSn, Integer styleType) {