Browse Source

登录

master
wangpengfei 2 years ago
parent
commit
ee27335b78
  1. 72
      src/main/java/com/yxt/yyth/api/sysuser/SysUser.java
  2. 40
      src/main/java/com/yxt/yyth/api/sysuser/SysUserDto.java
  3. 30
      src/main/java/com/yxt/yyth/api/sysuser/SysUserInfoVo.java
  4. 19
      src/main/java/com/yxt/yyth/api/sysuser/SysUserListVo.java
  5. 51
      src/main/java/com/yxt/yyth/api/sysuser/SysUserQuery.java
  6. 92
      src/main/java/com/yxt/yyth/api/sysuser/SysUserVo.java
  7. 21
      src/main/java/com/yxt/yyth/api/sysuser/UserQuery.java
  8. 19
      src/main/java/com/yxt/yyth/api/sysuser/UserRoleQuery.java
  9. 27
      src/main/java/com/yxt/yyth/biz/sysuser/SysUserMapper.java
  10. 7
      src/main/java/com/yxt/yyth/biz/sysuser/SysUserMapper.xml
  11. 60
      src/main/java/com/yxt/yyth/biz/sysuser/SysUserRest.java
  12. 48
      src/main/java/com/yxt/yyth/biz/sysuser/SysUserService.java

72
src/main/java/com/yxt/yyth/api/sysuser/SysUser.java

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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));
}
}
Loading…
Cancel
Save