Commit a9b4541c by yushien

《完善用户信息》完善用户登录这块

parent 604ae45e
......@@ -9,6 +9,7 @@ import com.ruoyi.common.core.domain.model.LoginBody;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.domain.model.SmsLoginBody;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.vo.RouterVo;
import com.ruoyi.system.service.ISysMenuService;
import com.ruoyi.system.service.ISysUserService;
......@@ -40,7 +41,7 @@ public class SysLoginController {
private final ISysUserService userService;
/**
* 登录方法
* PC 后台 登录方法
*
* @param loginBody 登录信息
* @return 结果
......@@ -49,6 +50,32 @@ public class SysLoginController {
@PostMapping("/login")
public R<Map<String, Object>> login(@Validated @RequestBody LoginBody loginBody) {
Map<String, Object> ajax = new HashMap<>();
SysUser sysUser = userService.selectUserByUserName(loginBody.getUsername());
if(null!=sysUser && sysUser.getSex().equals("0")){
throw new SecurityException("请填写正确老师账号");
}
// 生成令牌
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
loginBody.getUuid());
ajax.put(Constants.TOKEN, token);
return R.ok(ajax);
}
/**
* 小程序 登录方法
*
* @param loginBody 登录信息
* @return 结果
*/
@SaIgnore
@PostMapping("/appLogin")
public R<Map<String, Object>> appLogin(@Validated @RequestBody LoginBody loginBody) {
Map<String, Object> ajax = new HashMap<>();
SysUser sysUser = userService.selectUserByUserName(loginBody.getUsername());
if(null!=sysUser && sysUser.getSex().equals("1")){
throw new SecurityException("请填写学生正确学号");
}
// 生成令牌
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
loginBody.getUuid());
......
......@@ -3,6 +3,7 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.secure.BCrypt;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
......@@ -39,6 +40,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 用户信息
......@@ -62,7 +64,16 @@ public class SysUserController extends BaseController {
@SaCheckPermission("system:user:list")
@GetMapping("/list")
public TableDataInfo<SysUser> list(SysUser user, PageQuery pageQuery) {
return userService.selectPageUserList(user, pageQuery);
TableDataInfo<SysUser> sysUserTableDataInfo = userService.selectPageUserListNew(user, pageQuery);
List<SysUser> rows = sysUserTableDataInfo.getRows();
rows.forEach(si->{
if(StringUtils.isNotEmpty(si.getDeptList())){
List<String> colList = CollUtil.newArrayList(si.getDeptList().split(","));
List<String> lis = deptService.selectDeptListByList(colList.stream().mapToLong(t -> Long.parseLong(t.trim())).boxed().collect(Collectors.toList())).stream().map(SysDept::getDeptName).collect(Collectors.toList());
si.setDeptListStr(CollUtil.join(lis, ","));
}
});
return sysUserTableDataInfo;
}
/**
......
......@@ -27,7 +27,7 @@ captcha:
# 开发环境配置
server:
# 服务器的HTTP端口,默认为8080
port: 8080
port: 8111
servlet:
# 应用的访问路径
context-path: /
......
......@@ -148,6 +148,16 @@ public class SysUser extends BaseEntity {
*/
@TableField(exist = false)
private Long roleId;
/**
* 班级名称
*/
private String deptList;
/**
* 班级名称
*/
@TableField(exist = false)
private String deptListStr;
public SysUser(Long userId) {
this.userId = userId;
......
......@@ -27,6 +27,13 @@ public interface SysDeptMapper extends BaseMapperPlus<SysDeptMapper, SysDept, Sy
@DataColumn(key = "deptName", value = "dept_id")
})
List<SysDept> selectDeptList(@Param(Constants.WRAPPER) Wrapper<SysDept> queryWrapper);
/**
* 查询部门管理数据
*
* @param deptList 查询条件
* @return 部门信息集合
*/
List<SysDept> selectDeptListNew(@Param("deptList") List<Long> deptList);
/**
* 根据角色ID查询部门树信息
......
......@@ -24,6 +24,13 @@ public interface SysUserMapper extends BaseMapperPlus<SysUserMapper, SysUser, Sy
})
Page<SysUser> selectPageUserList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper);
@DataPermission({
@DataColumn(key = "deptName", value = "d.dept_id"),
@DataColumn(key = "userName", value = "u.user_id")
})
Page<SysUser> selectPageUserListNew(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper);
/**
* 根据条件分页查询用户列表
*
......
......@@ -19,6 +19,15 @@ public interface ISysDeptService {
*/
List<SysDept> selectDeptList(SysDept dept);
/**
* 根据ID批量查询数据
*
* @param deptList 部门信息
* @return 部门信息集合
*/
List<SysDept> selectDeptListByList(List<Long> deptList);
/**
* 查询部门树结构信息
*
......
......@@ -15,7 +15,7 @@ public interface ISysUserService {
TableDataInfo<SysUser> selectPageUserList(SysUser user, PageQuery pageQuery);
TableDataInfo<SysUser> selectPageUserListNew(SysUser user, PageQuery pageQuery);
/**
* 根据条件分页查询用户列表
*
......
......@@ -58,6 +58,11 @@ public class SysDeptServiceImpl implements ISysDeptService {
return baseMapper.selectDeptList(lqw);
}
@Override
public List<SysDept> selectDeptListByList(List<Long> deptList) {
return baseMapper.selectDeptListNew(deptList);
}
/**
* 查询部门树结构信息
*
......@@ -197,10 +202,12 @@ public class SysDeptServiceImpl implements ISysDeptService {
public int insertDept(SysDept dept) {
SysDept info = baseMapper.selectById(dept.getParentId());
// 如果父节点不为正常状态,则不允许新增子节点
if (!UserConstants.DEPT_NORMAL.equals(info.getStatus())) {
if (null!=info && !UserConstants.DEPT_NORMAL.equals(info.getStatus())) {
throw new ServiceException("部门停用,不允许新增");
}
if(null!=info){
dept.setAncestors(info.getAncestors() + "," + dept.getParentId());
}
return baseMapper.insert(dept);
}
......
......@@ -58,6 +58,12 @@ public class SysUserServiceImpl implements ISysUserService {
return TableDataInfo.build(page);
}
@Override
public TableDataInfo<SysUser> selectPageUserListNew(SysUser user, PageQuery pageQuery) {
Page<SysUser> page = baseMapper.selectPageUserListNew(pageQuery.build(), this.buildQueryWrapper(user));
return TableDataInfo.build(page);
}
/**
* 根据条件分页查询用户列表
*
......
......@@ -26,6 +26,31 @@
select * from sys_dept ${ew.getCustomSqlSegment}
</select>
<select id="selectDeptListNew" resultMap="SysDeptResult">
SELECT
st.dept_id,
st.parent_id,
st.ancestors,
st.order_num,
st.leader,
st.phone,
st.email,
st.status,
st.del_flag,
st.create_by,
st.update_by,
st.update_time,
CONCAT(IFNULL(sd.dept_name,'-'),'#',IFNULL(st.dept_name,'-')) AS dept_name
FROM
sys_dept st
LEFT JOIN sys_dept sd ON st.parent_id = sd.dept_id
where st.del_flag='0'
AND st.dept_id in
<foreach collection="deptList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<select id="selectDeptListByRoleId" resultType="Long">
select d.dept_id
from sys_dept d
......
......@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.SysUserMapper">
<resultMap type="SysUser" id="SysUserResult">
<resultMap type="com.ruoyi.common.core.domain.entity.SysUser" id="SysUserResult">
<id property="userId" column="user_id"/>
<result property="deptId" column="dept_id"/>
<result property="userName" column="user_name"/>
......@@ -24,11 +24,37 @@
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="remark" column="remark"/>
<association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult"/>
<association property="dept" column="dept_id" javaType="com.ruoyi.common.core.domain.entity.SysDept" resultMap="deptResult"/>
<collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>
</resultMap>
<resultMap id="deptResult" type="SysDept">
<resultMap type="com.ruoyi.common.core.domain.entity.SysUser" id="SysUserResult12">
<id property="userId" column="user_id"/>
<result property="deptId" column="dept_id"/>
<result property="userName" column="user_name"/>
<result property="nickName" column="nick_name"/>
<result property="userType" column="user_type"/>
<result property="email" column="email"/>
<result property="phonenumber" column="phonenumber"/>
<result property="sex" column="sex"/>
<result property="avatar" column="avatar"/>
<result property="password" column="password"/>
<result property="status" column="status"/>
<result property="delFlag" column="del_flag"/>
<result property="loginIp" column="login_ip"/>
<result property="loginDate" column="login_date"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="remark" column="remark"/>
<result property="deptList" column="dept_list"/>
<association property="dept" column="dept_id" javaType="com.ruoyi.common.core.domain.entity.SysDept" resultMap="deptResult"/>
<collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>
</resultMap>
<resultMap id="deptResult" type="com.ruoyi.common.core.domain.entity.SysDept">
<id property="deptId" column="dept_id"/>
<result property="parentId" column="parent_id"/>
<result property="deptName" column="dept_name"/>
......@@ -38,7 +64,7 @@
<result property="status" column="dept_status"/>
</resultMap>
<resultMap id="RoleResult" type="SysRole">
<resultMap id="RoleResult" type="com.ruoyi.common.core.domain.entity.SysRole">
<id property="roleId" column="role_id"/>
<result property="roleName" column="role_name"/>
<result property="roleKey" column="role_key"/>
......@@ -92,6 +118,14 @@
${ew.getCustomSqlSegment}
</select>
<select id="selectPageUserListNew" resultMap="SysUserResult12">
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, 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,u.dept_list from
sys_user u
left join sys_dept d on u.dept_id = d.dept_id
${ew.getCustomSqlSegment}
</select>
<select id="selectUserList" resultMap="SysUserResult">
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, 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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment