12 changed files with 486 additions and 0 deletions
@ -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; |
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
} |
@ -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); |
|||
|
|||
} |
@ -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> |
@ -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("退出成功"); |
|||
} |
|||
|
|||
|
|||
} |
@ -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…
Reference in new issue