From 35e1e76cc7e3e1ddb25c7f9823e71b4c0f86971a Mon Sep 17 00:00:00 2001 From: 15856 <15856818120@163.com> Date: Fri, 3 Jan 2025 10:13:50 +0800 Subject: [PATCH] =?UTF-8?q?=E9=92=88=E5=AF=B9=E6=99=BA=E6=85=A7=E5=B7=A5?= =?UTF-8?q?=E5=9C=B0=E5=AF=B9=E5=85=AC=E5=8F=B8=E6=A1=86=E6=9E=B6=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/system/api/domain/SysRole.java | 5 +++ .../service/impl/SysDeptServiceImpl.java | 35 +++++++++++++++---- .../service/impl/SysRoleServiceImpl.java | 1 + .../service/impl/SysUserServiceImpl.java | 2 ++ .../resources/mapper/system/SysRoleMapper.xml | 4 +++ 5 files changed, 40 insertions(+), 7 deletions(-) diff --git a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysRole.java b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysRole.java index bccbb12..2da081b 100644 --- a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysRole.java +++ b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysRole.java @@ -4,6 +4,8 @@ import java.util.Set; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; + +import lombok.Data; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.bonus.common.core.annotation.Excel; @@ -15,6 +17,7 @@ import com.bonus.common.core.web.domain.BaseEntity; * * @author bonus */ +@Data public class SysRole extends BaseEntity { private static final long serialVersionUID = 1L; @@ -65,6 +68,8 @@ public class SysRole extends BaseEntity /** 部门组(数据权限) */ private Long[] deptIds; + /** 部门组(数据权限) */ + private Long deptId; /** 角色菜单权限 */ private Set permissions; diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java index 6dbd6bf..4caba38 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java @@ -83,6 +83,7 @@ public class SysDeptServiceImpl implements ISysDeptService String str = dept.getDeptName().replace("\\", "\\\\").replace("%", "\\%").replace("_", "\\_"); dept.setDeptName(str); } + dept.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId()); return deptMapper.selectDeptList(dept); } @@ -299,7 +300,7 @@ public class SysDeptServiceImpl implements ISysDeptService //创建一个用户信息 SysUser user = createUser(dept); //创建一个系统管理员账号 - createRole(dept.getDeptId(),user); + createRole(dept,user); } return 1; }else { @@ -317,11 +318,11 @@ public class SysDeptServiceImpl implements ISysDeptService /** * 创建公司管理员 */ - private void createRole(Long deptId,SysUser user) { - log.info("部门信息{},用户信息{}",deptId,user); + private void createRole(SysDept sysDept,SysUser user) { + log.info("部门信息{},用户信息{}",sysDept,user); SysRole role = new SysRole(); - role.setRoleKey("admin"); - role.setRoleName("系统管理员"); + role.setRoleKey("dept_"+sysDept.getDeptId()+"_admin"); + role.setRoleName(sysDept.getDeptName()+"管理员"); role.setRoleSort(0); role.setStatus("0"); role.setCreateBy(SecurityUtils.getUsername()); @@ -332,7 +333,7 @@ public class SysDeptServiceImpl implements ISysDeptService List roleDeptList = new ArrayList<>(); SysRoleDept rd = new SysRoleDept(); rd.setRoleId(Long.valueOf(role.getRoleId())); - rd.setDeptId(deptId); + rd.setDeptId(sysDept.getDeptId()); roleDeptList.add(rd); roleDeptMapper.batchRoleDept(roleDeptList); //用户绑定角色 @@ -358,10 +359,30 @@ public class SysDeptServiceImpl implements ISysDeptService rm3.setRoleId(Long.valueOf(role.getRoleId())); rm3.setMenuId(103L); list.add(rm3); - SysRoleMenu rm4 = new SysRoleMenu(); + /* SysRoleMenu rm4 = new SysRoleMenu(); rm4.setRoleId(Long.valueOf(role.getRoleId())); rm4.setMenuId(104L); + list.add(rm4);*/ + SysRoleMenu rm4 = new SysRoleMenu(); + rm4.setRoleId(Long.valueOf(role.getRoleId())); + rm4.setMenuId(1007L); list.add(rm4); + SysRoleMenu rm5 = new SysRoleMenu(); + rm5.setRoleId(Long.valueOf(role.getRoleId())); + rm5.setMenuId(1008L); + list.add(rm5); + SysRoleMenu rm6 = new SysRoleMenu(); + rm6.setRoleId(Long.valueOf(role.getRoleId())); + rm6.setMenuId(1009L); + list.add(rm6); + SysRoleMenu rm7 = new SysRoleMenu(); + rm7.setRoleId(Long.valueOf(role.getRoleId())); + rm7.setMenuId(1010L); + list.add(rm7); + SysRoleMenu rm8 = new SysRoleMenu(); + rm8.setRoleId(Long.valueOf(role.getRoleId())); + rm8.setMenuId(1011L); + list.add(rm8); roleMenuMapper.batchRoleMenu(list); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysRoleServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysRoleServiceImpl.java index 67b6fc1..103cbf0 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysRoleServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysRoleServiceImpl.java @@ -73,6 +73,7 @@ public class SysRoleServiceImpl implements ISysRoleService String str = role.getRoleKey().replace("\\", "\\\\").replace("%", "\\%").replace("_", "\\_"); role.setRoleKey(str); } + role.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId()); return roleMapper.selectRoleList(role); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java index bad006e..b08b4ef 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java @@ -109,6 +109,8 @@ public class SysUserServiceImpl implements ISysUserService { String phone =user.getPhonenumber().replace("\\", "\\\\").replace("%", "\\%").replace("_", "\\_"); user.setPhonenumber(phone); } + user.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId()); + log.info("用户信息{},部门信息{}",user,SecurityUtils.getLoginUser().getSysUser().getDeptId()); List sysUsers = userMapper.selectUserList(user); return sysUsers; } diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysRoleMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysRoleMapper.xml index d1f9393..882b66d 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysRoleMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysRoleMapper.xml @@ -52,6 +52,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and date_format(r.create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') + + AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, + ancestors) )) + order by r.role_sort