From ee27335b788cbffb6a8715f9e375a07b37025dc1 Mon Sep 17 00:00:00 2001
From: wangpengfei <1928057482@qq.com>
Date: Wed, 29 Nov 2023 16:14:50 +0800
Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/yxt/yyth/api/sysuser/SysUser.java | 72 +++++++++++++++
.../com/yxt/yyth/api/sysuser/SysUserDto.java | 40 ++++++++
.../yxt/yyth/api/sysuser/SysUserInfoVo.java | 30 ++++++
.../yxt/yyth/api/sysuser/SysUserListVo.java | 19 ++++
.../yxt/yyth/api/sysuser/SysUserQuery.java | 51 ++++++++++
.../com/yxt/yyth/api/sysuser/SysUserVo.java | 92 +++++++++++++++++++
.../com/yxt/yyth/api/sysuser/UserQuery.java | 21 +++++
.../yxt/yyth/api/sysuser/UserRoleQuery.java | 19 ++++
.../yxt/yyth/biz/sysuser/SysUserMapper.java | 27 ++++++
.../yxt/yyth/biz/sysuser/SysUserMapper.xml | 7 ++
.../com/yxt/yyth/biz/sysuser/SysUserRest.java | 60 ++++++++++++
.../yxt/yyth/biz/sysuser/SysUserService.java | 48 ++++++++++
12 files changed, 486 insertions(+)
create mode 100644 src/main/java/com/yxt/yyth/api/sysuser/SysUser.java
create mode 100644 src/main/java/com/yxt/yyth/api/sysuser/SysUserDto.java
create mode 100644 src/main/java/com/yxt/yyth/api/sysuser/SysUserInfoVo.java
create mode 100644 src/main/java/com/yxt/yyth/api/sysuser/SysUserListVo.java
create mode 100644 src/main/java/com/yxt/yyth/api/sysuser/SysUserQuery.java
create mode 100644 src/main/java/com/yxt/yyth/api/sysuser/SysUserVo.java
create mode 100644 src/main/java/com/yxt/yyth/api/sysuser/UserQuery.java
create mode 100644 src/main/java/com/yxt/yyth/api/sysuser/UserRoleQuery.java
create mode 100644 src/main/java/com/yxt/yyth/biz/sysuser/SysUserMapper.java
create mode 100644 src/main/java/com/yxt/yyth/biz/sysuser/SysUserMapper.xml
create mode 100644 src/main/java/com/yxt/yyth/biz/sysuser/SysUserRest.java
create mode 100644 src/main/java/com/yxt/yyth/biz/sysuser/SysUserService.java
diff --git a/src/main/java/com/yxt/yyth/api/sysuser/SysUser.java b/src/main/java/com/yxt/yyth/api/sysuser/SysUser.java
new file mode 100644
index 0000000..baf1ee6
--- /dev/null
+++ b/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(门户建设)
+ * File: SysUser.java
+ * Class: SysUser
+ * Description: 用户表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ *
+ * @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;
+}
diff --git a/src/main/java/com/yxt/yyth/api/sysuser/SysUserDto.java b/src/main/java/com/yxt/yyth/api/sysuser/SysUserDto.java
new file mode 100644
index 0000000..b0007c8
--- /dev/null
+++ b/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(门户建设)
+ * File: SysUserDto.java
+ * Class: SysUserDto
+ * Description: 用户表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ *
+ * @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;
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/yxt/yyth/api/sysuser/SysUserInfoVo.java b/src/main/java/com/yxt/yyth/api/sysuser/SysUserInfoVo.java
new file mode 100644
index 0000000..4192481
--- /dev/null
+++ b/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;
+}
diff --git a/src/main/java/com/yxt/yyth/api/sysuser/SysUserListVo.java b/src/main/java/com/yxt/yyth/api/sysuser/SysUserListVo.java
new file mode 100644
index 0000000..c00cf15
--- /dev/null
+++ b/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;
+
+}
diff --git a/src/main/java/com/yxt/yyth/api/sysuser/SysUserQuery.java b/src/main/java/com/yxt/yyth/api/sysuser/SysUserQuery.java
new file mode 100644
index 0000000..8967cf4
--- /dev/null
+++ b/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(门户建设)
+ * File: SysUserQuery.java
+ * Class: SysUserQuery
+ * Description: 用户表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ *
+ * @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;
+}
\ No newline at end of file
diff --git a/src/main/java/com/yxt/yyth/api/sysuser/SysUserVo.java b/src/main/java/com/yxt/yyth/api/sysuser/SysUserVo.java
new file mode 100644
index 0000000..c13de1d
--- /dev/null
+++ b/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(门户建设)
+ * File: SysUserVo.java
+ * Class: SysUserVo
+ * Description: 用户表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ *
+ * @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 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 roleSids = new ArrayList<>();
+
+// private List orgList = new ArrayList<>();
+ private String defaultOrgPath;
+ private String defaultOrgPathName;
+
+ @ApiModelProperty("是否需要更换密码")
+ private Boolean needResetPsd;
+ @ApiModelProperty("工号")
+ private String jobNumber;
+}
diff --git a/src/main/java/com/yxt/yyth/api/sysuser/UserQuery.java b/src/main/java/com/yxt/yyth/api/sysuser/UserQuery.java
new file mode 100644
index 0000000..1d7710a
--- /dev/null
+++ b/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;
+
+}
diff --git a/src/main/java/com/yxt/yyth/api/sysuser/UserRoleQuery.java b/src/main/java/com/yxt/yyth/api/sysuser/UserRoleQuery.java
new file mode 100644
index 0000000..0748c4e
--- /dev/null
+++ b/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;
+}
diff --git a/src/main/java/com/yxt/yyth/biz/sysuser/SysUserMapper.java b/src/main/java/com/yxt/yyth/biz/sysuser/SysUserMapper.java
new file mode 100644
index 0000000..d0363b6
--- /dev/null
+++ b/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 {
+
+ @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);
+
+}
diff --git a/src/main/java/com/yxt/yyth/biz/sysuser/SysUserMapper.xml b/src/main/java/com/yxt/yyth/biz/sysuser/SysUserMapper.xml
new file mode 100644
index 0000000..f3222f5
--- /dev/null
+++ b/src/main/java/com/yxt/yyth/biz/sysuser/SysUserMapper.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/yxt/yyth/biz/sysuser/SysUserRest.java b/src/main/java/com/yxt/yyth/biz/sysuser/SysUserRest.java
new file mode 100644
index 0000000..b64d286
--- /dev/null
+++ b/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("退出成功");
+ }
+
+
+}
diff --git a/src/main/java/com/yxt/yyth/biz/sysuser/SysUserService.java b/src/main/java/com/yxt/yyth/biz/sysuser/SysUserService.java
new file mode 100644
index 0000000..60c465b
--- /dev/null
+++ b/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 {
+
+
+
+ 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().eq("userName", userName).eq("password", password));
+ }
+}