소스 검색

Merge remote-tracking branch 'origin/test' into test

wks 2 년 전
부모
커밋
0c9dfdfcc4

+ 6 - 30
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -111,48 +111,24 @@ public class SysUserController extends BaseController {
 
     /**
      * 用户角色分页查询
-     *
      * @param pageRequest
      * @return
      */
     @PostMapping(value = "/queryPage")
     public HttpResult queryPage(@RequestBody PageRequest pageRequest) {
-        int pageNum = pageRequest.getPageNum();
-        int pageSize = pageRequest.getPageSize();
         String deptid = pageRequest.getColumnFilterValue(pageRequest, "deptid");
         String name = pageRequest.getColumnFilterValue(pageRequest, "name");
         String containsSubDept = pageRequest.getColumnFilterValue(pageRequest, "containsSubDept");
         String mobile = pageRequest.getColumnFilterValue(pageRequest, "mobile");
-        StringBuffer whereStr = new StringBuffer(" where 1=1");
-        ArrayList array = new ArrayList();
-        LambdaQueryWrapper<SysUser> lqw = new LambdaQueryWrapper();
-        if (!StringUtils.isEmpty(deptid) && !StringUtils.isEmpty(containsSubDept) && "1".equals(containsSubDept)) {
-            lqw.likeRight(SysUser::getDeptId, deptid);
-//            whereStr.append(" and dept_id like ?");
-//            array.add(deptid + "%");
-        } else if (!StringUtils.isEmpty(deptid)) {
-            lqw.eq(SysUser::getDeptId, deptid);
-//            whereStr.append(" and dept_id = ?");
-//            array.add(deptid);
-        }
-        if (!StringUtils.isEmpty(name)) {
-            lqw.eq(SysUser::getName, name);
-//            whereStr.append(" and name = ?");
-//            array.add(name);
-        }
-        if (!StringUtils.isEmpty(mobile)) {
-            lqw.eq(SysUser::getMobile, mobile);
-//            whereStr.append(" and mobile = ?");
-//            array.add(mobile);
-        }
-
-        Page p = PageRequest.buildPageRequest(pageRequest);
-        IPage<SysUser> pResult = sysUserService.page(p, lqw);
+        SysUser sysUser = new SysUser();
+        sysUser.setDeptId(deptid);
+        sysUser.setName(name);
+        sysUser.setMobile(mobile);
+        Page page = PageRequest.buildPageRequest(pageRequest);
+        IPage<SysUser> pResult = sysUserService.selectUserPage(page,sysUser,containsSubDept);
         //传入查询条件
         PageResult pageResult = PageResult.buildPageResult(pResult);
         return HttpResult.ok(pageResult);
-
-
     }
 
     /**

+ 13 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -1,6 +1,9 @@
 package com.ydtech.modules.admin.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.core.page.PageResult;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
 import com.ydtech.modules.admin.model.vo.SysUserVO;
@@ -123,6 +126,16 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
             "</script>"})
     List<SysUserBaseVO> gainUserBaseInfo(@Param("page") PageDto pageDto);
 
+    /**
+     * 获取用户列表
+     * @param page 分页信息
+     * @param sysUser   查询条件
+     * @param containsSubDept   是否包含下级机构
+     * @return
+     */
+    public IPage<SysUser> selectUserPage(Page page, @Param("sysUser")SysUser sysUser,@Param("containsSubDept")String containsSubDept);
+
+
 
     //    @Select("select count(1) " + selectUserFromSql + selectUserFromWhereSql)
     @Select({"<script>", "select count(1) ", selectUserFromSql, selectUserFromWhereSql, "</script>"})

+ 11 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -1,6 +1,8 @@
 package com.ydtech.modules.admin.service;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.admin.model.SysUser;
@@ -41,6 +43,15 @@ public interface SysUserService extends IService<SysUser> {
 
     public PageResult selectPagingCustom(int pageNumber, int pageSize, String name, String deptCode);
 
+    /**
+     * 获取用户列表
+     * @param page 分页信息
+     * @param sysUser 查询条件
+     * @param containsSubDept 是否汉堡下级机构
+     * @return
+     */
+    public IPage<SysUser> selectUserPage(Page page, SysUser sysUser,String containsSubDept);
+
     public void findSysUseresmUserInternalVORoles(PageResult pageResult);
 
     public Integer deleteFlag(List<SysUser> lsSysUser);

+ 14 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -3,6 +3,8 @@ package com.ydtech.modules.admin.service.impl;
 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.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageResult;
@@ -156,6 +158,18 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
         return null;
     }
 
+    /**
+     * 获取用户列表
+     * @param page 分页信息
+     * @param sysUser 查询条件
+     * @param containsSubDept 是否汉堡下级机构
+     * @return
+     */
+    @Override
+    public IPage<SysUser> selectUserPage(Page page, SysUser sysUser,String containsSubDept) {
+        return baseMapper.selectUserPage(page,sysUser,containsSubDept);
+    }
+
     @Override
     public void findSysUseresmUserInternalVORoles(PageResult pageResult) {
 

+ 77 - 0
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -0,0 +1,77 @@
+<?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.ydtech.modules.admin.dao.SysUserMapper">
+
+    <resultMap id="sysUserMap" type="com.ydtech.modules.admin.model.SysUser">
+        <id column="id" jdbcType="VARCHAR" property="id"/>
+        <result column="name" jdbcType="VARCHAR" property="name"/>
+        <result column="mobile" jdbcType="VARCHAR" property="mobile"/>
+        <result column="status" jdbcType="VARCHAR" property="status"/>
+        <result column="identity" jdbcType="VARCHAR" property="identity"/>
+        <result column="dept_id" jdbcType="VARCHAR" property="deptId"/>
+        <result column="openid" jdbcType="VARCHAR" property="openid"/>
+        <result column="role_id" jdbcType="VARCHAR" property="roleId"/>
+        <result column="role_name" jdbcType="VARCHAR" property="roleName"/>
+        <result column="dept_name" jdbcType="VARCHAR" property="deptName"/>
+        <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
+        <result column="create_by" jdbcType="VARCHAR" property="createBy"/>
+        <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
+        <result column="update_by" jdbcType="TIMESTAMP" property="updateBy"/>
+    </resultMap>
+
+    <sql id="Sys_User_Column_List">
+            su.id,
+            su.name,
+            su.mobile,
+            su.status,
+            su.openid,
+            su.identity,
+            su.dept_id,
+            su.create_by,
+            su.create_time,
+            su.update_by,
+            su.update_time,
+            sur.role_id,
+            sr.name as role_name,
+            sd.name as dept_name,
+            su.create_time,
+            su.create_by,
+            su.update_time,
+            su.update_by
+        from sys_user su
+        left join sys_user_role sur on su.id = sur.user_id
+        left join sys_role sr on sur.role_id = sr.id
+        left join sys_dept sd on su.dept_id = sd.id
+    </sql>
+
+
+    <sql id="Sys_User_Where_Clause">
+        <where>
+            <if test="sysUser.name != null &amp;&amp; sysUser.name != ''">
+                and su.name = #{sysUser.name}
+            </if>
+            <if test="sysUser.mobile != null &amp;&amp; sysUser.mobile != ''">
+                and su.mobile = #{sysUser.mobile}
+            </if>
+
+            <if test="sysUser.status != null">
+                and su.status = #{sysUser.status}
+            </if>
+            <if test="containsSubDept != null &amp;&amp; containsSubDept == 0">
+                and su.dept_id = #{sysUser.deptId}
+            </if>
+            <if test="containsSubDept != null &amp;&amp; containsSubDept == 1">
+                <!-- 查询子部门 -->
+                and su.dept_id like concat('%',#{sysUser.deptId},'%')
+            </if>
+        </where>
+    </sql>
+
+    <select id="selectUserPage" resultMap="sysUserMap">
+        select
+            <include refid="Sys_User_Column_List"/>
+            <include refid="Sys_User_Where_Clause"></include>
+    </select>
+
+</mapper>