登录
This commit is contained in:
72
src/main/java/com/yxt/yyth/api/sysuser/SysUser.java
Normal file
72
src/main/java/com/yxt/yyth/api/sysuser/SysUser.java
Normal file
@@ -0,0 +1,72 @@
|
||||
package com.yxt.yyth.api.sysuser;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yxt.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysUser.java <br/>
|
||||
* Class: SysUser <br/>
|
||||
* Description: 用户表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:30 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "用户表", description = "用户表")
|
||||
@TableName("sys_user")
|
||||
@Data
|
||||
public class SysUser extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@ApiModelProperty("登录名,登录名不能相同")
|
||||
private String userName;
|
||||
|
||||
@ApiModelProperty("密码(加密或签名后)")
|
||||
private String password;
|
||||
|
||||
@ApiModelProperty("密码修改时限")
|
||||
private String pwdDayslimit;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||
@ApiModelProperty("最后一次密码修改时间")
|
||||
private Date pwdModifyTime;
|
||||
|
||||
@ApiModelProperty("在线状态(0为离线、1为在线)")
|
||||
private Integer onlineState;
|
||||
|
||||
@ApiModelProperty("用户登录时随机生成身份验证字符串")
|
||||
private String token;
|
||||
|
||||
@ApiModelProperty("是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员")
|
||||
private String isAdmin;
|
||||
|
||||
@ApiModelProperty("手机登录唯一标识,手机与用户绑定字段")
|
||||
private String appId;
|
||||
|
||||
@ApiModelProperty("关联的人员sid")
|
||||
private String staffSid;
|
||||
|
||||
@ApiModelProperty("手机号")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty("用户类型:1员工、2客户、3供应商")
|
||||
private Integer userType;
|
||||
|
||||
@ApiModelProperty("用户头像")
|
||||
private String headImage;
|
||||
|
||||
private String roleSid;
|
||||
private String orgSid;
|
||||
private String postSid;
|
||||
}
|
||||
40
src/main/java/com/yxt/yyth/api/sysuser/SysUserDto.java
Normal file
40
src/main/java/com/yxt/yyth/api/sysuser/SysUserDto.java
Normal file
@@ -0,0 +1,40 @@
|
||||
package com.yxt.yyth.api.sysuser;
|
||||
|
||||
|
||||
import com.yxt.common.core.dto.Dto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysUserDto.java <br/>
|
||||
* Class: SysUserDto <br/>
|
||||
* Description: 用户表 数据传输对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:30 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "用户表 数据传输对象", description = "用户表 数据传输对象")
|
||||
@Data
|
||||
public class SysUserDto implements Dto {
|
||||
@ApiModelProperty("手机号")
|
||||
private String mobile;
|
||||
@ApiModelProperty("用户类型:1员工、2客户、3供应商")
|
||||
private Integer userType;
|
||||
@ApiModelProperty(value = "姓名", required = true)
|
||||
//@NotBlank(message = "姓名不能为空")
|
||||
private String name;
|
||||
@ApiModelProperty(value = "验证码", required = true)
|
||||
//@NotBlank(message = "验证码不能为空")
|
||||
private String verificationCode;
|
||||
@ApiModelProperty(value = "部门sid")
|
||||
private String deptSid;
|
||||
@ApiModelProperty(value = "岗位sid")
|
||||
private String postSid;
|
||||
|
||||
}
|
||||
30
src/main/java/com/yxt/yyth/api/sysuser/SysUserInfoVo.java
Normal file
30
src/main/java/com/yxt/yyth/api/sysuser/SysUserInfoVo.java
Normal file
@@ -0,0 +1,30 @@
|
||||
package com.yxt.yyth.api.sysuser;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author dimengzhe
|
||||
* @Date 2022/2/9 9:12
|
||||
* @Description 用户组织信息
|
||||
*/
|
||||
@Data
|
||||
public class SysUserInfoVo implements Vo {
|
||||
|
||||
private static final long serialVersionUID = 7931121025686046432L;
|
||||
@ApiModelProperty("关联的员工sid")
|
||||
private String staffSid;
|
||||
|
||||
@ApiModelProperty("关联的员工名称")
|
||||
private String staffName;
|
||||
|
||||
@ApiModelProperty("员工的组织sid(多个时为第一个)")
|
||||
private String orgSid;
|
||||
|
||||
@ApiModelProperty("员工的组织名称(多个时为第一个)")
|
||||
private String orgName;
|
||||
|
||||
@ApiModelProperty("员工的组织部门编码")
|
||||
private String orgCode;
|
||||
}
|
||||
19
src/main/java/com/yxt/yyth/api/sysuser/SysUserListVo.java
Normal file
19
src/main/java/com/yxt/yyth/api/sysuser/SysUserListVo.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package com.yxt.yyth.api.sysuser;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author dimengzhe
|
||||
* @Date 2022/9/14 15:36
|
||||
* @Description
|
||||
*/
|
||||
@Data
|
||||
public class SysUserListVo implements Vo {
|
||||
private static final long serialVersionUID = -3047907553025391436L;
|
||||
|
||||
private String name;
|
||||
|
||||
private String sid;
|
||||
|
||||
}
|
||||
51
src/main/java/com/yxt/yyth/api/sysuser/SysUserQuery.java
Normal file
51
src/main/java/com/yxt/yyth/api/sysuser/SysUserQuery.java
Normal file
@@ -0,0 +1,51 @@
|
||||
package com.yxt.yyth.api.sysuser;
|
||||
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysUserQuery.java <br/>
|
||||
* Class: SysUserQuery <br/>
|
||||
* Description: 用户表 查询条件. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:30 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "用户表 查询条件", description = "用户表 查询条件")
|
||||
@Data
|
||||
public class SysUserQuery implements Query {
|
||||
|
||||
|
||||
@ApiModelProperty("角色sid")
|
||||
private String roleSid;
|
||||
@ApiModelProperty("用户名称")
|
||||
private String userName;
|
||||
@ApiModelProperty("姓名")
|
||||
private String name;
|
||||
@ApiModelProperty("部门名称")
|
||||
private String orgName;
|
||||
|
||||
@ApiModelProperty("密码(加密或签名后)")
|
||||
private String password;
|
||||
|
||||
@ApiModelProperty("用户登录时随机生成身份验证字符串")
|
||||
private String token;
|
||||
@ApiModelProperty("用户登录时随机生成的验证码字符串")
|
||||
private String verifyCode;
|
||||
private String uuid;
|
||||
|
||||
@ApiModelProperty("手机登录唯一标识,手机与用户绑定字段")
|
||||
private String appId;
|
||||
@ApiModelProperty("手机登录类型:1、密码登录2、验证码登录")
|
||||
private String type;
|
||||
@ApiModelProperty(value = "是否是测试",example = "false")
|
||||
private Boolean isTest;
|
||||
}
|
||||
92
src/main/java/com/yxt/yyth/api/sysuser/SysUserVo.java
Normal file
92
src/main/java/com/yxt/yyth/api/sysuser/SysUserVo.java
Normal file
@@ -0,0 +1,92 @@
|
||||
package com.yxt.yyth.api.sysuser;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysUserVo.java <br/>
|
||||
* Class: SysUserVo <br/>
|
||||
* Description: 用户表 视图数据对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:30 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "用户表 视图数据对象", description = "用户表 视图数据对象")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class SysUserVo implements Vo {
|
||||
private static final long serialVersionUID = 2415131854581950721L;
|
||||
@ApiModelProperty("部门sid")
|
||||
private String departmentSid;
|
||||
@ApiModelProperty("部门名称")
|
||||
private String departmentName;
|
||||
@ApiModelProperty("上级部门名称-本级部门名称 岗位名称")
|
||||
@JsonProperty("pNameAndDepartmentNameAndPostName")
|
||||
private String pNameAndDepartmentNameAndPostName;
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String postName;
|
||||
@ApiModelProperty("岗位Sid")
|
||||
private String postSid;
|
||||
@ApiModelProperty("单位sid")
|
||||
private String organizationSid;
|
||||
@ApiModelProperty("单位名称")
|
||||
private String organizationName;
|
||||
@ApiModelProperty("用户姓名")
|
||||
private String name;
|
||||
@ApiModelProperty("登录名,登录名不能相同")
|
||||
private String userName;
|
||||
|
||||
@ApiModelProperty("id")
|
||||
private Integer id;
|
||||
@ApiModelProperty("用户sid")
|
||||
private String sid;
|
||||
@ApiModelProperty("是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员")
|
||||
private String isAdmin;
|
||||
@ApiModelProperty("角色名称")
|
||||
private String roleName;
|
||||
// private List<SysRoleVo> roleList;
|
||||
@ApiModelProperty("关联的人员sid")
|
||||
private String staffSid;
|
||||
|
||||
@ApiModelProperty("手机号")
|
||||
private String mobile;
|
||||
@ApiModelProperty(value = "禁用状态")
|
||||
private String isEnable;
|
||||
|
||||
@ApiModelProperty("用户类型:1员工、2客户、3供应商")
|
||||
private String userType;
|
||||
@ApiModelProperty("用户类型:1、2、3")
|
||||
private String userTypeKey;
|
||||
@ApiModelProperty("用户头像")
|
||||
private String headImage;
|
||||
@ApiModelProperty("组织名称")
|
||||
private String orgNamePath;
|
||||
@ApiModelProperty("组织sid")
|
||||
private String orgSidPath;
|
||||
@ApiModelProperty(value = "token")
|
||||
private String token;
|
||||
@ApiModelProperty(value = "角色sids")
|
||||
private List<String> roleSids = new ArrayList<>();
|
||||
|
||||
// private List<OrgList> orgList = new ArrayList<>();
|
||||
private String defaultOrgPath;
|
||||
private String defaultOrgPathName;
|
||||
|
||||
@ApiModelProperty("是否需要更换密码")
|
||||
private Boolean needResetPsd;
|
||||
@ApiModelProperty("工号")
|
||||
private String jobNumber;
|
||||
}
|
||||
21
src/main/java/com/yxt/yyth/api/sysuser/UserQuery.java
Normal file
21
src/main/java/com/yxt/yyth/api/sysuser/UserQuery.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package com.yxt.yyth.api.sysuser;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author dimengzhe
|
||||
* @Date 2022/6/21 8:47
|
||||
* @Description
|
||||
*/
|
||||
@Data
|
||||
public class UserQuery implements Query {
|
||||
|
||||
private static final long serialVersionUID = -3979717077029562761L;
|
||||
@ApiModelProperty(value = "角色sid必传项")
|
||||
private String roleSid;
|
||||
@ApiModelProperty(value = "用户部门sid路径是必传项")
|
||||
private String orgSidPath;
|
||||
|
||||
}
|
||||
19
src/main/java/com/yxt/yyth/api/sysuser/UserRoleQuery.java
Normal file
19
src/main/java/com/yxt/yyth/api/sysuser/UserRoleQuery.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package com.yxt.yyth.api.sysuser;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author dimengzhe
|
||||
* @Date 2022/8/25 8:38
|
||||
* @Description
|
||||
*/
|
||||
@Data
|
||||
public class UserRoleQuery implements Query {
|
||||
private static final long serialVersionUID = 1913450300189800653L;
|
||||
|
||||
@ApiModelProperty("角色sid")
|
||||
private String roleSid;
|
||||
private String orgSid;
|
||||
}
|
||||
27
src/main/java/com/yxt/yyth/biz/sysuser/SysUserMapper.java
Normal file
27
src/main/java/com/yxt/yyth/biz/sysuser/SysUserMapper.java
Normal file
@@ -0,0 +1,27 @@
|
||||
package com.yxt.yyth.biz.sysuser;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.yyth.api.sysuser.SysUser;
|
||||
import com.yxt.yyth.api.sysuser.SysUserVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2023/5/4 14:37
|
||||
*/
|
||||
@Mapper
|
||||
public interface SysUserMapper extends BaseMapper<SysUser> {
|
||||
|
||||
@Select("select count(userName) as userName from sys_user where userName=#{userName} and password=#{password}")
|
||||
SysUserVo getUser(@Param("userName")String userName, @Param("password")String password);
|
||||
|
||||
}
|
||||
7
src/main/java/com/yxt/yyth/biz/sysuser/SysUserMapper.xml
Normal file
7
src/main/java/com/yxt/yyth/biz/sysuser/SysUserMapper.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?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.yxt.yyth.biz.sysuser.SysUserMapper">
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
|
||||
</mapper>
|
||||
60
src/main/java/com/yxt/yyth/biz/sysuser/SysUserRest.java
Normal file
60
src/main/java/com/yxt/yyth/biz/sysuser/SysUserRest.java
Normal file
@@ -0,0 +1,60 @@
|
||||
package com.yxt.yyth.biz.sysuser;
|
||||
|
||||
import cn.dev33.satoken.stp.SaTokenInfo;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import com.yxt.common.base.config.RedisUtil;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.yyth.api.sysuser.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2023/5/4 14:38
|
||||
*/
|
||||
@Api(tags = "用户")
|
||||
@RestController
|
||||
@RequestMapping("/sysuser")
|
||||
public class SysUserRest {
|
||||
|
||||
@Autowired
|
||||
SysUserService sysUserService;
|
||||
|
||||
|
||||
@ApiOperation("登录")
|
||||
@PostMapping("/doLogin")
|
||||
public ResultBean doLogin(@RequestBody SysUser user) {
|
||||
ResultBean rb = new ResultBean();
|
||||
SysUserVo sysUserVo = sysUserService.getUser(user.getUserName(), user.getPassword());
|
||||
if (sysUserVo.getUserName().equals("1")) {
|
||||
SysUser sysUser = sysUserService.getSysUser(user.getUserName(), user.getPassword());
|
||||
StpUtil.login(sysUser.getId());
|
||||
SaTokenInfo tokenInfo = StpUtil.getTokenInfo();
|
||||
System.out.println(StpUtil.getTokenName());
|
||||
System.out.println(StpUtil.getTokenValue());
|
||||
return rb.success().setData(tokenInfo);
|
||||
//return SaResult.ok("登录成功");
|
||||
} else if (sysUserVo.getUserName().equals("0")) {
|
||||
return rb.setMsg("账户不存在或者密码不正确");
|
||||
}
|
||||
return rb.setMsg("登录失败");
|
||||
}
|
||||
|
||||
/**
|
||||
* 注销
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("退出登录")
|
||||
@RequestMapping("/signOut")
|
||||
public ResultBean logout() {
|
||||
ResultBean rb = new ResultBean();
|
||||
StpUtil.logout();
|
||||
return rb.setMsg("退出成功");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
48
src/main/java/com/yxt/yyth/biz/sysuser/SysUserService.java
Normal file
48
src/main/java/com/yxt/yyth/biz/sysuser/SysUserService.java
Normal file
@@ -0,0 +1,48 @@
|
||||
package com.yxt.yyth.biz.sysuser;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.RedisUtil;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.config.component.ImageUploadUtil;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.*;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.yyth.api.sysuser.SysUser;
|
||||
import com.yxt.yyth.api.sysuser.SysUserVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
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.*;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static java.util.concurrent.Executors.newScheduledThreadPool;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2023/5/4 14:37
|
||||
*/
|
||||
@Service
|
||||
public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
|
||||
|
||||
|
||||
|
||||
public SysUserVo getUser(String userName, String password) {
|
||||
ResultBean rb = new ResultBean();
|
||||
SysUserVo sysUserVo = baseMapper.getUser(userName, password);
|
||||
return sysUserVo;
|
||||
}
|
||||
|
||||
public SysUser getSysUser(String userName, String password) {
|
||||
return baseMapper.selectOne(new QueryWrapper<SysUser>().eq("userName", userName).eq("password", password));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user