diff --git a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysDept.java b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysDept.java index 11e7f1b..fccbf3c 100644 --- a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysDept.java +++ b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysDept.java @@ -108,6 +108,10 @@ public class SysDept extends BaseEntity { private SysUser sysUser; + /** + *角色名称 + */ + private String roleName; public void setCity(String city) { this.city = city; @@ -178,6 +182,14 @@ public class SysDept extends BaseEntity { this.sysUser = sysUser; } + public String getRoleName() { + return roleName; + } + + public void setRoleName(String roleName) { + this.roleName = roleName; + } + /** * 子部门 */ diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysDeptMapper.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysDeptMapper.java index 8311602..dbbcc00 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysDeptMapper.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysDeptMapper.java @@ -1,6 +1,8 @@ package com.bonus.system.mapper; import java.util.List; + +import com.bonus.system.api.domain.SysUser; import org.apache.ibatis.annotations.Param; import com.bonus.system.api.domain.SysDept; @@ -123,4 +125,11 @@ public interface SysDeptMapper * @return 结果 */ public int deleteDeptById(Long deptId); + + /** + * 获取公司管理员详情 + * @param deptId + * @return + */ + public SysUser selectDeptAndUserById(Long deptId); } 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 909b7c6..796d283 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 @@ -330,6 +330,10 @@ public class SysDeptServiceImpl implements ISysDeptService // 如果该部门是启用状态,则启用该部门的所有上级部门 updateParentDeptStatusNormal(dept); } + //判断是否是修改公司信息并判断是否关联用户信息 + if (Objects.nonNull(dept.getParentId()) && dept.getParentId().equals(0L)){ + updateCompanyAdminUserAndRole(dept); + } return result; } @@ -508,5 +512,23 @@ public class SysDeptServiceImpl implements ISysDeptService sysRoleMenulist.add(rm8); roleMenuMapper.batchRoleMenu(sysRoleMenulist); } + + /** + * 修改公司管理员用户和角色信息 + * @param dept + */ + private void updateCompanyAdminUserAndRole(SysDept dept) { + SysUser user = dept.getSysUser(); + user.setUpdateBy(SecurityUtils.getUsername()); + user.setDeptId(dept.getDeptId()); + SysRole role = new SysRole(); + role.setRoleName(dept.getRoleName()); + role.setUpdateBy(SecurityUtils.getUsername()); + SysUser oldSysUser = deptMapper.selectDeptAndUserById(dept.getDeptId()); + role.setRoleId(oldSysUser.getRoleId()); + user.setUserId(oldSysUser.getUserId()); + userMapper.updateUser(user); + roleMapper.updateRole(role); + } } diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml index 7f626ce..44d9e09 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -236,4 +236,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update sys_dept set del_flag = '2' where dept_id = #{deptId} +