This commit is contained in:
2022-12-16 16:12:26 +08:00
5 changed files with 33 additions and 33 deletions

View File

@@ -61,8 +61,7 @@ public class UserController {
@ApiOperation("查询用户") @ApiOperation("查询用户")
@GetMapping @GetMapping
public ResponseEntity<Object> query(UserQuery query, PageQuery page){ public ResponseEntity<Object> query(UserQuery query, PageQuery page){
List<Map<String, Object>> userDetail = userService.getUserDetail(query, page); return new ResponseEntity(TableDataInfo.build(userService.getUserDetail(query, page)),HttpStatus.OK);
return new ResponseEntity(TableDataInfo.build(userDetail),HttpStatus.OK);
} }
@Log("新增用户") @Log("新增用户")

View File

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery; import org.nl.common.domain.query.PageQuery;
import org.nl.system.service.user.dao.SysUser; 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 org.nl.system.service.user.dto.UserQuery;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@@ -22,6 +23,6 @@ public interface ISysUserService extends IService<SysUser> {
Map<String, String> updateAvatar(MultipartFile avatar); Map<String, String> updateAvatar(MultipartFile avatar);
List<Map<String, Object>> getUserDetail(UserQuery query, PageQuery pageQuery); List<SysUserDetail> getUserDetail(UserQuery query, PageQuery pageQuery);
} }

View File

@@ -25,49 +25,46 @@
sys_user.extuser_id as extuserId sys_user.extuser_id as extuserId
</sql> </sql>
<resultMap id="UserDetail" type="org.nl.system.service.user.dto.SysUserDetail" > <resultMap id="UserDetail" type="org.nl.system.service.user.dto.SysUserDetail" >
<id column="user_id" property="userId" /> <id column="userId" property="userId" />
<result column="username" property="username" /> <result column="username" property="username" />
<result column="person_name" property="personName" /> <result column="personName" property="personName" />
<result column="gender" property="gender" /> <result column="gender" property="gender" />
<result column="phone" property="phone" /> <result column="phone" property="phone" />
<result column="email" property="email" /> <result column="email" property="email" />
<result column="avatar_name" property="avatarName" /> <result column="avatarName" property="avatarName" />
<result column="avatar_path" property="avatarPath" /> <result column="avatarPath" property="avatarPath" />
<result column="password" property="password" /> <result column="password" property="password" />
<result column="is_admin" property="isAdmin" /> <result column="isAdmin" property="isAdmin" />
<result column="is_used" property="isUsed" /> <result column="isUsed" property="isUsed" />
<result column="pwd_reset_user_id" property="pwdResetUserId" /> <result column="pwdResetUserId" property="pwdResetUserId" />
<result column="pwd_reset_time" property="pwdResetTime" /> <result column="pwdResetTime" property="pwdResetTime" />
<result column="create_id" property="createId" /> <result column="create_id" property="createId" />
<result column="create_name" property="createName" /> <result column="createName" property="createName" />
<result column="create_time" property="createTime" /> <result column="createTime" property="createTime" />
<result column="update_id" property="updateId" /> <result column="updateId" property="updateId" />
<result column="update_name" property="updateName" /> <result column="updateName" property="updateName" />
<result column="update_tim" property="updateTime" /> <result column="updateTime" property="updateTime" />
<result column="extperson_id" property="extpersonId" /> <result column="extpersonId" property="extpersonId" />
<result column="extuser_i" property="extuserId" /> <result column="extuserId" property="extuserId" />
<collection property="depts" ofType="org.nl.system.service.dept.dao.SysDept"> <collection property="depts" ofType="org.nl.system.service.dept.dao.SysDept">
<id property="dept_id" column="deptId"/> <id property="deptId" column="deptId"/>
<result column="dept_name" property="name"/> <result column="deptName" property="name"/>
</collection> </collection>
<collection property="roles" ofType="org.nl.system.service.role.dao.SysRole"> <collection property="roles" ofType="org.nl.system.service.role.dao.SysRole">
<id property="role_id" column="levelId"/> <id property="roleId" column="roleId"/>
<result column="name" property="name"/>
</collection> </collection>
</resultMap> </resultMap>
<select id="getUserDetail" resultMap="UserDetail"> <select id="getUserDetail" resultMap="UserDetail">
SELECT SELECT
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>
,sys_dept.dept_id ,sys_dept.dept_id as deptId
,sys_dept.name as dept_name ,sys_dept.name as deptName
,sys_role.role_id ,sys_users_roles.role_id as roleId
,sys_role.name as role_name
FROM FROM
sys_user sys_user
left join sys_user_dept on sys_user.user_id = sys_user_dept.user_id 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_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_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> <where>
<if test="query.deptId != null"> <if test="query.deptId != null">
and sys_dept.dept_id = #{query.deptId} and sys_dept.dept_id = #{query.deptId}
@@ -82,10 +79,9 @@
and #{query.endTime} >= sys_user.create_time and #{query.endTime} >= sys_user.create_time
</if> </if>
<if test="query.blurry != null"> <if test="query.blurry != null">
and (email like query.blurry or username like query.blurry or person_name like query.blurry) and (email like #{query.blurry} or username like #{query.blurry} or person_name like #{query.blurry})
</if> </if>
</where> </where>
GROUP BY sys_user.user_id
</select> </select>
<select id="getDetailForMap" resultType="java.util.Map"> <select id="getDetailForMap" resultType="java.util.Map">

View File

@@ -57,8 +57,8 @@ public class ISysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> imp
} }
@Override @Override
public List<Map<String, Object>> getUserDetail(UserQuery query, PageQuery pageQuery) { public List<SysUserDetail> getUserDetail(UserQuery query, PageQuery pageQuery) {
List<Map<String, Object>> userDetail = sysUserMapper.getDetailForMap(query, pageQuery); List<SysUserDetail> userDetail = sysUserMapper.getUserDetail(query, pageQuery);
return userDetail; return userDetail;
} }
} }

