This commit is contained in:
2025-11-08 18:11:16 +08:00
parent 94438d1271
commit b423ea902c
57 changed files with 841 additions and 439 deletions

View File

@@ -60,6 +60,12 @@
<artifactId>spring-security-core</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-annotation</artifactId>
<version>${mybatis-plus.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>

View File

@@ -1,6 +1,9 @@
package cn.fateverse.common.core.entity;
import cn.fateverse.common.core.annotaion.EnableAutoField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -16,14 +19,16 @@ import javax.validation.constraints.Pattern;
* @date 2022/10/30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_dept")
@EnableAutoField
@EqualsAndHashCode(callSuper = true)
public class Dept extends BaseEntity {
/**
* 部门ID
*/
@TableId(type = IdType.AUTO)
private Long deptId;
/**
@@ -63,7 +68,7 @@ public class Dept extends BaseEntity {
/**
* 联系电话
*/
@Pattern(message = "手机号格式错误!",regexp = "^1[0-9]{10}$")
@Pattern(message = "手机号格式错误!", regexp = "^1[0-9]{10}$")
private String phone;
/**
@@ -83,5 +88,4 @@ public class Dept extends BaseEntity {
private String delFlag;
}

View File

@@ -1,12 +1,10 @@
package cn.fateverse.common.core.entity;
import cn.fateverse.admin.entity.User;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import java.util.*;
import java.util.stream.Collectors;
@@ -17,7 +15,7 @@ import java.util.stream.Collectors;
*/
@Data
@NoArgsConstructor
public class LoginUser implements UserDetails {
public class LoginUser implements org.springframework.security.core.userdetails.UserDetails {
/**
* 用户唯一标识
@@ -37,7 +35,7 @@ public class LoginUser implements UserDetails {
/**
* 用户信息
*/
private User user;
private UserDetail user;
/**
* 登录ip

View File

@@ -1,28 +1,27 @@
package cn.fateverse.common.core.entity;
import cn.fateverse.common.core.annotaion.EnableAutoField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.*;
/**
*
* @author Clay
* @date 2022/10/30
*/
@Data
@Builder
@EnableAutoField
@AllArgsConstructor
@NoArgsConstructor
public class Role extends BaseEntity {
@TableName("sys_role")
@EqualsAndHashCode(callSuper = true)
public class Role extends BaseEntity {
/**
* 角色ID
*/
@TableId(type = IdType.AUTO)
private Long roleId;
/**

View File

@@ -1,38 +1,111 @@
package cn.fateverse.common.core.entity;
import cn.fateverse.common.core.annotaion.EnableAutoField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.*;
import java.util.List;
import java.util.Date;
/**
* @author Clay
* @date 2022/10/27
* @date 2022/11/7
*/
@Data
@EnableAutoField
@TableName("sys_user")
@EqualsAndHashCode(callSuper = true)
public class User extends UserBase {
public class User extends BaseEntity {
/**
* 部门对象
* 用户ID
*/
private Dept dept;
@TableId(type = IdType.AUTO)
private Long userId;
/**
* 角色对象
* 部门ID
*/
private List<Role> roles;
private Long deptId;
/**
* 用户账号
*/
private String userName;
/**
* 用户昵称
*/
private String nickName;
/**
* 用户邮箱
*/
private String email;
/**
* 手机号码
*/
private String phoneNumber;
/**
* 用户性别
*/
private String sex;
/**
* 用户头像
*/
private String avatar;
/**
* 密码
*/
private String password;
/**
* 盐加密
*/
@JsonIgnore
public boolean isAdmin() {
return isAdmin(super.getUserId());
}
private String salt;
/**
* 帐号状态1正常 0停用
*/
private String state;
/**
* 删除标志0代表存在 2代表删除
*/
@JsonIgnore
public static boolean isAdmin(Long userId) {
return userId != null && 1L == userId;
}
private String delFlag;
/**
* 用户类型
*/
private String userType;
/**
* 一个微信开放平台帐号下的应用,同一用户的 union
*/
private String unionId;
/**
* 用户唯一标识
*/
private String openId;
/**
* 城市
*/
private String city;
/**
* 最后登录IP
*/
private String loginIp;
/**
* 最后登录时间
*/
private Date loginDate;
}

View File

@@ -1,109 +0,0 @@
package cn.fateverse.common.core.entity;
import cn.fateverse.common.core.annotaion.EnableAutoField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.*;
import java.util.Date;
/**
* @author Clay
* @date 2022/11/7
*/
@Data
@Builder
@EnableAutoField
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class UserBase extends BaseEntity {
/**
* 用户ID
*/
private Long userId;
/**
* 部门ID
*/
private Long deptId;
/**
* 用户账号
*/
private String userName;
/**
* 用户昵称
*/
private String nickName;
/**
* 用户邮箱
*/
private String email;
/**
* 手机号码
*/
private String phoneNumber;
/**
* 用户性别
*/
private String sex;
/**
* 用户头像
*/
private String avatar;
/**
* 密码
*/
private String password;
/**
* 盐加密
*/
@JsonIgnore
private String salt;
/**
* 帐号状态1正常 0停用
*/
private String state;
/**
* 删除标志0代表存在 2代表删除
*/
@JsonIgnore
private String delFlag;
/**
* 用户类型
*/
private String userType;
/**
* 一个微信开放平台帐号下的应用,同一用户的 union
*/
private String unionId;
/**
* 用户唯一标识
*/
private String openId;
/**
* 城市
*/
private String city;
/**
* 最后登录IP
*/
private String loginIp;
/**
* 最后登录时间
*/
private Date loginDate;
}

View File

@@ -0,0 +1,38 @@
package cn.fateverse.common.core.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* @author Clay
* @date 2022/10/27
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class UserDetail extends User {
/**
* 部门对象
*/
private Dept dept;
/**
* 角色对象
*/
private List<Role> roles;
@JsonIgnore
public boolean isAdmin() {
return isAdmin(super.getUserId());
}
@JsonIgnore
public static boolean isAdmin(Long userId) {
return userId != null && 1L == userId;
}
}

View File

@@ -12,7 +12,6 @@
<artifactId>common-mybatis-puls</artifactId>
<properties>
<mybatis-plus.version>3.5.3.1</mybatis-plus.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

View File

@@ -3,6 +3,7 @@ package cn.fateverse.common.mybatisplus.utils;
import cn.fateverse.common.core.entity.PageInfo;
import cn.fateverse.common.core.result.page.TableDataInfo;
import cn.fateverse.common.core.utils.TableSupport;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.ArrayList;
@@ -26,11 +27,21 @@ public class PageConditionUtil {
* @param <R> 需要转换的对象类型
* @return 转换后的对象
*/
public static <T, R> TableDataInfo<T> convertDataTable(Page<R> page, Function<R, T> map) {
public static <T, R> TableDataInfo<T> convertDataTable(IPage<R> page, Function<R, T> map) {
List<T> convertList = page.getRecords().stream().map(map).collect(Collectors.toList());
return convertDataTable(convertList, page.getTotal());
}
/**
* 转换为TableDataInfo对象
*
* @param page 源对象
* @return 转换后的对象
*/
public static <T> TableDataInfo<T> convertDataTable(IPage<T> page) {
return convertDataTable(page.getRecords(), page.getTotal());
}
/**
* 转换为TableDataInfo对象
@@ -50,7 +61,7 @@ public class PageConditionUtil {
return tableDataInfo;
}
public static <T> Page<T> getPage(){
public static <T> IPage<T> getPage() {
PageInfo pageInfo = TableSupport.getPageInfo();
return new Page<>(pageInfo.getPageNum(), pageInfo.getPageSize());
}

View File

@@ -1,57 +0,0 @@
package cn.fateverse.common.mybatisplus.utils;
import cn.fateverse.common.core.entity.PageInfo;
import cn.fateverse.common.core.result.page.TableDataInfo;
import cn.fateverse.common.core.utils.TableSupport;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @author Clay
* @date 2023-05-25
*/
public class PageUtils {
/**
* 转换为TableDataInfo对象
*
* @param page 源对象
* @param map 转换方法
* @param <T> 转换后的对象类型
* @param <R> 需要转换的对象类型
* @return 转换后的对象
*/
public static <T, R> TableDataInfo<T> convertDataTable(Page<R> page, Function<R, T> map) {
List<T> convertList = page.getRecords().stream().map(map).collect(Collectors.toList());
return convertDataTable(convertList, page.getTotal());
}
/**
* 转换为TableDataInfo对象
*
* @param list
* @param count
* @param <T>
* @return
*/
public static <T> TableDataInfo<T> convertDataTable(List<T> list, Long count) {
if (null == list) {
return new TableDataInfo<>(new ArrayList<>(), 0);
}
TableDataInfo<T> tableDataInfo = new TableDataInfo<>();
tableDataInfo.setRows(list);
tableDataInfo.setTotal(count);
return tableDataInfo;
}
public static <T> Page<T> getPage(){
PageInfo pageInfo = TableSupport.getPageInfo();
return new Page<>(pageInfo.getPageNum(), pageInfo.getPageSize());
}
}