Browse Source

update 简化用户与角色功能

疯狂的狮子li 4 năm trước cách đây
mục cha
commit
1ec6263399

+ 5 - 0
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/UserConstants.java

@@ -21,6 +21,11 @@ public interface UserConstants {
      */
     String EXCEPTION = "1";
 
+    /**
+     * 用户正常状态
+     */
+    String USER_NORMAL = "0";
+
     /**
      * 用户封禁状态
      */

+ 0 - 33
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleDeptMapper.java

@@ -3,8 +3,6 @@ package com.ruoyi.system.mapper;
 import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
 import com.ruoyi.system.domain.SysRoleDept;
 
-import java.util.List;
-
 /**
  * 角色与部门关联表 数据层
  *
@@ -12,35 +10,4 @@ import java.util.List;
  */
 public interface SysRoleDeptMapper extends BaseMapperPlus<SysRoleDeptMapper, SysRoleDept, SysRoleDept> {
 
-    /**
-     * 通过角色ID删除角色和部门关联
-     *
-     * @param roleId 角色ID
-     * @return 结果
-     */
-    int deleteRoleDeptByRoleId(Long roleId);
-
-    /**
-     * 批量删除角色部门关联信息
-     *
-     * @param ids 需要删除的数据ID
-     * @return 结果
-     */
-    int deleteRoleDept(Long[] ids);
-
-    /**
-     * 查询部门使用数量
-     *
-     * @param deptId 部门ID
-     * @return 结果
-     */
-    int selectCountRoleDeptByDeptId(Long deptId);
-
-    /**
-     * 批量新增角色部门信息
-     *
-     * @param roleDeptList 角色部门列表
-     * @return 结果
-     */
-    int batchRoleDept(List<SysRoleDept> roleDeptList);
 }

+ 0 - 33
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java

@@ -3,8 +3,6 @@ package com.ruoyi.system.mapper;
 import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
 import com.ruoyi.system.domain.SysRoleMenu;
 
-import java.util.List;
-
 /**
  * 角色与菜单关联表 数据层
  *
@@ -12,35 +10,4 @@ import java.util.List;
  */
 public interface SysRoleMenuMapper extends BaseMapperPlus<SysRoleMenuMapper, SysRoleMenu, SysRoleMenu> {
 
-    /**
-     * 查询菜单使用数量
-     *
-     * @param menuId 菜单ID
-     * @return 结果
-     */
-    int checkMenuExistRole(Long menuId);
-
-    /**
-     * 通过角色ID删除角色和菜单关联
-     *
-     * @param roleId 角色ID
-     * @return 结果
-     */
-    int deleteRoleMenuByRoleId(Long roleId);
-
-    /**
-     * 批量删除角色菜单关联信息
-     *
-     * @param ids 需要删除的数据ID
-     * @return 结果
-     */
-    int deleteRoleMenu(Long[] ids);
-
-    /**
-     * 批量新增角色菜单信息
-     *
-     * @param roleMenuList 角色菜单列表
-     * @return 结果
-     */
-    int batchRoleMenu(List<SysRoleMenu> roleMenuList);
 }

+ 10 - 7
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java

@@ -1,5 +1,7 @@
 package com.ruoyi.system.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.mybatis.annotation.DataColumn;
 import com.ruoyi.common.mybatis.annotation.DataPermission;
@@ -20,43 +22,44 @@ public interface SysUserMapper extends BaseMapperPlus<SysUserMapper, SysUser, Sy
         @DataColumn(key = "deptName", value = "d.dept_id"),
         @DataColumn(key = "userName", value = "u.user_id")
     })
-    Page<SysUser> selectPageUserList(@Param("page") Page<SysUser> page, @Param("user") SysUser user);
+    Page<SysUser> selectPageUserList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper);
 
     /**
      * 根据条件分页查询用户列表
      *
-     * @param sysUser 用户信息
+     * @param queryWrapper 查询条件
      * @return 用户信息集合信息
      */
     @DataPermission({
         @DataColumn(key = "deptName", value = "d.dept_id"),
         @DataColumn(key = "userName", value = "u.user_id")
     })
