Browse Source

用户管理、角色管理、部门管理添加租户概念

jichaobo 2 years ago
parent
commit
65ad000bd2
15 changed files with 95 additions and 38 deletions
  1. 1 0
      service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysDeptController.java
  2. 1 0
      service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysRoleController.java
  3. 2 20
      service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysUserController.java
  4. 15 0
      service-system/service-system-biz/src/main/java/com/usky/system/domain/SysDept.java
  5. 13 0
      service-system/service-system-biz/src/main/java/com/usky/system/domain/SysRole.java
  6. 1 2
      service-system/service-system-biz/src/main/java/com/usky/system/domain/SysUser.java
  7. 4 2
      service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysDeptMapper.java
  8. 2 2
      service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysRoleMapper.java
  9. 1 1
      service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysUserMapper.java
  10. 4 2
      service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysDeptServiceImpl.java
  11. 4 2
      service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysRoleServiceImpl.java
  12. 4 1
      service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserServiceImpl.java
  13. 16 2
      service-system/service-system-biz/src/main/resources/mapper/system/SysDeptMapper.xml
  14. 16 2
      service-system/service-system-biz/src/main/resources/mapper/system/SysRoleMapper.xml
  15. 11 2
      service-system/service-system-biz/src/main/resources/mapper/system/SysUserMapper.xml

+ 1 - 0
service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysDeptController.java

@@ -103,6 +103,7 @@ public class SysDeptController extends BaseController
         {
             return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
         }
+        dept.setTenantId(SecurityUtils.getTenantId());
         dept.setCreateBy(SecurityUtils.getUsername());
         return toAjax(deptService.insertDept(dept));
     }

+ 1 - 0
service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysRoleController.java

@@ -68,6 +68,7 @@ public class SysRoleController extends BaseController
         {
             return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增角色'" + role.getRoleName() + "'失败,角色权限已存在");
         }
+        role.setTenantId(SecurityUtils.getTenantId());
         role.setCreateBy(SecurityUtils.getUsername());
         return toAjax(roleService.insertRole(role));
 

+ 2 - 20
service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysUserController.java

@@ -82,16 +82,8 @@ public class SysUserController extends BaseController
         {
             return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增用户'" + user.getUserName() + "'失败,登录账号已存在");
         }
