🚧 用户登录相关
This commit is contained in:
parent
7f46d6e60e
commit
d062aa1bae
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,33 +1,22 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.security.core.CredentialsContainer;
|
||||
import org.springframework.security.core.GrantedAuthority;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import java.util.Set;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
@TableName("sys_user")
|
||||
@Schema(name = "User-用户信息实体类", title = "用户信息", description = "用户信息的实体类对象")
|
||||
public class UserEntity implements UserDetails, CredentialsContainer {
|
||||
|
||||
@Schema(name = "id", title = "唯一标识")
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
// 💡 根据自己需求看是否需要自定义用户信息
|
||||
public class UserEntity extends BaseEntity /* implements UserDetails, CredentialsContainer */ {
|
||||
|
||||
@Schema(name = "username", title = "用户名")
|
||||
private String username;
|
||||
|
@ -47,9 +36,6 @@ public class UserEntity implements UserDetails, CredentialsContainer {
|
|||
@Schema(name = "avatar", title = "头像")
|
||||
private String avatar;
|
||||
|
||||
@Schema(name = "sex", title = "0:女 1:男")
|
||||
private Integer sex;
|
||||
|
||||
@Schema(name = "summary", title = "个人描述")
|
||||
private String summary;
|
||||
|
||||
|
@ -60,10 +46,7 @@ public class UserEntity implements UserDetails, CredentialsContainer {
|
|||
private String ipRegion;
|
||||
|
||||
@Schema(name = "status", title = "1:禁用 0:正常")
|
||||
private Integer status;
|
||||
|
||||
@Schema(name = "isDeleted", title = "是否删除")
|
||||
private Integer isDeleted;
|
||||
private Boolean status;
|
||||
|
||||
@Schema(name = "salt", title = "密码盐值")
|
||||
private String salt;
|
||||
|
@ -92,36 +75,20 @@ public class UserEntity implements UserDetails, CredentialsContainer {
|
|||
@Schema(name = "postId", title = "所属岗位ID")
|
||||
private Long postId;
|
||||
|
||||
@Schema(name = "createTime", title = "创建时间")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createTime;
|
||||
@Schema(name = "isDeleted", title = "是否删除")
|
||||
private Integer isDeleted;
|
||||
|
||||
@Schema(name = "updateTime", title = "更新时间")
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private LocalDateTime updateTime;
|
||||
// @TableField(exist = false)
|
||||
// private Set<? extends GrantedAuthority> authorities;
|
||||
//
|
||||
// @Override
|
||||
// public void eraseCredentials() {
|
||||
// this.password = null;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public Set<? extends GrantedAuthority> getAuthorities() {
|
||||
// return this.authorities;
|
||||
// }
|
||||
|
||||
@Schema(name = "createUser", title = "创建用户")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long createUser;
|
||||
|
||||
@Schema(name = "updateUser", title = "操作用户")
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long updateUser;
|
||||
|
||||
@TableField(exist = false)
|
||||
private Set<? extends GrantedAuthority> authorities;
|
||||
|
||||
@Override
|
||||
public void eraseCredentials() {
|
||||
this.password = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<? extends GrantedAuthority> getAuthorities() {
|
||||
return this.authorities;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.dao.base.entity.base;
|
||||
package com.auth.dao.base.entity;
|
||||
|
||||
import com.auth.common.model.common.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1 +0,0 @@
|
|||
package com.auth.dao.base.entity;
|
|
@ -1,7 +1,7 @@
|
|||
package com.auth.dao.base.mapper.v1;
|
||||
|
||||
|
||||
import com.auth.dao.base.entity.base.AuthLogEntity;
|
||||
import com.auth.dao.base.entity.AuthLogEntity;
|
||||
import com.auth.model.base.dto.AuthLogDto;
|
||||
import com.auth.model.base.vo.AuthLogVo;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.DeptDto;
|
||||
import com.auth.model.base.vo.DeptVo;
|
||||
import com.auth.dao.base.entity.base.DeptEntity;
|
||||
import com.auth.dao.base.entity.DeptEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.DictDto;
|
||||
import com.auth.model.base.vo.DictVo;
|
||||
import com.auth.dao.base.entity.base.DictEntity;
|
||||
import com.auth.dao.base.entity.DictEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.EmailConfigDto;
|
||||
import com.auth.model.base.vo.EmailConfigVo;
|
||||
import com.auth.dao.base.entity.base.EmailConfigEntity;
|
||||
import com.auth.dao.base.entity.EmailConfigEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.EmailTemplateDto;
|
||||
import com.auth.model.base.vo.EmailTemplateVo;
|
||||
import com.auth.dao.base.entity.base.EmailTemplateEntity;
|
||||
import com.auth.dao.base.entity.EmailTemplateEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.FileDto;
|
||||
import com.auth.model.base.vo.FileVo;
|
||||
import com.auth.dao.base.entity.base.FileEntity;
|
||||
import com.auth.dao.base.entity.FileEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.LoginLogDto;
|
||||
import com.auth.model.base.vo.LoginLogVo;
|
||||
import com.auth.dao.base.entity.base.LoginLogEntity;
|
||||
import com.auth.dao.base.entity.LoginLogEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.MenuDto;
|
||||
import com.auth.model.base.vo.MenuVo;
|
||||
import com.auth.dao.base.entity.base.MenuEntity;
|
||||
import com.auth.dao.base.entity.MenuEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.MenuRoleDto;
|
||||
import com.auth.model.base.vo.MenuRoleVo;
|
||||
import com.auth.dao.base.entity.base.MenuRoleEntity;
|
||||
import com.auth.dao.base.entity.MenuRoleEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.OperationLogDto;
|
||||
import com.auth.model.base.vo.OperationLogVo;
|
||||
import com.auth.dao.base.entity.base.OperationLogEntity;
|
||||
import com.auth.dao.base.entity.OperationLogEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.PermissionDto;
|
||||
import com.auth.model.base.vo.PermissionVo;
|
||||
import com.auth.dao.base.entity.base.PermissionEntity;
|
||||
import com.auth.dao.base.entity.PermissionEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.RoleDataScopeDto;
|
||||
import com.auth.model.base.vo.RoleDataScopeVo;
|
||||
import com.auth.dao.base.entity.base.RoleDataScopeEntity;
|
||||
import com.auth.dao.base.entity.RoleDataScopeEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.RoleDto;
|
||||
import com.auth.model.base.vo.RoleVo;
|
||||
import com.auth.dao.base.entity.base.RoleEntity;
|
||||
import com.auth.dao.base.entity.RoleEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.RolePermissionDto;
|
||||
import com.auth.model.base.vo.RolePermissionVo;
|
||||
import com.auth.dao.base.entity.base.RolePermissionEntity;
|
||||
import com.auth.dao.base.entity.RolePermissionEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.UserDeptDto;
|
||||
import com.auth.model.base.vo.UserDeptVo;
|
||||
import com.auth.dao.base.entity.base.UserDeptEntity;
|
||||
import com.auth.dao.base.entity.UserDeptEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
package com.auth.dao.base.mapper.v1;
|
||||
|
||||
import com.auth.dao.base.entity.PermissionEntity;
|
||||
import com.auth.dao.base.entity.RoleEntity;
|
||||
import com.auth.dao.base.entity.UserEntity;
|
||||
import com.auth.dao.base.view.UserRolePermission;
|
||||
import com.auth.model.base.dto.UserDto;
|
||||
import com.auth.model.base.vo.UserVo;
|
||||
import com.auth.dao.base.entity.base.PermissionEntity;
|
||||
import com.auth.dao.base.entity.base.RoleEntity;
|
||||
import com.auth.dao.base.entity.base.UserEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
@ -34,12 +35,12 @@ public interface UserMapper extends BaseMapper<UserEntity> {
|
|||
IPage<UserVo> selectListByPage(@Param("page") Page<UserEntity> pageParams, @Param("dto") UserDto dto);
|
||||
|
||||
/**
|
||||
* 根据用户名查询用户信息
|
||||
* 根据用户id查询用户角色和权限信息
|
||||
*
|
||||
* @param username 用户名
|
||||
* @param userId 用户Id
|
||||
* @return 用户实体类
|
||||
*/
|
||||
UserEntity selectByUsername(String username);
|
||||
List<UserRolePermission> selectUserRolePermissionByUsername(Long userId);
|
||||
|
||||
/**
|
||||
* 根据用户id查找该用户的角色内容
|
||||
|
@ -56,4 +57,12 @@ public interface UserMapper extends BaseMapper<UserEntity> {
|
|||
* @return 权限列表
|
||||
*/
|
||||
List<PermissionEntity> selectPermissionByUserId(Long userId);
|
||||
|
||||
/**
|
||||
* 根据用户名查询用户信息
|
||||
*
|
||||
* @param username 用户名
|
||||
* @return 用户实体类
|
||||
*/
|
||||
UserEntity selectByUsername(String username);
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.auth.dao.base.mapper.v1;
|
|||
|
||||
import com.auth.model.base.dto.UserRoleDto;
|
||||
import com.auth.model.base.vo.UserRoleVo;
|
||||
import com.auth.dao.base.entity.base.UserRoleEntity;
|
||||
import com.auth.dao.base.entity.UserRoleEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
package com.auth.dao.base.view;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
@TableName("v_user_role_permission")
|
||||
@Schema(name = "UserRolePermission-用户角色权限信息实体类", title = "用户角色权限信息", description = "用户角色权限信息的实体类对象")
|
||||
public class UserRolePermission {
|
||||
|
||||
// 用户角色关联信息
|
||||
private Long userId;
|
||||
|
||||
// 角色权限关联信息
|
||||
private Long roleId;
|
||||
private Long permissionId;
|
||||
|
||||
// 权限信息
|
||||
private String permissionCode;
|
||||
private String permissionName;
|
||||
private String permissionType;
|
||||
private String url;
|
||||
private String method;
|
||||
private Integer permissionLevel;
|
||||
private String permissionPath;
|
||||
private Integer permissionOrderNum;
|
||||
private Integer permissionStatus;
|
||||
private String permissionRemark;
|
||||
|
||||
// 用户信息
|
||||
private String username;
|
||||
private String nickname;
|
||||
private String email;
|
||||
private String phone;
|
||||
private String salt;
|
||||
private String password;
|
||||
private String avatar;
|
||||
private Integer gender;
|
||||
private Date birthday;
|
||||
private String introduction;
|
||||
private String lastLoginIp;
|
||||
private Date lastLoginTime;
|
||||
private String lastLoginRegion;
|
||||
private Integer status;
|
||||
private Long deptId;
|
||||
private Long postId;
|
||||
private Boolean isDeleted;
|
||||
|
||||
// 角色信息
|
||||
private String roleCode;
|
||||
private String roleName;
|
||||
private String roleType;
|
||||
private String roleDataScope;
|
||||
private Integer roleOrderNum;
|
||||
private Integer roleStatus;
|
||||
private String roleRemark;
|
||||
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.AuthLogMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.AuthLogEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.AuthLogEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="event_type" property="eventType"/>
|
||||
<id column="username" property="username"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.DeptMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.DeptEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.DeptEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="parent_id" property="parentId"/>
|
||||
<id column="manager" property="manager"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.DictMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.DictEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.DictEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="dict_type" property="dictType"/>
|
||||
<id column="dict_code" property="dictCode"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.EmailConfigMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.EmailConfigEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.EmailConfigEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="config_name" property="configName"/>
|
||||
<id column="email" property="email"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.EmailTemplateMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.EmailTemplateEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.EmailTemplateEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="template_name" property="templateName"/>
|
||||
<id column="email_user" property="emailUser"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.FileMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.FileEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.FileEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="file_uid" property="fileUid"/>
|
||||
<id column="original_name" property="originalName"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.LoginLogMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.LoginLogEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.LoginLogEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="user_id" property="userId"/>
|
||||
<id column="username" property="username"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.MenuMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.MenuEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.MenuEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="parent_id" property="parentId"/>
|
||||
<id column="menu_path" property="menuPath"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.MenuRoleMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.MenuRoleEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.MenuRoleEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="role_id" property="roleId"/>
|
||||
<id column="menu_id" property="menuId"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.OperationLogMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.OperationLogEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.OperationLogEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="module" property="module"/>
|
||||
<id column="operation_type" property="operationType"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.PermissionMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.PermissionEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.PermissionEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="parent_id" property="parentId"/>
|
||||
<id column="power_code" property="powerCode"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.RoleDataScopeMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.RoleDataScopeEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.RoleDataScopeEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="role_id" property="roleId"/>
|
||||
<id column="dept_id" property="deptId"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.RoleMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.RoleEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.RoleEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="role_code" property="roleCode"/>
|
||||
<id column="description" property="description"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.RolePermissionMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.RolePermissionEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.RolePermissionEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="role_id" property="roleId"/>
|
||||
<id column="power_id" property="powerId"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.UserDeptMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.UserDeptEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.UserDeptEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="user_id" property="userId"/>
|
||||
<id column="dept_id" property="deptId"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.UserMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.UserEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.UserEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="username" property="username"/>
|
||||
<id column="nickname" property="nickname"/>
|
||||
|
@ -117,16 +117,17 @@
|
|||
</where>
|
||||
</select>
|
||||
|
||||
<!-- 根据用户名查询用户信息 -->
|
||||
<select id="selectByUsername" resultType="com.auth.dao.base.entity.base.UserEntity">
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
from sys_user
|
||||
where username = #{username} and is_deleted = 0 and status = 0
|
||||
<!-- 根据用户id查询用户角色和权限信息 -->
|
||||
<select id="selectUserRolePermissionByUsername" resultType="com.auth.dao.base.view.UserRolePermission">
|
||||
select *
|
||||
from v_user_role_permission vurp
|
||||
where vurp.user_id = #{userId}
|
||||
and vurp.is_deleteds = 0
|
||||
and vurp.status = 0
|
||||
</select>
|
||||
|
||||
<!-- 根据用户id查找该用户的角色内容 -->
|
||||
<select id="selectRolesByUserId" resultType="com.auth.dao.base.entity.base.RoleEntity">
|
||||
<select id="selectRolesByUserId" resultType="com.auth.dao.base.entity.RoleEntity">
|
||||
SELECT tr.*
|
||||
FROM t_user_role tur
|
||||
JOIN t_role tr ON tur.role_id = tr.id
|
||||
|
@ -138,7 +139,7 @@
|
|||
</select>
|
||||
|
||||
<!-- 根据用户id查找当前用户的权限 -->
|
||||
<select id="selectPermissionByUserId" resultType="com.auth.dao.base.entity.base.PermissionEntity">
|
||||
<select id="selectPermissionByUserId" resultType="com.auth.dao.base.entity.PermissionEntity">
|
||||
SELECT DISTINCT p.*
|
||||
FROM sys_permission p
|
||||
JOIN sys_role_permission rp ON p.id = rp.permission_id
|
||||
|
@ -146,4 +147,12 @@
|
|||
WHERE ur.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<!-- 根据用户名查询用户信息 -->
|
||||
<select id="selectByUsername" resultType="com.auth.dao.base.entity.UserEntity">
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
from sys_user
|
||||
where username = #{username} and is_deleted = 0 and status = 0
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.auth.dao.base.mapper.v1.UserRoleMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.base.UserRoleEntity">
|
||||
<resultMap id="BaseResultMap" type="com.auth.dao.base.entity.UserRoleEntity">
|
||||
<id column="id" property="id"/>
|
||||
<id column="user_id" property="userId"/>
|
||||
<id column="role_id" property="roleId"/>
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
package com.auth.module.security.controller;
|
||||
|
||||
|
||||
import com.auth.common.model.common.result.Result;
|
||||
import com.auth.model.base.dto.LoginDto;
|
||||
import com.auth.model.base.vo.LoginVo;
|
||||
import com.auth.module.security.service.LoginService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@Tag(name = "登录接口")
|
||||
@RestController
|
||||
@RequestMapping("/api")
|
||||
@RequiredArgsConstructor
|
||||
public class LoginController {
|
||||
|
||||
private final LoginService loginService;
|
||||
|
||||
@Operation(summary = "用户登录", description = "用户登录")
|
||||
@PostMapping("login")
|
||||
public Result<LoginVo> login(@RequestBody LoginDto loginDto) {
|
||||
LoginVo vo = loginService.login(loginDto);
|
||||
return Result.success(vo);
|
||||
}
|
||||
|
||||
}
|
|
@ -2,7 +2,7 @@ package com.auth.module.security.event;
|
|||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.auth.common.context.BaseContext;
|
||||
import com.auth.dao.base.entity.base.AuthLogEntity;
|
||||
import com.auth.dao.base.entity.AuthLogEntity;
|
||||
import com.auth.dao.base.mapper.v1.AuthLogMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
|
|
@ -64,11 +64,9 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
|
|||
filterChain.doFilter(request, response);
|
||||
} catch (AuthenticSecurityException e) {
|
||||
// 直接处理认证异常,不再调用filterChain.doFilter()
|
||||
securityAuthenticationEntryPoint.commence(
|
||||
request,
|
||||
response,
|
||||
new MyAuthenticationException(e.getMessage(), e)
|
||||
);
|
||||
MyAuthenticationException myAuthenticationException = new MyAuthenticationException(e.getMessage(), e);
|
||||
securityAuthenticationEntryPoint.commence(request, response, myAuthenticationException);
|
||||
|
||||
} catch (RuntimeException e) {
|
||||
MyAuthenticationException myAuthenticationException = new MyAuthenticationException("Authentication failed", e);
|
||||
securityAuthenticationEntryPoint.commence(request, response, myAuthenticationException);
|
||||
|
|
|
@ -33,8 +33,7 @@ public class JwtTokenProvider {
|
|||
* @param username 用户名
|
||||
* @return 令牌Token
|
||||
*/
|
||||
public String createToken(Long userId, String username,
|
||||
List<String> roles, List<String> permissions) {
|
||||
public String createToken(Long userId, String username, List<String> roles, List<String> permissions) {
|
||||
SecretKey key = getSecretKey();
|
||||
// return JwtTokenUtil.createToken(userId, username, subject, key, expired);
|
||||
return JwtTokenUtil.createToken(userId, username, roles, permissions, subject, key, expired);
|
||||
|
|
|
@ -1,69 +1,19 @@
|
|||
package com.auth.module.security.service;
|
||||
|
||||
import com.auth.dao.base.entity.base.PermissionEntity;
|
||||
import com.auth.dao.base.entity.base.RoleEntity;
|
||||
import com.auth.dao.base.entity.base.UserEntity;
|
||||
import com.auth.dao.base.mapper.v1.UserMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import com.auth.dao.base.view.UserRolePermission;
|
||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@Transactional
|
||||
@RequiredArgsConstructor
|
||||
public class DbUserDetailService implements UserDetailsService {
|
||||
|
||||
private final UserMapper userMapper;
|
||||
|
||||
@Override
|
||||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
|
||||
// 查询当前用户
|
||||
UserEntity userEntity = userMapper.selectByUsername(username);
|
||||
|
||||
// 判断当前用户是否存在
|
||||
if (userEntity == null) {
|
||||
throw new UsernameNotFoundException("用户不存在");
|
||||
}
|
||||
|
||||
Long userId = userEntity.getId();
|
||||
|
||||
List<String> list = new ArrayList<>();
|
||||
// 设置用户角色
|
||||
List<String> roles = findUserRolesByUserId(userId);
|
||||
// 设置用户权限
|
||||
List<String> permissions = findPermissionByUserId(userId);
|
||||
list.addAll(roles);
|
||||
list.addAll(permissions);
|
||||
|
||||
Set<SimpleGrantedAuthority> authorities = list.stream().map(SimpleGrantedAuthority::new)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
// 设置用户权限
|
||||
userEntity.setAuthorities(authorities);
|
||||
// 返回时将用户密码置为空
|
||||
userEntity.setPassword(null);
|
||||
return userEntity;
|
||||
}
|
||||
public interface DbUserDetailService extends UserDetailsService {
|
||||
|
||||
/**
|
||||
* 根据用户id查找该用户的角色内容
|
||||
*
|
||||
* @param userId 用户id
|
||||
* @param userRolePermissionList 用户角色权限列表
|
||||
* @return 当前用户的角色信息
|
||||
*/
|
||||
public List<String> findUserRolesByUserId(Long userId) {
|
||||
List<RoleEntity> roleList = userMapper.selectRolesByUserId(userId);
|
||||
return roleList.stream().map(RoleEntity::getRoleCode).toList();
|
||||
}
|
||||
List<String> findUserRolesByUserId(List<UserRolePermission> userRolePermissionList);
|
||||
|
||||
/**
|
||||
* 根据用户id查找该用户的权限内容
|
||||
|
@ -71,8 +21,6 @@ public class DbUserDetailService implements UserDetailsService {
|
|||
* @param userId 用户id
|
||||
* @return 当前用户的权限信息
|
||||
*/
|
||||
public List<String> findPermissionByUserId(Long userId) {
|
||||
List<PermissionEntity> permissionList = userMapper.selectPermissionByUserId(userId);
|
||||
return permissionList.stream().map(PermissionEntity::getPermissionCode).toList();
|
||||
}
|
||||
List<String> findPermissionByUserId(List<UserRolePermission> userRolePermissionList);
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
package com.auth.module.security.service;
|
||||
|
||||
|
||||
import com.auth.dao.base.entity.UserEntity;
|
||||
import com.auth.model.base.dto.LoginDto;
|
||||
import com.auth.model.base.vo.LoginVo;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
public interface LoginService extends IService<UserEntity> {
|
||||
|
||||
/**
|
||||
* 用户登录
|
||||
*
|
||||
* @param loginDto LoginRequest登录参数
|
||||
* @return 登录成功返回内容
|
||||
*/
|
||||
LoginVo login(LoginDto loginDto);
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
package com.auth.module.security.service.impl;
|
||||
|
||||
import com.auth.dao.base.entity.UserEntity;
|
||||
import com.auth.dao.base.mapper.v1.UserMapper;
|
||||
import com.auth.dao.base.view.UserRolePermission;
|
||||
import com.auth.module.security.service.DbUserDetailService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
import org.springframework.security.authentication.jaas.JaasGrantedAuthority;
|
||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
import org.springframework.security.core.userdetails.User;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.security.Principal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@Transactional
|
||||
@RequiredArgsConstructor
|
||||
public class DbUserDetailServiceImpl implements DbUserDetailService {
|
||||
|
||||
private final UserMapper userMapper;
|
||||
|
||||
@Override
|
||||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
|
||||
// 查询当前用户
|
||||
UserEntity userEntity = userMapper.selectByUsername(username);
|
||||
|
||||
// 判断当前用户是否存在
|
||||
if (userEntity == null) {
|
||||
throw new UsernameNotFoundException("用户不存在");
|
||||
}
|
||||
|
||||
Long userId = userEntity.getId();
|
||||
List<UserRolePermission> userRolePermissionList = userMapper.selectUserRolePermissionByUsername(userId);
|
||||
Map<String, List<UserRolePermission>> roleCodeMap = userRolePermissionList.stream().collect(Collectors.groupingBy(UserRolePermission::getRoleCode));
|
||||
|
||||
List<JaasGrantedAuthority> jaasGrantedAuthorities = new ArrayList<>();
|
||||
roleCodeMap.forEach((s, permissionCode) -> {
|
||||
List<SimpleGrantedAuthority> permissions = getPermissionByRoleCode(s, roleCodeMap).stream().map(SimpleGrantedAuthority::new).toList();
|
||||
UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken = new UsernamePasswordAuthenticationToken(s, null, permissions);
|
||||
JaasGrantedAuthority jaasGrantedAuthority = new JaasGrantedAuthority(s, (Principal) usernamePasswordAuthenticationToken.getPrincipal());
|
||||
jaasGrantedAuthorities.add(jaasGrantedAuthority);
|
||||
});
|
||||
|
||||
List<String> roles = findUserRolesByUserId(userRolePermissionList);
|
||||
|
||||
// List<String> list = new ArrayList<>();
|
||||
// // 设置用户角色
|
||||
// List<String> roles = findUserRolesByUserId(userRolePermissionList);
|
||||
// // 设置用户权限
|
||||
// List<String> permissions = findPermissionByUserId(userRolePermissionList);
|
||||
// list.addAll(roles);
|
||||
// list.addAll(permissions);
|
||||
|
||||
// Set<SimpleGrantedAuthority> authorities = list.stream()
|
||||
// .map(SimpleGrantedAuthority::new)
|
||||
// .collect(Collectors.toSet());
|
||||
|
||||
// 设置用户权限
|
||||
// userEntity.setAuthorities(authorities);
|
||||
// // 返回时将用户密码置为空
|
||||
// userEntity.setPassword(null);
|
||||
// return userEntity;
|
||||
|
||||
return User.builder()
|
||||
.username(username)
|
||||
.password(userEntity.getPassword())
|
||||
.roles(roles.toArray(String[]::new))
|
||||
.authorities(jaasGrantedAuthorities)
|
||||
.disabled(userEntity.getStatus())
|
||||
.build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据角色码获取当前角色权限
|
||||
*
|
||||
* @param userRolePermissionList 用户角色权限关系列表
|
||||
* @return 权限Code
|
||||
*/
|
||||
private List<String> getPermissionByRoleCode(String roleCode, Map<String, List<UserRolePermission>> userRolePermissionList) {
|
||||
return userRolePermissionList.get(roleCode)
|
||||
.stream().map(UserRolePermission::getPermissionCode)
|
||||
.toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户id查找该用户的角色内容
|
||||
*
|
||||
* @param userRolePermissionList 用户角色权限列表
|
||||
* @return 当前用户的角色信息
|
||||
*/
|
||||
@Override
|
||||
public List<String> findUserRolesByUserId(List<UserRolePermission> userRolePermissionList) {
|
||||
return userRolePermissionList.stream().map(UserRolePermission::getRoleCode).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户id查找该用户的权限内容
|
||||
*
|
||||
* @param userRolePermissionList 用户角色权限列表
|
||||
* @return 当前用户的权限信息
|
||||
*/
|
||||
@Override
|
||||
public List<String> findPermissionByUserId(List<UserRolePermission> userRolePermissionList) {
|
||||
return userRolePermissionList.stream().map(UserRolePermission::getPermissionCode).toList();
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package com.auth.module.security.service;
|
||||
package com.auth.module.security.service.impl;
|
||||
|
||||
// @Service
|
||||
// @RequiredArgsConstructor
|
|
@ -0,0 +1,92 @@
|
|||
package com.auth.module.security.service.impl;
|
||||
|
||||
|
||||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.common.model.enums.LoginEnums;
|
||||
import com.auth.dao.base.entity.PermissionEntity;
|
||||
import com.auth.dao.base.entity.RoleEntity;
|
||||
import com.auth.dao.base.entity.UserEntity;
|
||||
import com.auth.dao.base.mapper.v1.UserMapper;
|
||||
import com.auth.model.base.dto.LoginDto;
|
||||
import com.auth.model.base.vo.LoginVo;
|
||||
import com.auth.module.security.provider.JwtTokenProvider;
|
||||
import com.auth.module.security.service.LoginService;
|
||||
import com.auth.module.security.service.strategy.DefaultLoginStrategy;
|
||||
import com.auth.module.security.service.strategy.LoginContext;
|
||||
import com.auth.module.security.service.strategy.LoginStrategy;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class LoginServiceImpl extends ServiceImpl<UserMapper, UserEntity> implements LoginService {
|
||||
|
||||
private final JwtTokenProvider jwtTokenProvider;
|
||||
private final DbUserDetailServiceImpl dbUserDetailServiceImpl;
|
||||
private final UserMapper userMapper;
|
||||
private final PasswordEncoder passwordEncoder;
|
||||
|
||||
/**
|
||||
* 用户登录
|
||||
*
|
||||
* @param loginDto LoginRequest登录参数
|
||||
* @return 登录成功返回内容
|
||||
*/
|
||||
@Override
|
||||
public LoginVo login(LoginDto loginDto) {
|
||||
// 初始化所有策略(可扩展)
|
||||
HashMap<String, LoginStrategy> loginStrategyHashMap = new HashMap<>();
|
||||
// 默认的登录方式
|
||||
loginStrategyHashMap.put(LoginEnums.default_STRATEGY.getValue(), new DefaultLoginStrategy(userMapper));
|
||||
|
||||
// 使用登录上下文调用登录策略
|
||||
LoginContext loginContext = new LoginContext(loginStrategyHashMap);
|
||||
UserEntity user = loginContext.executeStrategy(loginDto);
|
||||
|
||||
// 验证登录逻辑
|
||||
if (user == null) throw new UsernameNotFoundException(ResultCodeEnum.USER_IS_EMPTY.getMessage());
|
||||
|
||||
// 数据库密码
|
||||
String dbPassword = user.getPassword();
|
||||
String password = loginDto.getPassword();
|
||||
if (!passwordEncoder.matches(password, dbPassword)) {
|
||||
throw new UsernameNotFoundException(ResultCodeEnum.LOGIN_ERROR.getMessage());
|
||||
}
|
||||
|
||||
// 登录结束后的操作
|
||||
loginContext.loginAfter(loginDto, user);
|
||||
|
||||
// 设置用户创建用户id 和 更新用户id
|
||||
Long userId = user.getId();
|
||||
user.setCreateUser(userId);
|
||||
user.setUpdateUser(userId);
|
||||
updateById(user);
|
||||
|
||||
List<String> roles = baseMapper.selectRolesByUserId(userId).stream().map(RoleEntity::getRoleCode).toList();
|
||||
List<String> permission = baseMapper.selectPermissionByUserId(userId).stream().map(PermissionEntity::getPermissionCode).toList();
|
||||
String token = jwtTokenProvider.createToken(userId, user.getUsername(), roles, permission);
|
||||
|
||||
// 过期时间
|
||||
Long expiresInSeconds = jwtTokenProvider.expired;
|
||||
long expirationMillis = System.currentTimeMillis() + (expiresInSeconds * 1000);
|
||||
Date date = new Date(expirationMillis);
|
||||
|
||||
// 构建用户返回对象
|
||||
LoginVo loginVo = new LoginVo();
|
||||
BeanUtils.copyProperties(user, loginVo);
|
||||
loginVo.setToken(token);
|
||||
loginVo.setReadMeDay(expirationMillis);
|
||||
loginVo.setExpires(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date));
|
||||
|
||||
return loginVo;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
package com.auth.module.security.service.strategy;
|
||||
|
||||
import com.auth.dao.base.entity.UserEntity;
|
||||
import com.auth.dao.base.mapper.v1.UserMapper;
|
||||
import com.auth.model.base.dto.LoginDto;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
|
||||
/**
|
||||
* 使用用户名登录
|
||||
*/
|
||||
public class DefaultLoginStrategy implements LoginStrategy {
|
||||
private final UserMapper userMapper;
|
||||
|
||||
public DefaultLoginStrategy(UserMapper userMapper) {
|
||||
this.userMapper = userMapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* 登录鉴定方法
|
||||
* 默认登录方式,使用用户名查询用户
|
||||
*
|
||||
* @param loginDto 登录参数
|
||||
* @return 鉴定身份验证
|
||||
*/
|
||||
@Override
|
||||
public UserEntity authenticate(LoginDto loginDto) {
|
||||
String username = loginDto.getUsername();
|
||||
|
||||
// 查询用户相关内容
|
||||
LambdaQueryWrapper<UserEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(UserEntity::getUsername, username);
|
||||
return userMapper.selectOne(queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 登录完成后的内容
|
||||
*
|
||||
* @param loginDto 登录参数
|
||||
* @param adminUser 用户
|
||||
*/
|
||||
@Override
|
||||
public void authenticateAfter(LoginDto loginDto, UserEntity adminUser) {
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
package com.auth.module.security.service.strategy;
|
||||
|
||||
|
||||
import com.auth.dao.base.entity.UserEntity;
|
||||
import com.auth.model.base.dto.LoginDto;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 登录策略上下文
|
||||
*/
|
||||
public class LoginContext {
|
||||
|
||||
private final Map<String, LoginStrategy> strategies;
|
||||
|
||||
public LoginContext(Map<String, LoginStrategy> strategies) {
|
||||
this.strategies = strategies;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 执行登录策略
|
||||
* 根据情况判断 type 是否为空
|
||||
*
|
||||
* @param loginDto 登录参数
|
||||
* @return 用户
|
||||
*/
|
||||
public UserEntity executeStrategy(LoginDto loginDto) {
|
||||
String type = loginDto.getType();
|
||||
LoginStrategy strategy = strategies.get(type);
|
||||
|
||||
if (strategy == null) {
|
||||
throw new UsernameNotFoundException("不支持登录类型: " + type);
|
||||
}
|
||||
|
||||
return strategy.authenticate(loginDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 登录完成后的内容
|
||||
*
|
||||
* @param loginDto 登录参数
|
||||
*/
|
||||
public void loginAfter(LoginDto loginDto, UserEntity adminUser) {
|
||||
String type = loginDto.getType();
|
||||
LoginStrategy strategy = strategies.get(type);
|
||||
|
||||
strategy.authenticateAfter(loginDto, adminUser);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package com.auth.module.security.service.strategy;
|
||||
|
||||
|
||||
import com.auth.dao.base.entity.UserEntity;
|
||||
import com.auth.model.base.dto.LoginDto;
|
||||
|
||||
/**
|
||||
* 登录策略
|
||||
*/
|
||||
public interface LoginStrategy {
|
||||
|
||||
/**
|
||||
* 登录鉴定方法
|
||||
*
|
||||
* @param loginDto 登录参数
|
||||
* @return 鉴定身份验证
|
||||
*/
|
||||
UserEntity authenticate(LoginDto loginDto);
|
||||
|
||||
/**
|
||||
* 登录完成后的内容
|
||||
*
|
||||
* @param loginDto 登录参数
|
||||
* @param adminUser {@link UserEntity}
|
||||
*/
|
||||
void authenticateAfter(LoginDto loginDto, UserEntity adminUser);
|
||||
}
|
|
@ -26,5 +26,10 @@
|
|||
<artifactId>spring-boot-devtools</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara.x-file-storage</groupId>
|
||||
<artifactId>x-file-storage-spring</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.controller;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.common.model.common.result.Result;
|
||||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.dao.base.entity.base.AuthLogEntity;
|
||||
import com.auth.dao.base.entity.AuthLogEntity;
|
||||
import com.auth.model.base.dto.AuthLogDto;
|
||||
import com.auth.model.base.vo.AuthLogVo;
|
||||
import com.auth.service.base.service.AuthLogService;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.DeptDto;
|
||||
import com.auth.model.base.vo.DeptVo;
|
||||
import com.auth.dao.base.entity.base.DeptEntity;
|
||||
import com.auth.dao.base.entity.DeptEntity;
|
||||
import com.auth.service.base.service.DeptService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.DictDto;
|
||||
import com.auth.model.base.vo.DictVo;
|
||||
import com.auth.dao.base.entity.base.DictEntity;
|
||||
import com.auth.dao.base.entity.DictEntity;
|
||||
import com.auth.service.base.service.DictService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.EmailConfigDto;
|
||||
import com.auth.model.base.vo.EmailConfigVo;
|
||||
import com.auth.dao.base.entity.base.EmailConfigEntity;
|
||||
import com.auth.dao.base.entity.EmailConfigEntity;
|
||||
import com.auth.service.base.service.EmailConfigService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.EmailTemplateDto;
|
||||
import com.auth.model.base.vo.EmailTemplateVo;
|
||||
import com.auth.dao.base.entity.base.EmailTemplateEntity;
|
||||
import com.auth.dao.base.entity.EmailTemplateEntity;
|
||||
import com.auth.service.base.service.EmailTemplateService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.FileDto;
|
||||
import com.auth.model.base.vo.FileVo;
|
||||
import com.auth.dao.base.entity.base.FileEntity;
|
||||
import com.auth.dao.base.entity.FileEntity;
|
||||
import com.auth.service.base.service.FileService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.LoginLogDto;
|
||||
import com.auth.model.base.vo.LoginLogVo;
|
||||
import com.auth.dao.base.entity.base.LoginLogEntity;
|
||||
import com.auth.dao.base.entity.LoginLogEntity;
|
||||
import com.auth.service.base.service.LoginLogService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.MenuDto;
|
||||
import com.auth.model.base.vo.MenuVo;
|
||||
import com.auth.dao.base.entity.base.MenuEntity;
|
||||
import com.auth.dao.base.entity.MenuEntity;
|
||||
import com.auth.service.base.service.MenuService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.MenuRoleDto;
|
||||
import com.auth.model.base.vo.MenuRoleVo;
|
||||
import com.auth.dao.base.entity.base.MenuRoleEntity;
|
||||
import com.auth.dao.base.entity.MenuRoleEntity;
|
||||
import com.auth.service.base.service.MenuRoleService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.OperationLogDto;
|
||||
import com.auth.model.base.vo.OperationLogVo;
|
||||
import com.auth.dao.base.entity.base.OperationLogEntity;
|
||||
import com.auth.dao.base.entity.OperationLogEntity;
|
||||
import com.auth.service.base.service.OperationLogService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.PermissionDto;
|
||||
import com.auth.model.base.vo.PermissionVo;
|
||||
import com.auth.dao.base.entity.base.PermissionEntity;
|
||||
import com.auth.dao.base.entity.PermissionEntity;
|
||||
import com.auth.service.base.service.PermissionService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.RoleDto;
|
||||
import com.auth.model.base.vo.RoleVo;
|
||||
import com.auth.dao.base.entity.base.RoleEntity;
|
||||
import com.auth.dao.base.entity.RoleEntity;
|
||||
import com.auth.service.base.service.RoleService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.RoleDataScopeDto;
|
||||
import com.auth.model.base.vo.RoleDataScopeVo;
|
||||
import com.auth.dao.base.entity.base.RoleDataScopeEntity;
|
||||
import com.auth.dao.base.entity.RoleDataScopeEntity;
|
||||
import com.auth.service.base.service.RoleDataScopeService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.RolePermissionDto;
|
||||
import com.auth.model.base.vo.RolePermissionVo;
|
||||
import com.auth.dao.base.entity.base.RolePermissionEntity;
|
||||
import com.auth.dao.base.entity.RolePermissionEntity;
|
||||
import com.auth.service.base.service.RolePermissionService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.UserDto;
|
||||
import com.auth.model.base.vo.UserVo;
|
||||
import com.auth.dao.base.entity.base.UserEntity;
|
||||
import com.auth.dao.base.entity.UserEntity;
|
||||
import com.auth.service.base.service.UserService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.UserDeptDto;
|
||||
import com.auth.model.base.vo.UserDeptVo;
|
||||
import com.auth.dao.base.entity.base.UserDeptEntity;
|
||||
import com.auth.dao.base.entity.UserDeptEntity;
|
||||
import com.auth.service.base.service.UserDeptService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.auth.common.model.common.result.Result;
|
|||
import com.auth.common.model.common.result.ResultCodeEnum;
|
||||
import com.auth.model.base.dto.UserRoleDto;
|
||||
import com.auth.model.base.vo.UserRoleVo;
|
||||
import com.auth.dao.base.entity.base.UserRoleEntity;
|
||||
import com.auth.dao.base.entity.UserRoleEntity;
|
||||
import com.auth.service.base.service.UserRoleService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package com.auth.service.base.service;
|
||||
|
||||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.dao.base.entity.base.AuthLogEntity;
|
||||
import com.auth.dao.base.entity.AuthLogEntity;
|
||||
import com.auth.model.base.dto.AuthLogDto;
|
||||
import com.auth.model.base.vo.AuthLogVo;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.DeptDto;
|
||||
import com.auth.model.base.vo.DeptVo;
|
||||
import com.auth.dao.base.entity.base.DeptEntity;
|
||||
import com.auth.dao.base.entity.DeptEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.DictDto;
|
||||
import com.auth.model.base.vo.DictVo;
|
||||
import com.auth.dao.base.entity.base.DictEntity;
|
||||
import com.auth.dao.base.entity.DictEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.EmailConfigDto;
|
||||
import com.auth.model.base.vo.EmailConfigVo;
|
||||
import com.auth.dao.base.entity.base.EmailConfigEntity;
|
||||
import com.auth.dao.base.entity.EmailConfigEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.EmailTemplateDto;
|
||||
import com.auth.model.base.vo.EmailTemplateVo;
|
||||
import com.auth.dao.base.entity.base.EmailTemplateEntity;
|
||||
import com.auth.dao.base.entity.EmailTemplateEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.FileDto;
|
||||
import com.auth.model.base.vo.FileVo;
|
||||
import com.auth.dao.base.entity.base.FileEntity;
|
||||
import com.auth.dao.base.entity.FileEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.LoginLogDto;
|
||||
import com.auth.model.base.vo.LoginLogVo;
|
||||
import com.auth.dao.base.entity.base.LoginLogEntity;
|
||||
import com.auth.dao.base.entity.LoginLogEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.MenuRoleDto;
|
||||
import com.auth.model.base.vo.MenuRoleVo;
|
||||
import com.auth.dao.base.entity.base.MenuRoleEntity;
|
||||
import com.auth.dao.base.entity.MenuRoleEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.MenuDto;
|
||||
import com.auth.model.base.vo.MenuVo;
|
||||
import com.auth.dao.base.entity.base.MenuEntity;
|
||||
import com.auth.dao.base.entity.MenuEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.OperationLogDto;
|
||||
import com.auth.model.base.vo.OperationLogVo;
|
||||
import com.auth.dao.base.entity.base.OperationLogEntity;
|
||||
import com.auth.dao.base.entity.OperationLogEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.PermissionDto;
|
||||
import com.auth.model.base.vo.PermissionVo;
|
||||
import com.auth.dao.base.entity.base.PermissionEntity;
|
||||
import com.auth.dao.base.entity.PermissionEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.RoleDataScopeDto;
|
||||
import com.auth.model.base.vo.RoleDataScopeVo;
|
||||
import com.auth.dao.base.entity.base.RoleDataScopeEntity;
|
||||
import com.auth.dao.base.entity.RoleDataScopeEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.RolePermissionDto;
|
||||
import com.auth.model.base.vo.RolePermissionVo;
|
||||
import com.auth.dao.base.entity.base.RolePermissionEntity;
|
||||
import com.auth.dao.base.entity.RolePermissionEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.RoleDto;
|
||||
import com.auth.model.base.vo.RoleVo;
|
||||
import com.auth.dao.base.entity.base.RoleEntity;
|
||||
import com.auth.dao.base.entity.RoleEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.UserDeptDto;
|
||||
import com.auth.model.base.vo.UserDeptVo;
|
||||
import com.auth.dao.base.entity.base.UserDeptEntity;
|
||||
import com.auth.dao.base.entity.UserDeptEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.UserRoleDto;
|
||||
import com.auth.model.base.vo.UserRoleVo;
|
||||
import com.auth.dao.base.entity.base.UserRoleEntity;
|
||||
import com.auth.dao.base.entity.UserRoleEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.auth.service.base.service;
|
|||
import com.auth.common.model.common.result.PageResult;
|
||||
import com.auth.model.base.dto.UserDto;
|
||||
import com.auth.model.base.vo.UserVo;
|
||||
import com.auth.dao.base.entity.base.UserEntity;
|
||||
import com.auth.dao.base.entity.UserEntity;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue