refactor: 优化用户、角色、字典分页查询
This commit is contained in:
parent
88ea29feff
commit
eff0fd9e12
@ -25,8 +25,4 @@ import lombok.Data;
|
|||||||
public class DictQueryCriteria {
|
public class DictQueryCriteria {
|
||||||
|
|
||||||
private String blurry;
|
private String blurry;
|
||||||
|
|
||||||
private Long offset;
|
|
||||||
|
|
||||||
private Long size;
|
|
||||||
}
|
}
|
||||||
|
@ -29,8 +29,4 @@ public class RoleQueryCriteria {
|
|||||||
private String blurry;
|
private String blurry;
|
||||||
|
|
||||||
private List<Timestamp> createTime;
|
private List<Timestamp> createTime;
|
||||||
|
|
||||||
private Long offset;
|
|
||||||
|
|
||||||
private Long size;
|
|
||||||
}
|
}
|
||||||
|
@ -40,8 +40,4 @@ public class UserQueryCriteria implements Serializable {
|
|||||||
private Long deptId;
|
private Long deptId;
|
||||||
|
|
||||||
private List<Timestamp> createTime;
|
private List<Timestamp> createTime;
|
||||||
|
|
||||||
private Long offset;
|
|
||||||
|
|
||||||
private Long size;
|
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
package me.zhengjie.modules.system.mapper;
|
package me.zhengjie.modules.system.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import me.zhengjie.modules.system.domain.Dict;
|
import me.zhengjie.modules.system.domain.Dict;
|
||||||
import me.zhengjie.modules.system.domain.vo.DictQueryCriteria;
|
import me.zhengjie.modules.system.domain.vo.DictQueryCriteria;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
@ -29,7 +31,7 @@ import java.util.List;
|
|||||||
@Mapper
|
@Mapper
|
||||||
public interface DictMapper extends BaseMapper<Dict> {
|
public interface DictMapper extends BaseMapper<Dict> {
|
||||||
|
|
||||||
List<Dict> findAll(@Param("criteria") DictQueryCriteria criteria);
|
IPage<Dict> findAll(@Param("criteria") DictQueryCriteria criteria, Page<Object> page);
|
||||||
|
|
||||||
Long countAll(@Param("criteria") DictQueryCriteria criteria);
|
List<Dict> findAll(@Param("criteria") DictQueryCriteria criteria);
|
||||||
}
|
}
|
@ -16,6 +16,8 @@
|
|||||||
package me.zhengjie.modules.system.mapper;
|
package me.zhengjie.modules.system.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import me.zhengjie.modules.system.domain.Role;
|
import me.zhengjie.modules.system.domain.Role;
|
||||||
import me.zhengjie.modules.system.domain.vo.RoleQueryCriteria;
|
import me.zhengjie.modules.system.domain.vo.RoleQueryCriteria;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
@ -33,18 +35,20 @@ public interface RoleMapper extends BaseMapper<Role> {
|
|||||||
|
|
||||||
List<Role> queryAll();
|
List<Role> queryAll();
|
||||||
|
|
||||||
|
List<Role> findAll(@Param("criteria") RoleQueryCriteria criteria);
|
||||||
|
|
||||||
|
IPage<Role> findAll(@Param("criteria") RoleQueryCriteria criteria, Page<Object> page);
|
||||||
|
|
||||||
Role findById(@Param("roleId") Long roleId);
|
Role findById(@Param("roleId") Long roleId);
|
||||||
|
|
||||||
Role findByName(@Param("name") String name);
|
Role findByName(@Param("name") String name);
|
||||||
|
|
||||||
List<Role> findByUserId(@Param("userId") Long userId);
|
List<Role> findByUserId(@Param("userId") Long userId);
|
||||||
|
|
||||||
Long countAll(@Param("criteria") RoleQueryCriteria criteria);
|
|
||||||
|
|
||||||
List<Role> findAll(@Param("criteria") RoleQueryCriteria criteria);
|
|
||||||
|
|
||||||
int countByDepts(@Param("deptIds") Set<Long> deptIds);
|
int countByDepts(@Param("deptIds") Set<Long> deptIds);
|
||||||
|
|
||||||
@Select("SELECT role.role_id as id FROM sys_role role, sys_roles_menus rm " +
|
@Select("SELECT role.role_id as id FROM sys_role role, sys_roles_menus rm " +
|
||||||
"WHERE role.role_id = rm.role_id AND rm.menu_id = #{menuId}")
|
"WHERE role.role_id = rm.role_id AND rm.menu_id = #{menuId}")
|
||||||
List<Role> findByMenuId(@Param("menuId") Long menuId);
|
List<Role> findByMenuId(@Param("menuId") Long menuId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,7 @@ import java.util.Set;
|
|||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface UserJobMapper {
|
public interface UserJobMapper {
|
||||||
|
|
||||||
void insertData(@Param("userId") Long userId, @Param("jobs") Set<Job> jobs);
|
void insertData(@Param("userId") Long userId, @Param("jobs") Set<Job> jobs);
|
||||||
|
|
||||||
void deleteByUserId(@Param("userId") Long userId);
|
void deleteByUserId(@Param("userId") Long userId);
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
package me.zhengjie.modules.system.mapper;
|
package me.zhengjie.modules.system.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import me.zhengjie.modules.system.domain.User;
|
import me.zhengjie.modules.system.domain.User;
|
||||||
import me.zhengjie.modules.system.domain.vo.UserQueryCriteria;
|
import me.zhengjie.modules.system.domain.vo.UserQueryCriteria;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
@ -34,7 +36,7 @@ public interface UserMapper extends BaseMapper<User> {
|
|||||||
|
|
||||||
List<User> findAll(@Param("criteria") UserQueryCriteria criteria);
|
List<User> findAll(@Param("criteria") UserQueryCriteria criteria);
|
||||||
|
|
||||||
Long countAll(@Param("criteria") UserQueryCriteria criteria);
|
IPage<User> findAll(@Param("criteria") UserQueryCriteria criteria, Page<Object> page);
|
||||||
|
|
||||||
User findByUsername(@Param("username") String username);
|
User findByUsername(@Param("username") String username);
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
package me.zhengjie.modules.system.service.impl;
|
package me.zhengjie.modules.system.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -48,10 +49,8 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, Dict> implements Di
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<Dict> queryAll(DictQueryCriteria criteria, Page<Object> page){
|
public PageResult<Dict> queryAll(DictQueryCriteria criteria, Page<Object> page){
|
||||||
criteria.setOffset(page.offset());
|
IPage<Dict> dicts = dictMapper.findAll(criteria, page);
|
||||||
List<Dict> dicts = dictMapper.findAll(criteria);
|
return PageUtil.toPage(dicts);
|
||||||
Long total = dictMapper.countAll(criteria);
|
|
||||||
return PageUtil.toPage(dicts,total);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -17,6 +17,7 @@ package me.zhengjie.modules.system.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -71,10 +72,8 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<Role> queryAll(RoleQueryCriteria criteria, Page<Object> page) {
|
public PageResult<Role> queryAll(RoleQueryCriteria criteria, Page<Object> page) {
|
||||||
criteria.setOffset(page.offset());
|
IPage<Role> roles = roleMapper.findAll(criteria, page);
|
||||||
List<Role> roles = roleMapper.findAll(criteria);
|
return PageUtil.toPage(roles);
|
||||||
Long total = roleMapper.countAll(criteria);
|
|
||||||
return PageUtil.toPage(roles, total);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package me.zhengjie.modules.system.service.impl;
|
package me.zhengjie.modules.system.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -63,10 +64,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<User> queryAll(UserQueryCriteria criteria, Page<Object> page) {
|
public PageResult<User> queryAll(UserQueryCriteria criteria, Page<Object> page) {
|
||||||
criteria.setOffset(page.offset());
|
IPage<User> users = userMapper.findAll(criteria, page);
|
||||||
List<User> users = userMapper.findAll(criteria);
|
return PageUtil.toPage(users);
|
||||||
Long total = userMapper.countAll(criteria);
|
|
||||||
return PageUtil.toPage(users, total);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -25,35 +25,19 @@
|
|||||||
dd.detail_id as dd_id, dd.label, dd.`value`, dd.create_time as dd_create_time
|
dd.detail_id as dd_id, dd.label, dd.`value`, dd.create_time as dd_create_time
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="Where_sql">
|
<select id="findAll" resultMap="BaseResultMap">
|
||||||
|
SELECT <include refid="Base_Column_List"/>,
|
||||||
|
<include refid="Dict_Details_Column_List"/>
|
||||||
|
from sys_dict d
|
||||||
|
left join sys_dict_detail dd on d.dict_id = dd.dict_id
|
||||||
<where>
|
<where>
|
||||||
<if test="criteria.blurry != null and criteria.blurry != ''">
|
<if test="criteria.blurry != null and criteria.blurry != ''">
|
||||||
and (
|
and (
|
||||||
d.name like concat('%', #{criteria.blurry}, '%')
|
d.name like concat('%', #{criteria.blurry}, '%')
|
||||||
or d.description like concat('%', #{criteria.blurry}, '%')
|
or d.description like concat('%', #{criteria.blurry}, '%')
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</sql>
|
|
||||||
|
|
||||||
<select id="findAll" resultMap="BaseResultMap">
|
|
||||||
SELECT d.*,
|
|
||||||
<include refid="Dict_Details_Column_List"/>
|
|
||||||
from (
|
|
||||||
select <include refid="Base_Column_List"/>
|
|
||||||
from sys_dict d
|
|
||||||
<include refid="Where_sql"/>
|
|
||||||
<if test="criteria.offset != null">
|
|
||||||
limit #{criteria.offset}, #{criteria.size}
|
|
||||||
</if>
|
|
||||||
) d
|
|
||||||
left join sys_dict_detail dd on d.dict_id = dd.dict_id
|
|
||||||
order by d.dict_id desc
|
order by d.dict_id desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="countAll" resultType="java.lang.Long">
|
|
||||||
select count(*)
|
|
||||||
from sys_dict d
|
|
||||||
<include refid="Where_sql"/>
|
|
||||||
</select>
|
|
||||||
</mapper>
|
</mapper>
|
@ -36,7 +36,21 @@
|
|||||||
dept.dept_id as dept_id, dept.name as dept_name
|
dept.dept_id as dept_id, dept.name as dept_name
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="Where_sql">
|
<select id="queryAll" resultType="me.zhengjie.modules.system.domain.Role">
|
||||||
|
select role_id as id, name, level
|
||||||
|
from sys_role order by level
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="findAll" resultMap="BaseResultMap">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List"/>,
|
||||||
|
<include refid="Dept_Column_List"/>,
|
||||||
|
<include refid="Menu_Column_List"/>
|
||||||
|
from sys_role role
|
||||||
|
left join sys_roles_menus srm on role.role_id = srm.role_id
|
||||||
|
left join sys_menu menu on menu.menu_id = srm.menu_id
|
||||||
|
left join sys_roles_depts srd on role.role_id = srd.role_id
|
||||||
|
left join sys_dept dept on dept.dept_id = srd.dept_id
|
||||||
<where>
|
<where>
|
||||||
<if test="criteria.blurry != null and criteria.blurry != ''">
|
<if test="criteria.blurry != null and criteria.blurry != ''">
|
||||||
and (
|
and (
|
||||||
@ -48,37 +62,7 @@
|
|||||||
and role.create_time between #{criteria.createTime[0]} and #{criteria.createTime[1]}
|
and role.create_time between #{criteria.createTime[0]} and #{criteria.createTime[1]}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</sql>
|
order by role.level
|
||||||
|
|
||||||
<select id="queryAll" resultType="me.zhengjie.modules.system.domain.Role">
|
|
||||||
select role_id as id, name, level
|
|
||||||
from sys_role order by level
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="findAll" resultMap="BaseResultMap">
|
|
||||||
select role.*,
|
|
||||||
<include refid="Dept_Column_List"/>,
|
|
||||||
<include refid="Menu_Column_List"/>
|
|
||||||
from (
|
|
||||||
select
|
|
||||||
<include refid="Base_Column_List"/>
|
|
||||||
from sys_role role
|
|
||||||
<include refid="Where_sql"/>
|
|
||||||
<if test="criteria.offset != null">
|
|
||||||
limit #{criteria.offset}, #{criteria.size}
|
|
||||||
</if>
|
|
||||||
) role
|
|
||||||
left join sys_roles_menus srm on role.role_role_id = srm.role_id
|
|
||||||
left join sys_menu menu on menu.menu_id = srm.menu_id
|
|
||||||
left join sys_roles_depts srd on role.role_role_id = srd.role_id
|
|
||||||
left join sys_dept dept on dept.dept_id = srd.dept_id
|
|
||||||
order by role.role_level
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="countAll" resultType="java.lang.Long">
|
|
||||||
select count(*)
|
|
||||||
from sys_role role
|
|
||||||
<include refid="Where_sql"/>
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="findByName" resultType="me.zhengjie.modules.system.domain.Role">
|
<select id="findByName" resultType="me.zhengjie.modules.system.domain.Role">
|
||||||
|
@ -52,7 +52,17 @@
|
|||||||
r.role_id as role_id, r.name as role_name, r.level as role_level, r.data_scope as role_data_scope
|
r.role_id as role_id, r.name as role_name, r.level as role_level, r.data_scope as role_data_scope
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="Whrer_Sql">
|
<select id="findAll" resultMap="BaseResultMap">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List"/>,
|
||||||
|
<include refid="Job_Column_List"/>,
|
||||||
|
<include refid="Role_Column_List"/>
|
||||||
|
from sys_user u
|
||||||
|
left join sys_dept d on u.dept_id = d.dept_id
|
||||||
|
left join sys_users_jobs suj on u.user_id = suj.user_id
|
||||||
|
left join sys_job j on suj.job_id = j.job_id
|
||||||
|
left join sys_users_roles sur on u.user_id = sur.user_id
|
||||||
|
left join sys_role r on sur.role_id = r.role_id
|
||||||
<where>
|
<where>
|
||||||
<if test="criteria.id != null">
|
<if test="criteria.id != null">
|
||||||
and u.user_id = #{criteria.id}
|
and u.user_id = #{criteria.id}
|
||||||
@ -77,34 +87,7 @@
|
|||||||
and u.create_time between #{criteria.createTime[0]} and #{criteria.createTime[1]}
|
and u.create_time between #{criteria.createTime[0]} and #{criteria.createTime[1]}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</sql>
|
order by u.user_id desc
|
||||||
|
|
||||||
<select id="findAll" resultMap="BaseResultMap">
|
|
||||||
select u.*,
|
|
||||||
<include refid="Job_Column_List"/>,
|
|
||||||
<include refid="Role_Column_List"/>
|
|
||||||
from (
|
|
||||||
select
|
|
||||||
<include refid="Base_Column_List"/>
|
|
||||||
from sys_user u
|
|
||||||
left join sys_dept d on u.dept_id = d.dept_id
|
|
||||||
<include refid="Whrer_Sql"/>
|
|
||||||
<if test="criteria.offset != null">
|
|
||||||
order by u.user_id desc
|
|
||||||
limit #{criteria.offset}, #{criteria.size}
|
|
||||||
</if>
|
|
||||||
) u
|
|
||||||
left join sys_users_jobs suj on u.user_user_id = suj.user_id
|
|
||||||
left join sys_job j on suj.job_id = j.job_id
|
|
||||||
left join sys_users_roles sur on u.user_user_id = sur.user_id
|
|
||||||
left join sys_role r on sur.role_id = r.role_id
|
|
||||||
order by u.user_user_id desc
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="countAll" resultType="java.lang.Long">
|
|
||||||
select count(*)
|
|
||||||
from sys_user u
|
|
||||||
<include refid="Whrer_Sql"/>
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="findByUsername" resultMap="BaseResultMap">
|
<select id="findByUsername" resultMap="BaseResultMap">
|
||||||
|
Loading…
Reference in New Issue
Block a user