View File

@@ -154,7 +154,11 @@
<el-table-column prop="gender" label="性别" :min-width="flexWidth('personName',crud.data,'性别')" /> <el-table-column prop="gender" label="性别" :min-width="flexWidth('personName',crud.data,'性别')" />
<el-table-column prop="phone" label="电话" :min-width="flexWidth('phone',crud.data,'电话')" /> <el-table-column prop="phone" label="电话" :min-width="flexWidth('phone',crud.data,'电话')" />
<el-table-column prop="email" label="邮箱" :min-width="flexWidth('email',crud.data,'邮箱')" /> <el-table-column prop="email" label="邮箱" :min-width="flexWidth('email',crud.data,'邮箱')" />
<el-table-column show-overflow-tooltip prop="deptnames" label="部门" /> <el-table-column show-overflow-tooltip prop="depts" label="部门" >
<template slot-scope="scope">
<span>{{ scope.row.depts }}</span>
</template>
</el-table-column>>
<el-table-column label="状态" align="center" prop="enabled"> <el-table-column label="状态" align="center" prop="enabled">
<template slot-scope="scope"> <template slot-scope="scope">
<span :style="{'color': caseStatusColorFilter(scope.row.isUsed)}">{{ enabledTypeOptions.find(item => {return item.key == scope.row.isUsed}).display_name }}</span> <span :style="{'color': caseStatusColorFilter(scope.row.isUsed)}">{{ enabledTypeOptions.find(item => {return item.key == scope.row.isUsed}).display_name }}</span>
@@ -318,7 +322,7 @@
</template> </template>
<script> <script>
import crudUser from '@/views/system/user' import crudUser from '@/views/system/user/user'
import crudDept from '@/api/system/dept' import crudDept from '@/api/system/dept'
// import crudDataPermission from '@/views/system/permission/dataPermission' // import crudDataPermission from '@/views/system/permission/dataPermission'
import { getAll, getLevel } from '@/views/system/role/role' import { getAll, getLevel } from '@/views/system/role/role'