mdf:uservue
This commit is contained in:
@@ -49,7 +49,7 @@ public class SysRoleController {
|
||||
@PutMapping
|
||||
// @SaCheckPermission("roles:edit")
|
||||
public ResponseEntity<Object> update(@RequestBody JSONObject param) {
|
||||
roleService.update(param);
|
||||
// roleService.update(param);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,11 +18,8 @@ package org.nl.system.controller.user;
|
||||
import cn.dev33.satoken.secure.SaSecureUtil;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -43,9 +40,9 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.function.BiPredicate;
|
||||
|
||||
/**
|
||||
* @author Zheng Jie
|
||||
@@ -63,10 +60,9 @@ public class UserController {
|
||||
|
||||
@ApiOperation("查询用户")
|
||||
@GetMapping
|
||||
// @SaCheckPermission("user:list")
|
||||
public ResponseEntity<Object> query(UserQuery query, PageQuery page){
|
||||
Page<SysUser> pageable = userService.page(page.build(), query.build());
|
||||
return new ResponseEntity<>(TableDataInfo.build(pageable),HttpStatus.OK);
|
||||
List<Map<String, Object>> userDetail = userService.getUserDetail(query, page);
|
||||
return new ResponseEntity(TableDataInfo.build(userDetail),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("新增用户")
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
package org.nl.system.service.user;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.system.service.user.dao.SysUser;
|
||||
import org.nl.system.service.user.dto.UserQuery;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -18,4 +22,6 @@ public interface ISysUserService extends IService<SysUser> {
|
||||
|
||||
Map<String, String> updateAvatar(MultipartFile avatar);
|
||||
|
||||
List<Map<String, Object>> getUserDetail(UserQuery query, PageQuery pageQuery);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
package org.nl.system.service.user.dao.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.system.service.user.dao.SysUser;
|
||||
import org.nl.system.service.user.dto.SysUserDetail;
|
||||
import org.nl.system.service.user.dto.UserQuery;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -16,8 +21,8 @@ import java.util.List;
|
||||
*/
|
||||
public interface SysUserMapper extends BaseMapper<SysUser> {
|
||||
|
||||
List<SysUser> selectAl();
|
||||
@Select("select * from sys_user")
|
||||
List<SysUser> selectAl2();
|
||||
List<SysUserDetail> getUserDetail(@Param("query") UserQuery query, @Param("page")PageQuery page);
|
||||
|
||||
List<Map<String,Object>> getDetailForMap(@Param("query") UserQuery query, @Param("page")PageQuery page);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,121 @@
|
||||
<?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="org.nl.system.service.user.dao.mapper.SysUserMapper">
|
||||
<sql id="Base_Column_List">
|
||||
sys_user.user_id as userId,
|
||||
sys_user.username as username,
|
||||
sys_user.person_name as personName,
|
||||
sys_user.gender,
|
||||
sys_user.phone,
|
||||
sys_user.email,
|
||||
sys_user.avatar_name as avatarName,
|
||||
sys_user.avatar_path as avatarPath,
|
||||
sys_user.password,
|
||||
sys_user.is_admin as isAdmin,
|
||||
sys_user.is_used as isUsed,
|
||||
sys_user.pwd_reset_user_id as pwdResetUserId,
|
||||
sys_user.pwd_reset_time as pwdResetTime,
|
||||
sys_user.create_id as createId,
|
||||
sys_user.create_name as createName,
|
||||
sys_user.create_time as createTime,
|
||||
sys_user.update_optid as updateOptid,
|
||||
sys_user.update_optname as updateOptname,
|
||||
sys_user.update_time as updateTime,
|
||||
sys_user.extperson_id as extpersonId,
|
||||
sys_user.extuser_id as extuserId
|
||||
</sql>
|
||||
<resultMap id="UserDetail" type="org.nl.system.service.user.dto.SysUserDetail" >
|
||||
<id column="user_id" property="userId" />
|
||||
<result column="username" property="username" />
|
||||
<result column="person_name" property="personName" />
|
||||
<result column="gender" property="gender" />
|
||||
<result column="phone" property="phone" />
|
||||
<result column="email" property="email" />
|
||||
<result column="avatar_name" property="avatarName" />
|
||||
<result column="avatar_path" property="avatarPath" />
|
||||
<result column="password" property="password" />
|
||||
<result column="is_admin" property="isAdmin" />
|
||||
<result column="is_used" property="isUsed" />
|
||||
<result column="pwd_reset_user_id" property="pwdResetUserId" />
|
||||
<result column="pwd_reset_time" property="pwdResetTime" />
|
||||
<result column="create_id" property="createId" />
|
||||
<result column="create_name" property="createName" />
|
||||
<result column="create_time" property="createTime" />
|
||||
<result column="update_optid" property="updateOptid" />
|
||||
<result column="update_optname" property="updateOptname" />
|
||||
<result column="update_tim" property="updateTime" />
|
||||
<result column="extperson_id" property="extpersonId" />
|
||||
<result column="extuser_i" property="extuserId" />
|
||||
<collection property="depts" ofType="org.nl.system.service.dept.dao.SysDept">
|
||||
<id property="dept_id" column="deptId"/>
|
||||
<result column="dept_name" property="name"/>
|
||||
</collection>
|
||||
<collection property="roles" ofType="org.nl.system.service.role.dao.SysRole">
|
||||
<id property="role_id" column="levelId"/>
|
||||
<result column="name" property="name"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
<select id="getUserDetail" resultMap="UserDetail">
|
||||
SELECT
|
||||
<include refid="Base_Column_List"/>
|
||||
,sys_dept.dept_id
|
||||
,sys_dept.name as dept_name
|
||||
,sys_role.role_id
|
||||
,sys_role.name as role_name
|
||||
FROM
|
||||
sys_user
|
||||
left join sys_user_dept on sys_user.user_id = sys_user_dept.user_id
|
||||
left join sys_users_roles on sys_users_roles.user_id = sys_user.user_id
|
||||
left join sys_dept on sys_user_dept.dept_id = sys_dept.dept_id
|
||||
left join sys_role on sys_users_roles.role_id = sys_role.role_id
|
||||
<where>
|
||||
<if test="query.deptId != null">
|
||||
and sys_dept.dept_id = #{query.deptId}
|
||||
</if>
|
||||
<if test="query.isUsed != null">
|
||||
and sys_user.is_used = #{query.isUsed}
|
||||
</if>
|
||||
<if test="query.startTime != null">
|
||||
and and sys_user.create_time >= #{query.startTime}
|
||||
</if>
|
||||
<if test="query.endTime != null">
|
||||
and #{query.endTime} >= sys_user.create_time
|
||||
</if>
|
||||
<if test="query.blurry != null">
|
||||
and (email like query.blurry or username like query.blurry or person_name like query.blurry)
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY sys_user.user_id
|
||||
</select>
|
||||
|
||||
<select id="getDetailForMap" resultType="java.util.Map">
|
||||
SELECT
|
||||
<include refid="Base_Column_List"/>
|
||||
,GROUP_CONCAT(DISTINCT sys_dept.dept_id) as depts,
|
||||
GROUP_CONCAT(DISTINCT sys_dept.name) as deptnames,
|
||||
GROUP_CONCAT(DISTINCT role_id) as roles
|
||||
FROM
|
||||
sys_user
|
||||
left join sys_user_dept on sys_user.user_id = sys_user_dept.user_id
|
||||
left join sys_users_roles on sys_users_roles.user_id = sys_user.user_id
|
||||
left join sys_dept on sys_user_dept.dept_id = sys_dept.dept_id
|
||||
<where>
|
||||
<if test="query.deptId != null">
|
||||
and sys_dept.dept_id = #{query.deptId}
|
||||
</if>
|
||||
<if test="query.isUsed != null">
|
||||
and sys_user.is_used = #{query.isUsed}
|
||||
</if>
|
||||
<if test="query.startTime != null">
|
||||
and and sys_user.create_time >= #{query.startTime}
|
||||
</if>
|
||||
<if test="query.endTime != null">
|
||||
and #{query.endTime} >= sys_user.create_time
|
||||
</if>
|
||||
<if test="query.blurry != null">
|
||||
and (email like #{query.blurry} or username like #{query.blurry} or person_name like #{query.blurry})
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY sys_user.user_id
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package org.nl.system.service.user.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.system.service.dept.dao.SysDept;
|
||||
import org.nl.system.service.role.dao.SysRole;
|
||||
import org.nl.system.service.user.dao.SysUser;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2022/12/16 10:02 上午
|
||||
*/
|
||||
@Data
|
||||
public class SysUserDetail extends SysUser {
|
||||
|
||||
private List<SysDept> depts;
|
||||
|
||||
private List<SysRole> roles;
|
||||
}
|
||||
@@ -1,20 +1,26 @@
|
||||
package org.nl.system.service.user.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.modules.common.config.FileProperties;
|
||||
import org.nl.modules.common.utils.FileUtil;
|
||||
import org.nl.modules.common.utils.SecurityUtils;
|
||||
import org.nl.system.service.user.ISysUserService;
|
||||
import org.nl.system.service.user.dao.SysUser;
|
||||
import org.nl.system.service.user.dao.mapper.SysUserMapper;
|
||||
import org.nl.system.service.user.dto.SysUserDetail;
|
||||
import org.nl.system.service.user.dto.UserQuery;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -31,6 +37,8 @@ public class ISysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> imp
|
||||
|
||||
@Autowired
|
||||
FileProperties properties;
|
||||
@Autowired
|
||||
SysUserMapper sysUserMapper;
|
||||
|
||||
@Override
|
||||
public Map<String, String> updateAvatar(MultipartFile multipartFile) {
|
||||
@@ -47,4 +55,10 @@ public class ISysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> imp
|
||||
put("avatar", file.getName());
|
||||
}};
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> getUserDetail(UserQuery query, PageQuery pageQuery) {
|
||||
List<Map<String, Object>> userDetail = sysUserMapper.getDetailForMap(query, pageQuery);
|
||||
return userDetail;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user