-        else if (StringUtils.isNotBlank(user.getPhonenumber())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
-        {
-            return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增用户'" + user.getUserName() + "'失败,手机号码已存在");
-        }
-        else if (StringUtils.isNotBlank(user.getEmail())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
-        {
-            return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
-        }
+        user.setUserType("00");
+        user.setTenantId(SecurityUtils.getTenantId());
         user.setCreateBy(SecurityUtils.getUsername());
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         int row = userService.insertUser(user);
@@ -106,16 +98,6 @@ public class SysUserController extends BaseController
     public ApiResult<Void> edit(@Validated @RequestBody SysUser user)
     {
         userService.checkUserAllowed(user);
-        if (StringUtils.isNotEmpty(user.getPhonenumber())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
-        {
-            return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "修改用户'" + user.getUserName() + "'失败,手机号码已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getEmail())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
-        {
-            return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
-        }
         user.setUpdateBy(SecurityUtils.getUsername());
         return toAjax(userService.updateUser(user));
     }

+ 15 - 0
service-system/service-system-biz/src/main/java/com/usky/system/domain/SysDept.java

@@ -57,6 +57,21 @@ public class SysDept extends BaseEntity
     @TableField(exist = false)
     private String parentName;
 
+    /**
+     * 租户ID
+     */
+    private Integer tenantId;
+
+    public Integer getTenantId()
+    {
+        return tenantId;
+    }
+
+    public void setTenantId(Integer tenantId)
+    {
+        this.tenantId = tenantId;
+    }
+
     /** 子部门 */
     @TableField(exist = false)
     private List<SysDept> children = new ArrayList<SysDept>();

+ 13 - 0
service-system/service-system-biz/src/main/java/com/usky/system/domain/SysRole.java

@@ -53,11 +53,24 @@ public class SysRole extends BaseEntity
     /** 部门组(数据权限) */
     private Long[] deptIds;
 
+    /** 租户ID */
+    private Integer tenantId;
+
     public SysRole()
     {
 
     }
 
+    public Integer getTenantId()
+    {
+        return tenantId;
+    }
+
+    public void setTenantId(Integer tenantId)
+    {
+        this.tenantId = tenantId;
+    }
+
     public SysRole(Long roleId)
     {
         this.roleId = roleId;

+ 1 - 2
service-system/service-system-biz/src/main/java/com/usky/system/domain/SysUser.java

@@ -88,8 +88,7 @@ public class SysUser extends BaseEntity
     @TableField(exist = false)
     private Long roleId;
 
-    /** 岗位组 */
-    @TableField(exist = false)
+    /** 租户ID */
     private Integer tenantId;
 
     /** 地址 */

+ 4 - 2
service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysDeptMapper.java

@@ -55,7 +55,7 @@ public interface SysDeptMapper extends BaseMapper<SysDept>
      * @param deptId 部门ID
      * @return 子部门数
      */
-    public int selectNormalChildrenDeptById(Long deptId);
+    public int selectNormalChildrenDeptById(Long deptId,Integer tenantId);
 
     /**
      * 是否存在子节点
@@ -80,7 +80,9 @@ public interface SysDeptMapper extends BaseMapper<SysDept>
      * @param parentId 父部门ID
      * @return 结果
      */
-    public SysDept checkDeptNameUnique(@Param("deptName") String deptName, @Param("parentId") Long parentId);
+    public SysDept checkDeptNameUnique(@Param("deptName") String deptName,
+                                       @Param("parentId") Long parentId,
+                                       @Param("tenantId") Integer tenantId);
 
     /**
      * 新增部门信息

+ 2 - 2
service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysRoleMapper.java

@@ -68,7 +68,7 @@ public interface SysRoleMapper extends CrudMapper<SysRole>
      * @param roleName 角色名称
      * @return 角色信息
      */
-    public SysRole checkRoleNameUnique(String roleName);
+    public SysRole checkRoleNameUnique(String roleName,Integer tenantId);
 
     /**
      * 校验角色权限是否唯一
@@ -76,7 +76,7 @@ public interface SysRoleMapper extends CrudMapper<SysRole>
      * @param roleKey 角色权限
      * @return 角色信息
      */
-    public SysRole checkRoleKeyUnique(String roleKey);
+    public SysRole checkRoleKeyUnique(String roleKey,Integer tenantId);
 
     /**
      * 修改角色信息

+ 1 - 1
service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysUserMapper.java

@@ -113,7 +113,7 @@ public interface SysUserMapper extends CrudMapper<SysUser>
      * @param userName 用户名称
      * @return 结果
      */
-    public int checkUserNameUnique(String userName);
+    public int checkUserNameUnique(String userName,Integer tenantId);
 
     /**
      * 校验手机号码是否唯一

+ 4 - 2
service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysDeptServiceImpl.java

@@ -2,6 +2,7 @@ package com.usky.system.service.impl;
 
 
 
+import com.ruoyi.common.security.utils.SecurityUtils;
 import com.usky.common.core.exception.BusinessException;
 import com.usky.common.core.util.Convert;
 import com.usky.common.core.util.StringUtils;
@@ -46,6 +47,7 @@ public class SysDeptServiceImpl extends AbstractCrudService<SysDeptMapper, SysDe
     @Override
     public List<SysDept> selectDeptList(SysDept dept)
     {
+        dept.setTenantId(SecurityUtils.getTenantId());
         return deptMapper.selectDeptList(dept);
     }
 
@@ -128,7 +130,7 @@ public class SysDeptServiceImpl extends AbstractCrudService<SysDeptMapper, SysDe
     @Override
     public int selectNormalChildrenDeptById(Long deptId)
     {
-        return deptMapper.selectNormalChildrenDeptById(deptId);
+        return deptMapper.selectNormalChildrenDeptById(deptId,SecurityUtils.getTenantId());
     }
 
     /**
@@ -167,7 +169,7 @@ public class SysDeptServiceImpl extends AbstractCrudService<SysDeptMapper, SysDe
     public String checkDeptNameUnique(SysDept dept)
     {
         Long deptId = Objects.isNull(dept.getDeptId()) ? -1L : dept.getDeptId();
-        SysDept info = deptMapper.checkDeptNameUnique(dept.getDeptName(), dept.getParentId());
+        SysDept info = deptMapper.checkDeptNameUnique(dept.getDeptName(), dept.getParentId(),SecurityUtils.getTenantId());
         if (Objects.nonNull(info) && info.getDeptId().longValue() != deptId.longValue())
         {
             return UserConstants.NOT_UNIQUE;

+ 4 - 2
service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysRoleServiceImpl.java

@@ -2,6 +2,7 @@ package com.usky.system.service.impl;
 
 
 
+import com.ruoyi.common.security.utils.SecurityUtils;
 import com.usky.common.core.exception.BusinessException;
 import com.usky.common.mvc.base.AbstractCrudService;
 import com.usky.common.spring.util.SpringContextUtils;
@@ -44,6 +45,7 @@ public class SysRoleServiceImpl extends AbstractCrudService<SysRoleMapper, SysRo
     @Override
     public List<SysRole> selectRoleList(SysRole role)
     {
+        role.setTenantId(SecurityUtils.getTenantId());
         return roleMapper.selectRoleList(role);
     }
 
@@ -138,7 +140,7 @@ public class SysRoleServiceImpl extends AbstractCrudService<SysRoleMapper, SysRo
     public String checkRoleNameUnique(SysRole role)
     {
         Long roleId = Objects.isNull(role.getRoleId()) ? -1L : role.getRoleId();
-        SysRole info = roleMapper.checkRoleNameUnique(role.getRoleName());
+        SysRole info = roleMapper.checkRoleNameUnique(role.getRoleName(),SecurityUtils.getTenantId());
         if (Objects.nonNull(info) && info.getRoleId().longValue() != roleId.longValue())
         {
             return UserConstants.NOT_UNIQUE;
@@ -156,7 +158,7 @@ public class SysRoleServiceImpl extends AbstractCrudService<SysRoleMapper, SysRo
     public String checkRoleKeyUnique(SysRole role)
     {
         Long roleId = Objects.isNull(role.getRoleId()) ? -1L : role.getRoleId();
-        SysRole info = roleMapper.checkRoleKeyUnique(role.getRoleKey());
+        SysRole info = roleMapper.checkRoleKeyUnique(role.getRoleKey(),SecurityUtils.getTenantId());
         if (Objects.nonNull(info) && info.getRoleId().longValue() != roleId.longValue())
         {
             return UserConstants.NOT_UNIQUE;

+ 4 - 1
service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserServiceImpl.java

@@ -1,6 +1,7 @@
 package com.usky.system.service.impl;
 
 
+import com.ruoyi.common.security.utils.SecurityUtils;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.core.exception.BusinessException;
 import com.usky.common.core.util.BeanMapperUtils;
@@ -64,6 +65,8 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
      */
     @Override
     public List<SysUser> selectUserList(SysUser user) {
+        user.setTenantId( SecurityUtils.getTenantId());
+        user.setUserType("00");
         return userMapper.selectUserList(user);
     }
 
@@ -158,7 +161,7 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
      */
     @Override
     public String checkUserNameUnique(String userName) {
-        int count = userMapper.checkUserNameUnique(userName);
+        int count = userMapper.checkUserNameUnique(userName,SecurityUtils.getTenantId());
         if (count > 0) {
             return UserConstants.NOT_UNIQUE;
         }

+ 16 - 2
service-system/service-system-biz/src/main/resources/mapper/system/SysDeptMapper.xml

@@ -20,6 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="createTime" column="create_time" />
 		<result property="updateBy"   column="update_by"   />
 		<result property="updateTime" column="update_time" />
+		<result property="tenantId" column="tenant_id" />
 	</resultMap>
 	
 	<sql id="selectDeptVo">
@@ -38,6 +39,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<if test="deptName != null and deptName != ''">
 			AND dept_name like concat('%', #{deptName}, '%')
 		</if>
+		<if test="tenantId != null and tenantId != '' and tenantId != 0">
+			AND tenant_id = #{tenantId}
+		</if>
 		<if test="status != null and status != ''">
 			AND status = #{status}
 		</if>
@@ -76,12 +80,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</select>
 	
 	<select id="selectNormalChildrenDeptById" parameterType="Long" resultType="int">
-		select count(*) from sys_dept where status = 0 and del_flag = '0' and find_in_set(#{deptId}, ancestors)
+		select count(*) from sys_dept where status = 0 and del_flag = '0'
+		<if test="tenantId != null and tenantId != 0">
+			and tenant_id = #{tenantId}
+		</if>
+		    and find_in_set(#{deptId}, ancestors)
 	</select>
 	
 	<select id="checkDeptNameUnique" resultMap="SysDeptResult">
 	    <include refid="selectDeptVo"/>
-		where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1
+		where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0'
+		<if test="tenantId != null and tenantId != 0">
+			and tenant_id = #{tenantId}
+		</if>
+		 limit 1
 	</select>
     
     <insert id="insertDept" parameterType="com.usky.system.domain.SysDept">
@@ -96,6 +108,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="email != null and email != ''">email,</if>
  			<if test="status != null">status,</if>
  			<if test="createBy != null and createBy != ''">create_by,</if>
+			<if test="tenantId != null and tenantId != '' and tenantId != 0">tenant_id,</if>
  			create_time
  		)values(
  			<if test="deptId != null and deptId != 0">#{deptId},</if>
@@ -108,6 +121,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="email != null and email != ''">#{email},</if>
  			<if test="status != null">#{status},</if>
  			<if test="createBy != null and createBy != ''">#{createBy},</if>
+			<if test="tenantId != null and tenantId != '' and tenantId != 0">#{tenantId},</if>
  			sysdate()
  		)
 	</insert>

+ 16 - 2
service-system/service-system-biz/src/main/resources/mapper/system/SysRoleMapper.xml

@@ -19,6 +19,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="updateBy"           column="update_by"             />
 		<result property="updateTime"         column="update_time"           />
 		<result property="remark"             column="remark"                />
+		<result property="tenantId"             column="tenant_id"                />
 	</resultMap>
 	
 	<sql id="selectRoleVo">
@@ -42,6 +43,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<if test="status != null and status != ''">
 			AND r.status = #{status}
 		</if>
+		<if test="tenantId != null and tenantId != '' and tenantId !=0">
+			AND r.tenant_id = #{tenantId}
+		</if>
 		<if test="roleKey != null and roleKey != ''">
 			AND r.role_key like concat('%', #{roleKey}, '%')
 		</if>
@@ -85,12 +89,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	
 	<select id="checkRoleNameUnique" parameterType="String" resultMap="SysRoleResult">
 		<include refid="selectRoleVo"/>
-		 where r.role_name=#{roleName} limit 1
+		 where r.role_name=#{roleName}
+		<if test="tenantId != null and tenantId != '' and tenantId !=0">
+			AND r.tenant_id = #{tenantId}
+		</if>
+		 limit 1
 	</select>
 	
 	<select id="checkRoleKeyUnique" parameterType="String" resultMap="SysRoleResult">
 		<include refid="selectRoleVo"/>
-		 where r.role_key=#{roleKey} limit 1
+		 where r.role_key=#{roleKey}
+		<if test="tenantId != null and tenantId != '' and tenantId !=0">
+			AND r.tenant_id = #{tenantId}
+		</if>
+		  limit 1
 	</select>
 	
  	<insert id="insertRole" parameterType="com.usky.system.domain.SysRole" useGeneratedKeys="true" keyProperty="roleId">
@@ -105,6 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="status != null and status != ''">status,</if>
  			<if test="remark != null and remark != ''">remark,</if>
  			<if test="createBy != null and createBy != ''">create_by,</if>
+			<if test="tenantId != null and tenantId != '' and tenantId !=0">tenant_id,</if>
  			create_time
  		)values(
  			<if test="roleId != null and roleId != 0">#{roleId},</if>
@@ -117,6 +130,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="status != null and status != ''">#{status},</if>
  			<if test="remark != null and remark != ''">#{remark},</if>
  			<if test="createBy != null and createBy != ''">#{createBy},</if>
+			<if test="tenantId != null and tenantId != '' and tenantId !=0">#{tenantId},</if>
  			sysdate()
  		)
 	</insert>

+ 11 - 2
service-system/service-system-biz/src/main/resources/mapper/system/SysUserMapper.xml

@@ -73,6 +73,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<if test="status != null and status != ''">
 			AND u.status = #{status}
 		</if>
+		<if test="tenantId != null and tenantId != '' and tenantId !=0">
+			AND u.tenant_id = #{tenantId}
+		</if>
+		<if test="userType != null and userType != ''">
+			AND u.user_type = #{userType}
+		</if>
 		<if test="phonenumber != null and phonenumber != ''">
 			AND u.phonenumber like concat('%', #{phonenumber}, '%')
 		</if>
@@ -136,7 +142,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</select>
 	
 	<select id="checkUserNameUnique" parameterType="String" resultType="int">
-		select count(1) from sys_user where user_name = #{userName} and del_flag = '2' limit 1
+		select count(1) from sys_user where user_name = #{userName} and del_flag != '2'
+		 <if test="tenantId != null and tenantId != 0">
+			 and tenant_id = #{tenantId}
+		 </if>
+		 limit 1
 	</select>
 	
 	<select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult">
@@ -200,7 +210,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			<if test="loginDate != null">login_date = #{loginDate},</if>
 			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
 			<if test="remark != null">remark = #{remark},</if>
-			<if test="tenantId != null">tenant_id = #{tenantId},</if>
 			<if test="address != null and address != ''">address = #{address},</if>
 			update_time = sysdate()
 		</set>