refactor: 序列化基类

This commit is contained in:
2025-03-21 18:41:32 +08:00
parent 535a6522fd
commit 9b28f14c0b
29 changed files with 125 additions and 67 deletions
@@ -4,20 +4,21 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.LastModifiedBy;
import java.io.Serializable;
import java.lang.reflect.Field;
import java.sql.Timestamp;
@Getter
@Setter
public class BaseEntity implements Serializable {
@EqualsAndHashCode(callSuper = false)
public class BaseEntity extends MyObject {
@CreatedBy
@TableField(fill = FieldFill.INSERT)
@@ -0,0 +1,13 @@
package cn.odboy.base;
import java.io.Serializable;
/**
* 基础对象
*
* @author odboy
* @date 2022-01-12
*/
public class MyObject implements Serializable {
private static final long serialVersionUID = 1L;
}
@@ -1,10 +1,11 @@
package cn.odboy.util;
import cn.odboy.base.MyObject;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
@@ -13,7 +14,8 @@ import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageResult<T> implements Serializable {
@EqualsAndHashCode(callSuper = false)
public class PageResult<T> extends MyObject {
private List<T> content;
@@ -17,7 +17,10 @@
</resultMap>
<sql id="Base_Column_List">
dd.detail_id, dd.label, dd.`value`, dd.`dict_sort`, dd.create_by, dd.update_by, dd.create_time, dd.update_time,
dd
.
detail_id
, dd.label, dd.`value`, dd.`dict_sort`, dd.create_by, dd.update_by, dd.create_time, dd.update_time,
d.dict_id, d.name
</sql>
@@ -23,7 +23,8 @@
</resultMap>
<sql id="Base_Column_List">
menu_id, title, name, menu_sort, component, path, type, permission, icon, cache, hidden, pid, sub_count,
menu_id
, title, name, menu_sort, component, path, type, permission, icon, cache, hidden, pid, sub_count,
i_frame, create_by, update_by, create_time, update_time
</sql>
@@ -11,7 +11,8 @@
</insert>
<delete id="deleteByRoleId">
delete from sys_roles_depts
delete
from sys_roles_depts
where role_id = #{roleId}
</delete>
@@ -23,17 +23,26 @@
</resultMap>
<sql id="Base_Column_List">
role.role_id as role_role_id, role.name as role_name, role.data_scope as role_data_scope,
role
.
role_id
as role_role_id, role.name as role_name, role.data_scope as role_data_scope,
role.level as role_level, role.description as role_description, role.create_by as role_create_by,
role.update_by as role_update_by, role.create_time as role_create_time, role.update_time as role_update_time
</sql>
<sql id="Menu_Column_List">
menu.menu_id as menu_id, menu.title as menu_title, menu.permission as menu_permission
menu
.
menu_id
as menu_id, menu.title as menu_title, menu.permission as menu_permission
</sql>
<sql id="Dept_Column_List">
dept.dept_id as dept_id, dept.name as dept_name
dept
.
dept_id
as dept_id, dept.name as dept_name
</sql>
<sql id="Where_sql">
@@ -52,7 +61,8 @@
<select id="queryAll" resultType="cn.odboy.modules.system.domain.Role">
select role_id as id, name, level
from sys_role order by level
from sys_role
order by level
</select>
<select id="findAll" resultMap="BaseResultMap">
@@ -83,7 +93,8 @@
</select>
<select id="findByName" resultType="cn.odboy.modules.system.domain.Role">
select role_id as id from sys_role
select role_id as id
from sys_role
where name = #{name}
</select>
@@ -11,7 +11,8 @@
</insert>
<delete id="deleteByRoleId">
delete from sys_roles_menus
delete
from sys_roles_menus
where role_id = #{roleId}
</delete>
@@ -24,7 +25,8 @@
</delete>
<delete id="deleteByMenuId">
delete from sys_roles_menus
delete
from sys_roles_menus
where menu_id = #{menuId}
</delete>
</mapper>
@@ -11,7 +11,8 @@
</insert>
<delete id="deleteByUserId">
delete from sys_users_jobs
delete
from sys_users_jobs
where user_id = #{userId}
</delete>
@@ -36,7 +36,10 @@
</resultMap>
<sql id="Base_Column_List">
u.user_id as user_user_id, u.dept_id as user_dept_id, u.username as user_username,
u
.
user_id
as user_user_id, u.dept_id as user_dept_id, u.username as user_username,
u.nick_name as user_nick_name, u.email as user_email, u.phone as user_phone,
u.gender as user_gender, u.avatar_name as user_avatar_name, u.avatar_path as user_avatar_path,
u.enabled as user_enabled, u.pwd_reset_time as user_pwd_reset_time, u.create_by as user_create_by,
@@ -45,11 +48,17 @@
</sql>
<sql id="Job_Column_List">
j.job_id as job_id, j.name as job_name
j
.
job_id
as job_id, j.name as job_name
</sql>
<sql id="Role_Column_List">
r.role_id as role_id, r.name as role_name, r.level as role_level, r.data_scope as role_data_scope
r
.
role_id
as role_id, r.name as role_name, r.level as role_level, r.data_scope as role_data_scope
</sql>
<sql id="Whrer_Sql">
@@ -117,30 +126,45 @@
</select>
<select id="findByEmail" resultType="cn.odboy.modules.system.domain.User">
select user_id as id, username from sys_user
select user_id as id, username
from sys_user
where email = #{email}
</select>
<select id="findByPhone" resultType="cn.odboy.modules.system.domain.User">
select user_id as id, username from sys_user
select user_id as id, username
from sys_user
where phone = #{phone}
</select>
<select id="findByRoleId" resultType="cn.odboy.modules.system.domain.User">
SELECT u.user_id as id, u.username FROM sys_user u, sys_users_roles r
WHERE u.user_id = r.user_id AND r.role_id = #{roleId}
SELECT u.user_id as id, u.username
FROM sys_user u,
sys_users_roles r
WHERE u.user_id = r.user_id
AND r.role_id = #{roleId}
group by u.user_id
</select>
<select id="findByRoleDeptId" resultType="cn.odboy.modules.system.domain.User">
SELECT u.* FROM sys_user u, sys_users_roles r, sys_roles_depts d
WHERE u.user_id = r.user_id AND r.role_id = d.role_id AND d.dept_id = #{deptId}
SELECT u.*
FROM sys_user u,
sys_users_roles r,
sys_roles_depts d
WHERE u.user_id = r.user_id
AND r.role_id = d.role_id
AND d.dept_id = #{deptId}
group by u.user_id
</select>
<select id="findByMenuId" resultType="cn.odboy.modules.system.domain.User">
SELECT u.user_id as id, u.username FROM sys_user u, sys_users_roles ur, sys_roles_menus rm
WHERE u.user_id = ur.user_id AND ur.role_id = rm.role_id AND rm.menu_id = #{menuId}
SELECT u.user_id as id, u.username
FROM sys_user u,
sys_users_roles ur,
sys_roles_menus rm
WHERE u.user_id = ur.user_id
AND ur.role_id = rm.role_id
AND rm.menu_id = #{menuId}
group by u.user_id
</select>
@@ -11,7 +11,8 @@
</insert>
<delete id="deleteByUserId">
delete from sys_users_roles
delete
from sys_users_roles
where user_id = #{userId}
</delete>
@@ -6,11 +6,7 @@ import org.springframework.mock.web.MockHttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.Date;
import static cn.odboy.util.StringUtil.getIp;
import static cn.odboy.util.StringUtil.getWeekDay;
import static cn.odboy.util.StringUtil.toCamelCase;
import static cn.odboy.util.StringUtil.toCapitalizeCamelCase;
import static cn.odboy.util.StringUtil.toUnderScoreCase;
import static cn.odboy.util.StringUtil.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
@@ -17,7 +17,6 @@ import org.springframework.stereotype.Component;
@Configuration
@Scope("singleton")
public class QuartzConfig {
/**
* 解决Job中注入Spring Bean为null的问题
*/
@@ -11,13 +11,12 @@ import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Getter
@Setter
@TableName("sys_quartz_job")
public class QuartzJob extends BaseEntity implements Serializable {
public class QuartzJob extends BaseEntity {
public static final String JOB_KEY = "JOB_KEY";
@@ -1,15 +1,17 @@
package cn.odboy.modules.quartz.domain;
import cn.odboy.base.MyObject;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.sql.Timestamp;
@Data
@TableName("sys_quartz_log")
public class QuartzLog implements Serializable {
@EqualsAndHashCode(callSuper = false)
public class QuartzLog extends MyObject {
@TableId(value = "log_id", type = IdType.AUTO)
@ApiModelProperty(value = "ID", hidden = true)
@@ -12,7 +12,6 @@ import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
import java.util.Objects;
import java.util.Set;
@@ -20,7 +19,7 @@ import java.util.Set;
@Getter
@Setter
@TableName("sys_dept")
public class Dept extends BaseEntity implements Serializable {
public class Dept extends BaseEntity {
@NotNull(groups = Update.class)
@TableId(value = "dept_id", type = IdType.AUTO)
@@ -10,13 +10,12 @@ import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Getter
@Setter
@TableName("sys_dict")
public class Dict extends BaseEntity implements Serializable {
public class Dict extends BaseEntity {
@NotNull(groups = Update.class)
@ApiModelProperty(value = "ID", hidden = true)
@@ -10,12 +10,11 @@ import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Getter
@Setter
@TableName("sys_dict_detail")
public class DictDetail extends BaseEntity implements Serializable {
public class DictDetail extends BaseEntity {
@NotNull(groups = Update.class)
@ApiModelProperty(value = "ID", hidden = true)
@@ -10,14 +10,13 @@ import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Objects;
@Getter
@Setter
@TableName("sys_job")
public class Job extends BaseEntity implements Serializable {
public class Job extends BaseEntity {
@NotNull(groups = Update.class)
@TableId(value = "job_id", type = IdType.AUTO)
@@ -11,7 +11,6 @@ import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
import java.util.Objects;
import java.util.Set;
@@ -19,7 +18,7 @@ import java.util.Set;
@Getter
@Setter
@TableName("sys_menu")
public class Menu extends BaseEntity implements Serializable {
public class Menu extends BaseEntity {
@NotNull(groups = {Update.class})
@TableId(value = "menu_id", type = IdType.AUTO)
@@ -12,7 +12,6 @@ import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Objects;
import java.util.Set;
@@ -22,7 +21,7 @@ import java.util.Set;
@Getter
@Setter
@TableName("sys_role")
public class Role extends BaseEntity implements Serializable {
public class Role extends BaseEntity {
@NotNull(groups = {Update.class})
@TableId(value = "role_id", type = IdType.AUTO)
@@ -12,7 +12,6 @@ import lombok.Setter;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;
import java.util.Set;
@@ -20,7 +19,7 @@ import java.util.Set;
@Getter
@Setter
@TableName("sys_user")
public class User extends BaseEntity implements Serializable {
public class User extends BaseEntity {
@NotNull(groups = Update.class)
@TableId(value = "user_id", type = IdType.AUTO)
@@ -1,14 +1,15 @@
package cn.odboy.modules.system.domain.dto;
import cn.odboy.base.MyObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
import lombok.EqualsAndHashCode;
@Data
@AllArgsConstructor
public class MenuMetaVo implements Serializable {
@EqualsAndHashCode(callSuper = false)
public class MenuMetaVo extends MyObject {
@ApiModelProperty(value = "菜单标题")
private String title;
@@ -1,16 +1,18 @@
package cn.odboy.modules.system.domain.dto;
import cn.odboy.base.MyObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.List;
/**
* 构建前端路由时用到
*/
@Data
public class MenuVo implements Serializable {
@EqualsAndHashCode(callSuper = false)
public class MenuVo extends MyObject {
@ApiModelProperty(value = "菜单名称")
private String name;
@@ -1,16 +1,18 @@
package cn.odboy.modules.system.domain.dto;
import cn.odboy.base.MyObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@Data
public class UserQueryCriteria implements Serializable {
@EqualsAndHashCode(callSuper = false)
public class UserQueryCriteria extends MyObject {
@ApiModelProperty(value = "ID")
private Long id;
@@ -1,19 +1,21 @@
package cn.odboy.domain;
import cn.odboy.base.MyObject;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 邮件配置类,数据存覆盖式存入数据存
*/
@Data
@TableName("tool_email_config")
public class EmailConfig implements Serializable {
@EqualsAndHashCode(callSuper = false)
public class EmailConfig extends MyObject {
@TableId("config_id")
private Long id;
@@ -11,13 +11,11 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
@NoArgsConstructor
@TableName("tool_local_storage")
public class LocalStorage extends BaseEntity implements Serializable {
public class LocalStorage extends BaseEntity {
@TableId(value = "storage_id", type = IdType.AUTO)
@ApiModelProperty(value = "ID", hidden = true)
@@ -1,19 +1,21 @@
package cn.odboy.domain;
import cn.odboy.base.MyObject;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 七牛云对象存储配置类
*/
@Data
@TableName("tool_qiniu_config")
public class QiniuConfig implements Serializable {
@EqualsAndHashCode(callSuper = false)
public class QiniuConfig extends MyObject {
@TableId("config_id")
private Long id;
@@ -1,10 +1,11 @@
package cn.odboy.domain;
import cn.odboy.base.MyObject;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.sql.Timestamp;
/**
@@ -12,7 +13,8 @@ import java.sql.Timestamp;
*/
@Data
@TableName("tool_qiniu_content")
public class QiniuContent implements Serializable {
@EqualsAndHashCode(callSuper = false)
public class QiniuContent extends MyObject {
@TableId(value = "content_id", type = IdType.AUTO)
@ApiModelProperty(value = "ID", hidden = true)