-    List<SysUser> selectUserList(SysUser sysUser);
+    List<SysUser> selectUserList(@Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper);
 
     /**
      * 根据条件分页查询已配用户角色列表
      *
-     * @param user 用户信息
+     * @param queryWrapper 查询条件
      * @return 用户信息集合信息
      */
     @DataPermission({
         @DataColumn(key = "deptName", value = "d.dept_id"),
         @DataColumn(key = "userName", value = "u.user_id")
     })
-    Page<SysUser> selectAllocatedList(@Param("page") Page<SysUser> page, @Param("user") SysUser user);
+    Page<SysUser> selectAllocatedList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper);
 
     /**
      * 根据条件分页查询未分配用户角色列表
      *
-     * @param user 用户信息
+     * @param queryWrapper 查询条件
      * @return 用户信息集合信息
      */
     @DataPermission({
         @DataColumn(key = "deptName", value = "d.dept_id"),
         @DataColumn(key = "userName", value = "u.user_id")
     })
-    Page<SysUser> selectUnallocatedList(@Param("page") Page<SysUser> page, @Param("user") SysUser user);
+    Page<SysUser> selectUnallocatedList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper);
+
 
     /**
      * 通过用户名查询用户

+ 0 - 33
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java

@@ -3,8 +3,6 @@ package com.ruoyi.system.mapper;
 import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
 import com.ruoyi.system.domain.SysUserPost;
 
-import java.util.List;
-
 /**
  * 用户与岗位关联表 数据层
  *
@@ -12,35 +10,4 @@ import java.util.List;
  */
 public interface SysUserPostMapper extends BaseMapperPlus<SysUserPostMapper, SysUserPost, SysUserPost> {
 
-    /**
-     * 通过用户ID删除用户和岗位关联
-     *
-     * @param userId 用户ID
-     * @return 结果
-     */
-    int deleteUserPostByUserId(Long userId);
-
-    /**
-     * 通过岗位ID查询岗位使用数量
-     *
-     * @param postId 岗位ID
-     * @return 结果
-     */
-    int countUserPostById(Long postId);
-
-    /**
-     * 批量删除用户和岗位关联
-     *
-     * @param ids 需要删除的数据ID
-     * @return 结果
-     */
-    int deleteUserPost(Long[] ids);
-
-    /**
-     * 批量新增用户岗位信息
-     *
-     * @param userPostList 用户角色列表
-     * @return 结果
-     */
-    int batchUserPost(List<SysUserPost> userPostList);
 }

+ 1 - 50
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java

@@ -2,9 +2,6 @@ package com.ruoyi.system.mapper;
 
 import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
 import com.ruoyi.system.domain.SysUserRole;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
 
 /**
  * 用户与角色关联表 数据层
@@ -13,52 +10,6 @@ import java.util.List;
  */
 public interface SysUserRoleMapper extends BaseMapperPlus<SysUserRoleMapper, SysUserRole, SysUserRole> {
 
-    /**
-     * 通过用户ID删除用户和角色关联
-     *
-     * @param userId 用户ID
-     * @return 结果
-     */
-    int deleteUserRoleByUserId(Long userId);
-
-    /**
-     * 批量删除用户和角色关联
-     *
-     * @param ids 需要删除的数据ID
-     * @return 结果
-     */
-    int deleteUserRole(Long[] ids);
-
-    /**
-     * 通过角色ID查询角色使用数量
-     *
-     * @param roleId 角色ID
-     * @return 结果
-     */
-    int countUserRoleByRoleId(Long roleId);
-
-    /**
-     * 批量新增用户角色信息
-     *
-     * @param userRoleList 用户角色列表
-     * @return 结果
-     */
-    int batchUserRole(List<SysUserRole> userRoleList);
-
-    /**
-     * 删除用户和角色关联信息
-     *
-     * @param userRole 用户和角色关联信息
-     * @return 结果
-     */
-    int deleteUserRoleInfo(SysUserRole userRole);
+    Long selectUserIdByRoleId(Long roleId);
 
-    /**
-     * 批量取消授权用户角色
-     *
-     * @param roleId  角色ID
-     * @param userIds 需要删除的用户数据ID
-     * @return 结果
-     */
-    int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds);
 }

+ 2 - 2
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java

