新增润阳项目后端框架
This commit is contained in:
parent
6585828171
commit
140d418a32
10
das/pom.xml
10
das/pom.xml
@ -31,6 +31,8 @@
|
||||
<org.projectlombok.version>1.18.20</org.projectlombok.version>
|
||||
<google.guava.version>29.0-jre</google.guava.version>
|
||||
<apache.commons.text>1.9</apache.commons.text>
|
||||
<postgresql.version>42.2.24</postgresql.version>
|
||||
<sa.version>1.34.0</sa.version>
|
||||
</properties>
|
||||
|
||||
<!--锁定版本-->
|
||||
@ -76,25 +78,25 @@
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<version>42.2.24</version>
|
||||
<version>${postgresql.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-core</artifactId>
|
||||
<version>1.34.0</version>
|
||||
<version>${sa.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-spring-boot-starter</artifactId>
|
||||
<version>1.34.0</version>
|
||||
<version>${sa.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-dao-redis</artifactId>
|
||||
<version>1.34.0</version>
|
||||
<version>${sa.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- 验证码 -->
|
||||
|
@ -1,6 +1,5 @@
|
||||
package com.das.common.captcha;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@ -17,10 +16,8 @@ public class CaptchaVO {
|
||||
this.img = img;
|
||||
}
|
||||
|
||||
@ApiModelProperty("唯一值")
|
||||
private String key;
|
||||
|
||||
@ApiModelProperty("图像的base64")
|
||||
private String img;
|
||||
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@ -21,26 +20,34 @@ import java.util.Date;
|
||||
@Data
|
||||
public class BaseEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@ApiModelProperty("创建人")
|
||||
private Long createdBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@ApiModelProperty("创建时间")
|
||||
private Date createdTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
@ApiModelProperty("更新人")
|
||||
private Long updatedBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
@ApiModelProperty("更新时间")
|
||||
private Date updatedTime;
|
||||
|
||||
}
|
||||
|
@ -1,7 +1,5 @@
|
||||
package com.das.common.result;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.springframework.lang.Nullable;
|
||||
|
||||
import java.io.Serializable;
|
||||
@ -11,7 +9,6 @@ import java.util.Optional;
|
||||
* @author chenhaojie
|
||||
* @Description 公共返回信息
|
||||
*/
|
||||
@ApiModel("统一响应结果")
|
||||
public class R<T> implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ -19,25 +16,21 @@ public class R<T> implements Serializable {
|
||||
/**
|
||||
* 状态码
|
||||
*/
|
||||
@ApiModelProperty("状态码")
|
||||
private int code;
|
||||
|
||||
/**
|
||||
* 是否成功
|
||||
*/
|
||||
@ApiModelProperty("是否成功")
|
||||
private boolean success;
|
||||
|
||||
/**
|
||||
* 承载数据
|
||||
*/
|
||||
@ApiModelProperty("承载数据")
|
||||
private T data;
|
||||
|
||||
/**
|
||||
* 返回消息
|
||||
*/
|
||||
@ApiModelProperty("返回消息")
|
||||
private String msg;
|
||||
|
||||
private R(IResultCode resultCode) {
|
||||
|
@ -11,7 +11,6 @@ import com.das.modules.auth.domain.vo.LoginVO;
|
||||
import com.das.modules.auth.service.ILoginService;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.google.code.kaptcha.Producer;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@ -43,9 +42,8 @@ public class CaptchaImageController {
|
||||
private AdminRedisTemplate adminRedisTemplate;
|
||||
|
||||
/**
|
||||
* 限制频率在 5 秒钟 3次
|
||||
* 获取验证码
|
||||
*/
|
||||
@ApiOperation("获取验证码")
|
||||
@PostMapping("/captchaImage")
|
||||
public R<CaptchaVO> getCaptcha() {
|
||||
String uuid = IdUtil.fastSimpleUUID();
|
||||
|
@ -1,24 +1,16 @@
|
||||
package com.das.modules.auth.controller;
|
||||
|
||||
import cn.dev33.satoken.session.SaSession;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.das.common.captcha.CaptchaProperties;
|
||||
import com.das.common.captcha.CaptchaUtil;
|
||||
import com.das.common.captcha.CaptchaVO;
|
||||
import com.das.common.result.R;
|
||||
import com.das.common.utils.AESUtil;
|
||||
import com.das.common.utils.AdminRedisTemplate;
|
||||
import com.das.modules.auth.domain.LoginUserDetails;
|
||||
import com.das.modules.auth.domain.vo.LoginVO;
|
||||
import com.das.modules.auth.domain.vo.TokenVo;
|
||||
import com.das.modules.auth.service.ILoginService;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.google.code.kaptcha.Producer;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@ -39,8 +31,11 @@ public class LoginController {
|
||||
String key;
|
||||
|
||||
|
||||
/**
|
||||
* 登录接口
|
||||
* @return 退出结果提示信息
|
||||
*/
|
||||
@PostMapping("/login")
|
||||
@ApiOperation("登录接口")
|
||||
public R<LoginUserDetails> login(@RequestParam String param, HttpServletRequest request, HttpServletResponse response) throws JsonProcessingException {
|
||||
LoginUserDetails loginInfo = loginService.login(param,request, response);
|
||||
return R.success(loginInfo);
|
||||
@ -60,7 +55,6 @@ public class LoginController {
|
||||
|
||||
}
|
||||
@PostMapping("/refreshToken")
|
||||
@ApiOperation("刷新token接口")
|
||||
public R<LoginVO> refreshToken(@NotEmpty(message = "刷新token不允许为空") @RequestParam("refreshToken")String refreshToken){
|
||||
LoginVO loginVO = loginService.refreshToken(refreshToken);
|
||||
return R.data(loginVO);
|
||||
|
@ -1,6 +1,5 @@
|
||||
package com.das.modules.auth.domain.request;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
@ -12,24 +11,34 @@ import javax.validation.constraints.NotBlank;
|
||||
@Data
|
||||
public class LoginRequest {
|
||||
|
||||
/**
|
||||
* * 用户账号
|
||||
*/
|
||||
@NotBlank(message = "用户名不允许为空")
|
||||
@ApiModelProperty("用户账号")
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@NotBlank(message = "密码不允许为空")
|
||||
@ApiModelProperty("密码")
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 是否记住
|
||||
*/
|
||||
@NotBlank(message = "是否记住")
|
||||
@ApiModelProperty("是否记住")
|
||||
private boolean keep;
|
||||
|
||||
/**
|
||||
* 验证码
|
||||
*/
|
||||
@NotBlank(message = "验证码不允许为空")
|
||||
@ApiModelProperty("验证码")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 验证码唯一标识
|
||||
*/
|
||||
@NotBlank(message = "验证码唯一标识不允许为空")
|
||||
@ApiModelProperty("验证码唯一标识")
|
||||
private String uuid;
|
||||
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
package com.das.modules.auth.domain.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
@ -14,13 +13,19 @@ public class LoginVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty("accessToken")
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String accessToken;
|
||||
|
||||
@ApiModelProperty("刷新token")
|
||||
/**
|
||||
*刷新token
|
||||
*/
|
||||
private String refreshToken;
|
||||
|
||||
@ApiModelProperty("过期时间,单位秒")
|
||||
/**
|
||||
*过期时间 秒
|
||||
*/
|
||||
private Integer expire;
|
||||
|
||||
public LoginVO(){}
|
||||
|
@ -1,11 +1,6 @@
|
||||
package com.das.modules.auth.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@ -20,38 +15,32 @@ public class SysUserVo implements Serializable {
|
||||
/**
|
||||
* 账号ID
|
||||
*/
|
||||
@ApiModelProperty("账号ID")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 账号名
|
||||
*/
|
||||
@ApiModelProperty("账号名")
|
||||
private String account;
|
||||
|
||||
/**
|
||||
* 账号本地名
|
||||
*/
|
||||
@ApiModelProperty("账号本地名")
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@ApiModelProperty("手机号")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* E-Mail地址
|
||||
*/
|
||||
@ApiModelProperty("E-Mail地址")
|
||||
private String email;
|
||||
|
||||
|
||||
/**
|
||||
* 所属机构
|
||||
*/
|
||||
@ApiModelProperty("组织机构")
|
||||
private Long orgId;
|
||||
|
||||
|
||||
|
@ -1,34 +1,27 @@
|
||||
package com.das.modules.auth.domain.vo;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 令牌实体
|
||||
* @author Administrator
|
||||
*/
|
||||
@Api(description = "令牌实体")
|
||||
@Data
|
||||
public class TokenVo {
|
||||
/**
|
||||
* 令牌
|
||||
*/
|
||||
@ApiModelProperty("令牌值")
|
||||
private String token;
|
||||
/**
|
||||
* 令牌超时时间,单位(秒)
|
||||
*/
|
||||
@ApiModelProperty("令牌超时时间,单位(秒)")
|
||||
public long tokenTimeout;
|
||||
/**
|
||||
* 令牌活动超时间隔,单位(秒)
|
||||
*/
|
||||
@ApiModelProperty("令牌活动超时间隔,单位(秒)")
|
||||
public long tokenActivityTimeout;
|
||||
/**
|
||||
* 账号ID
|
||||
*/
|
||||
@ApiModelProperty("账号ID")
|
||||
public long accountId;
|
||||
}
|
||||
|
@ -1,19 +1,14 @@
|
||||
package com.das.modules.auth.entity;
|
||||
|
||||
import com.das.common.constant.BaseEntity;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import com.das.common.constant.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@ -25,40 +20,57 @@ import java.util.Date;
|
||||
*/
|
||||
@Data
|
||||
@TableName("sys_user")
|
||||
@ApiModel(value = "SysUser对象", description = "用户信息")
|
||||
@ToString(callSuper = true)
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SysUser extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty("用户ID")
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("登录账号")
|
||||
/**
|
||||
* 登录账号
|
||||
*/
|
||||
private String account;
|
||||
|
||||
@ApiModelProperty("加密后的密码")
|
||||
/**
|
||||
* 加密后的密码
|
||||
*/
|
||||
private String password;
|
||||
|
||||
@ApiModelProperty("职员名称")
|
||||
/**
|
||||
* 职员名称
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
@ApiModelProperty("职员邮箱")
|
||||
/**
|
||||
* 职员邮箱
|
||||
*/
|
||||
private String email;
|
||||
|
||||
@ApiModelProperty("职员联系电话")
|
||||
/**
|
||||
* 职员联系电话
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty("所属机构id")
|
||||
/**
|
||||
* 所属机构id
|
||||
*/
|
||||
private Long orgId;
|
||||
|
||||
/**
|
||||
* 最近一次登录时间
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty("最近一次登录时间")
|
||||
private Date lastLogin;
|
||||
|
||||
@ApiModelProperty("乐观锁")
|
||||
/**
|
||||
* 乐观锁
|
||||
*/
|
||||
private int revision;
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user