@@ -328,9 +328,9 @@ public class SysRoleServiceImpl implements ISysRoleService {
     @Transactional(rollbackFor = Exception.class)
     public int deleteRoleById(Long roleId) {
         // 删除角色与菜单关联
-        roleMenuMapper.deleteRoleMenuByRoleId(roleId);
+        roleMenuMapper.delete(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, roleId));
         // 删除角色与部门关联
-        roleDeptMapper.deleteRoleDeptByRoleId(roleId);
+        roleDeptMapper.delete(new LambdaQueryWrapper<SysRoleDept>().eq(SysRoleDept::getRoleId, roleId));
         return baseMapper.deleteById(roleId);
     }
 

+ 49 - 9
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -2,8 +2,11 @@ package com.ruoyi.system.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.constant.UserConstants;
 import com.ruoyi.common.core.exception.ServiceException;
@@ -11,6 +14,7 @@ import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.mybatis.core.page.PageQuery;
 import com.ruoyi.common.mybatis.core.page.TableDataInfo;
 import com.ruoyi.common.satoken.utils.LoginHelper;
+import com.ruoyi.system.api.domain.SysDept;
 import com.ruoyi.system.api.domain.SysRole;
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.domain.SysPost;
@@ -27,6 +31,7 @@ import org.springframework.util.CollectionUtils;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -40,6 +45,7 @@ import java.util.stream.Collectors;
 public class SysUserServiceImpl implements ISysUserService {
 
     private final SysUserMapper baseMapper;
+    private final SysDeptMapper deptMapper;
     private final SysRoleMapper roleMapper;
     private final SysPostMapper postMapper;
     private final SysUserRoleMapper userRoleMapper;
@@ -47,7 +53,7 @@ public class SysUserServiceImpl implements ISysUserService {
 
     @Override
     public TableDataInfo<SysUser> selectPageUserList(SysUser user, PageQuery pageQuery) {
-        Page<SysUser> page = baseMapper.selectPageUserList(pageQuery.build(), user);
+        Page<SysUser> page = baseMapper.selectPageUserList(pageQuery.build(), this.buildQueryWrapper(user));
         return TableDataInfo.build(page);
     }
 
@@ -59,7 +65,28 @@ public class SysUserServiceImpl implements ISysUserService {
      */
     @Override
     public List<SysUser> selectUserList(SysUser user) {
-        return baseMapper.selectUserList(user);
+        return baseMapper.selectUserList(this.buildQueryWrapper(user));
+    }
+
+    private Wrapper<SysUser> buildQueryWrapper(SysUser user) {
+        Map<String, Object> params = user.getParams();
+        QueryWrapper<SysUser> wrapper = Wrappers.query();
+        wrapper.eq("u.del_flag", UserConstants.USER_NORMAL)
+            .eq(ObjectUtil.isNotNull(user.getUserId()), "u.user_id", user.getUserId())
+            .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName())
+            .eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus())
+            .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber())
+            .between(params.get("beginTime") != null && params.get("endTime") != null,
+                "u.create_time", params.get("beginTime"), params.get("endTime"))
+            .and(ObjectUtil.isNotNull(user.getDeptId()), w -> {
+                List<SysDept> deptList = deptMapper.selectList(new LambdaQueryWrapper<SysDept>()
+                    .select(SysDept::getDeptId)
+                    .apply("find_in_set({0},ancestors)", user.getDeptId()));
+                w.eq("u.dept_id", user.getDeptId())
+                    .or()
+                    .in("u.dept_id", deptList.stream().map(SysDept::getDeptId).collect(Collectors.toList()));
+            });
+        return wrapper;
     }
 
     /**
@@ -70,7 +97,13 @@ public class SysUserServiceImpl implements ISysUserService {
      */
     @Override
     public TableDataInfo<SysUser> selectAllocatedList(SysUser user, PageQuery pageQuery) {
-        Page<SysUser> page = baseMapper.selectAllocatedList(pageQuery.build(), user);
+        QueryWrapper<SysUser> wrapper = Wrappers.query();
+        wrapper.eq("u.del_flag", UserConstants.USER_NORMAL)
+            .eq(ObjectUtil.isNotNull(user.getRoleId()), "r.role_id", user.getRoleId())
+            .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName())
+            .eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus())
+            .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber());
+        Page<SysUser> page = baseMapper.selectAllocatedList(pageQuery.build(), wrapper);
         return TableDataInfo.build(page);
     }
 
@@ -82,7 +115,14 @@ public class SysUserServiceImpl implements ISysUserService {
      */
     @Override
     public TableDataInfo<SysUser> selectUnallocatedList(SysUser user, PageQuery pageQuery) {
-        Page<SysUser> page = baseMapper.selectUnallocatedList(pageQuery.build(), user);
+        Long userId = userRoleMapper.selectUserIdByRoleId(user.getRoleId());
+        QueryWrapper<SysUser> wrapper = Wrappers.query();
+        wrapper.eq("u.del_flag", UserConstants.USER_NORMAL)
+            .and(w -> w.ne("r.role_id", user.getRoleId()).or().isNull("r.role_id"))
+            .notIn("u.user_id", userId)
+            .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName())
+            .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber());
+        Page<SysUser> page = baseMapper.selectUnallocatedList(pageQuery.build(), wrapper);
         return TableDataInfo.build(page);
     }
 
@@ -258,11 +298,11 @@ public class SysUserServiceImpl implements ISysUserService {
     public int updateUser(SysUser user) {
         Long userId = user.getUserId();
         // 删除用户与角色关联
-        userRoleMapper.deleteUserRoleByUserId(userId);
+        userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId));
         // 新增用户与角色管理
         insertUserRole(user);
         // 删除用户与岗位关联
-        userPostMapper.deleteUserPostByUserId(userId);
+        userPostMapper.delete(new LambdaQueryWrapper<SysUserPost>().eq(SysUserPost::getUserId, userId));
         // 新增用户与岗位管理
         insertUserPost(user);
         return baseMapper.updateById(user);
@@ -362,7 +402,7 @@ public class SysUserServiceImpl implements ISysUserService {
                 list.add(ur);
             }
             if (list.size() > 0) {
-                userRoleMapper.batchUserRole(list);
+                userRoleMapper.insertBatch(list);
             }
         }
     }
@@ -384,7 +424,7 @@ public class SysUserServiceImpl implements ISysUserService {
                 list.add(up);
             }
             if (list.size() > 0) {
-                userPostMapper.batchUserPost(list);
+                userPostMapper.insertBatch(list);
             }
         }
     }
@@ -406,7 +446,7 @@ public class SysUserServiceImpl implements ISysUserService {
                 list.add(ur);
             }
             if (list.size() > 0) {
-                userRoleMapper.batchUserRole(list);
+                userRoleMapper.insertBatch(list);
             }
         }
     }

+ 12 - 34
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml

@@ -1,34 +1,12 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.system.mapper.SysRoleDeptMapper">
-
-	<resultMap type="SysRoleDept" id="SysRoleDeptResult">
-		<result property="roleId"     column="role_id"      />
-		<result property="deptId"     column="dept_id"      />
-	</resultMap>
-
-	<delete id="deleteRoleDeptByRoleId" parameterType="Long">
-		delete from sys_role_dept where role_id=#{roleId}
-	</delete>
-	
-	<select id="selectCountRoleDeptByDeptId" resultType="Integer">
-	    select count(1) from sys_role_dept where dept_id=#{deptId}
-	</select>
-	
-	<delete id="deleteRoleDept" parameterType="Long">
- 		delete from sys_role_dept where role_id in
- 		<foreach collection="array" item="roleId" open="(" separator="," close=")">
- 			#{roleId}
-        </foreach> 
- 	</delete>
-	
-	<insert id="batchRoleDept">
-		insert into sys_role_dept(role_id, dept_id) values
-		<foreach item="item" index="index" collection="list" separator=",">
-			(#{item.roleId},#{item.deptId})
-		</foreach>
-	</insert>
-	
-</mapper> 
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.SysRoleDeptMapper">
+
+	<resultMap type="SysRoleDept" id="SysRoleDeptResult">
+		<result property="roleId"     column="role_id"      />
+		<result property="deptId"     column="dept_id"      />
+	</resultMap>
+
+</mapper>

+ 12 - 34
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml

@@ -1,34 +1,12 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.system.mapper.SysRoleMenuMapper">
-
-	<resultMap type="SysRoleMenu" id="SysRoleMenuResult">
-		<result property="roleId"     column="role_id"      />
-		<result property="menuId"     column="menu_id"      />
-	</resultMap>
-	
-	<select id="checkMenuExistRole" resultType="Integer">
-	    select count(1) from sys_role_menu where menu_id = #{menuId}
-	</select>
-
-	<delete id="deleteRoleMenuByRoleId" parameterType="Long">
-		delete from sys_role_menu where role_id=#{roleId}
-	</delete>
-	
-	<delete id="deleteRoleMenu" parameterType="Long">
- 		delete from sys_role_menu where role_id in
- 		<foreach collection="array" item="roleId" open="(" separator="," close=")">
- 			#{roleId}
-        </foreach> 
- 	</delete>
-	
-	<insert id="batchRoleMenu">
-		insert into sys_role_menu(role_id, menu_id) values
-		<foreach item="item" index="index" collection="list" separator=",">
-			(#{item.roleId},#{item.menuId})
-		</foreach>
-	</insert>
-	
-</mapper> 
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.SysRoleMenuMapper">
+
+	<resultMap type="SysRoleMenu" id="SysRoleMenuResult">
+		<result property="roleId"     column="role_id"      />
+		<result property="menuId"     column="menu_id"      />
+	</resultMap>
+
+</mapper>

+ 4 - 54
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -87,50 +87,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from
         sys_user u
         left join sys_dept d on u.dept_id = d.dept_id
-        where u.del_flag = '0'
-        <if test="user.userId != null and user.userId != 0">
-            AND u.user_id = #{user.userId}
-        </if>
-        <if test="user.userName != null and user.userName != ''">
-            AND u.user_name like concat('%', #{user.userName}, '%')
-        </if>
-        <if test="user.status != null and user.status != ''">
-            AND u.status = #{user.status}
-        </if>
-        <if test="user.phonenumber != null and user.phonenumber != ''">
-            AND u.phonenumber like concat('%', #{user.phonenumber}, '%')
-        </if>
-        <if test="user.params.beginTime != null and user.params.endTime != null">
-            AND u.create_time between #{user.params.beginTime} and #{user.params.endTime}
-        </if>
-        <if test="user.deptId != null and user.deptId != 0">
-            AND (u.dept_id = #{user.deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{user.deptId},
-            ancestors) ))
-        </if>
+        ${ew.getCustomSqlSegment}
     </select>
 
     <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
 		select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
 		left join sys_dept d on u.dept_id = d.dept_id
-		where u.del_flag = '0'
-		<if test="userId != null and userId != 0">
-			AND u.user_id = #{userId}
-		</if>
-		<if test="userName != null and userName != ''">
-			AND u.user_name like concat('%', #{userName}, '%')
-		</if>
-		<if test="status != null and status != ''">
-			AND u.status = #{status}
-		</if>
-		<if test="phonenumber != null and phonenumber != ''">
-			AND u.phonenumber like concat('%', #{phonenumber}, '%')
-		</if>
-        <if test="params.beginTime != null and params.endTime != null">
-            AND u.create_time between #{params.beginTime} and #{params.endTime}
-        </if>
-		<if test="deptId != null and deptId != 0">
-			AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
-		</if>
+        ${ew.getCustomSqlSegment}
 	</select>
 
 	<select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
@@ -139,13 +102,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			 left join sys_dept d on u.dept_id = d.dept_id
 			 left join sys_user_role ur on u.user_id = ur.user_id
 			 left join sys_role r on r.role_id = ur.role_id
-	    where u.del_flag = '0' and r.role_id = #{user.roleId}
-	    <if test="user.userName != null and user.userName != ''">
-			AND u.user_name like concat('%', #{user.userName}, '%')
-		</if>
-		<if test="user.phonenumber != null and user.phonenumber != ''">
-			AND u.phonenumber like concat('%', #{user.phonenumber}, '%')
-		</if>
+        ${ew.getCustomSqlSegment}
 	</select>
 
 	<select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult">
@@ -154,14 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			 left join sys_dept d on u.dept_id = d.dept_id
 			 left join sys_user_role ur on u.user_id = ur.user_id
 			 left join sys_role r on r.role_id = ur.role_id
-	    where u.del_flag = '0' and (r.role_id != #{user.roleId} or r.role_id IS NULL)
-	    and u.user_id not in (select u.user_id from sys_user u inner join sys_user_role ur on u.user_id = ur.user_id and ur.role_id = #{user.roleId})
-	    <if test="user.userName != null and user.userName != ''">
-			AND u.user_name like concat('%', #{user.userName}, '%')
-		</if>
-		<if test="user.phonenumber != null and user.phonenumber != ''">
-			AND u.phonenumber like concat('%', #{user.phonenumber}, '%')
-		</if>
+        ${ew.getCustomSqlSegment}
 	</select>
 
 	<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">

+ 12 - 34
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml

@@ -1,34 +1,12 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.system.mapper.SysUserPostMapper">
-
-	<resultMap type="SysUserPost" id="SysUserPostResult">
-		<result property="userId"     column="user_id"      />
-		<result property="postId"     column="post_id"      />
-	</resultMap>
-
-	<delete id="deleteUserPostByUserId" parameterType="Long">
-		delete from sys_user_post where user_id=#{userId}
-	</delete>
-	
-	<select id="countUserPostById" resultType="Integer">
-	    select count(1) from sys_user_post where post_id=#{postId}  
-	</select>
-	
-	<delete id="deleteUserPost" parameterType="Long">
- 		delete from sys_user_post where user_id in
- 		<foreach collection="array" item="userId" open="(" separator="," close=")">
- 			#{userId}
-        </foreach> 
- 	</delete>
-	
-	<insert id="batchUserPost">
-		insert into sys_user_post(user_id, post_id) values
-		<foreach item="item" index="index" collection="list" separator=",">
-			(#{item.userId},#{item.postId})
-		</foreach>
-	</insert>
-	
-</mapper> 
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.SysUserPostMapper">
+
+	<resultMap type="SysUserPost" id="SysUserPostResult">
+		<result property="userId"     column="user_id"      />
+		<result property="postId"     column="post_id"      />
+	</resultMap>
+
+</mapper>

+ 18 - 44
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml

@@ -1,44 +1,18 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.system.mapper.SysUserRoleMapper">
-
-	<resultMap type="SysUserRole" id="SysUserRoleResult">
-		<result property="userId"     column="user_id"      />
-		<result property="roleId"     column="role_id"      />
-	</resultMap>
-
-	<delete id="deleteUserRoleByUserId" parameterType="Long">
-		delete from sys_user_role where user_id=#{userId}
-	</delete>
-	
-	<select id="countUserRoleByRoleId" resultType="Integer">
-	    select count(1) from sys_user_role where role_id=#{roleId}  
-	</select>
-	
-	<delete id="deleteUserRole" parameterType="Long">
- 		delete from sys_user_role where user_id in
- 		<foreach collection="array" item="userId" open="(" separator="," close=")">
- 			#{userId}
-        </foreach> 
- 	</delete>
-	
-	<insert id="batchUserRole">
-		insert into sys_user_role(user_id, role_id) values
-		<foreach item="item" index="index" collection="list" separator=",">
-			(#{item.userId},#{item.roleId})
-		</foreach>
-	</insert>
-	
-	<delete id="deleteUserRoleInfo" parameterType="SysUserRole">
-		delete from sys_user_role where user_id=#{userId} and role_id=#{roleId}
-	</delete>
-	
-	<delete id="deleteUserRoleInfos">
-	    delete from sys_user_role where role_id=#{roleId} and user_id in
- 	    <foreach collection="userIds" item="userId" open="(" separator="," close=")">
- 	        #{userId}
-            </foreach> 
-	</delete>
-</mapper> 
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.SysUserRoleMapper">
+
+	<resultMap type="SysUserRole" id="SysUserRoleResult">
+		<result property="userId"     column="user_id"      />
+		<result property="roleId"     column="role_id"      />
+	</resultMap>
+
+    <select id="selectUserIdByRoleId" resultType="Long">
+        select u.user_id from sys_user u
+        inner join sys_user_role ur
+            on u.user_id = ur.user_id and ur.role_id = #{roleId}
+    </select>
+
+</mapper>