refactor(common): Use Lombok annotations to simplify entity class code

This commit is contained in:
Sol 2025-05-17 19:04:24 +08:00
parent 9d6e49c94e
commit 9da03ec4ff
12 changed files with 39 additions and 11 deletions

View file

@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "实体创建通用参数")
public abstract class BaseCreateDto<ENTITY extends BaseEntity> {
@Schema(description = "排序")

View file

@ -10,7 +10,7 @@ import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
@Schema(description = "分页查询参数")
@Schema(description = "分页查询通用参数")
public abstract class BasePageDto<T extends BaseEntity> {
@NotNull(message = "页码不能为空")
@Min(value = 1, message = "页码不能小于1")

View file

@ -6,6 +6,7 @@ import jakarta.validation.constraints.NotBlank;
import lombok.Data;
@Data
@Schema(description = "实体更新通用参数")
public abstract class BaseUpdateDto<ENTITY extends BaseEntity> {
@Schema(description = "主键")
@ -18,7 +19,6 @@ public abstract class BaseUpdateDto<ENTITY extends BaseEntity> {
@Schema(description = "描述")
private String description;
/**
* CreateDto转Entity
*

View file

@ -4,13 +4,16 @@ import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.Id;
import jakarta.persistence.MappedSuperclass;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
@Data
@MappedSuperclass()
@MappedSuperclass
public abstract class BaseEntity implements Serializable {
@Id
@TableId(value = "id", type = IdType.ASSIGN_UUID)

View file

@ -3,14 +3,13 @@ package com.bgasol.common.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.*;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Data
@MappedSuperclass()
@MappedSuperclass
public abstract class BaseTreeEntity<T extends BaseTreeEntity<T>> extends BaseEntity {
@Schema(description = "父id")
@TableField("parent_id")

View file

@ -1,13 +1,19 @@
package com.bgasol.common.core.base.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
@Data
@Schema(description = "基础响应数据")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BaseVo<T> {
@Schema(description = "响应码")
private Integer code;

View file

@ -1,12 +1,18 @@
package com.bgasol.common.core.base.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Schema(description = "分页响应数据")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PageVo<ENTITY> {
@Schema(description = "总条数")
private Long total;

View file

@ -1,10 +1,12 @@
package com.bgasol.common.core.base.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
@Schema(description = "响应类型")
public enum ResponseType {
SUCCESS("success"),

View file

@ -1,10 +1,16 @@
package com.bgasol.common.core.base.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Schema(description = "参数校验结果")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class VerificationResult {
@Schema(description = "校验结果")
private boolean result;

View file

@ -14,6 +14,7 @@ import lombok.EqualsAndHashCode;
@Schema(description = "菜单实体")
@TableName("t_menu")
public class MenuEntity extends BaseTreeEntity<MenuEntity> {
@Schema(description = "菜单名")

View file

@ -1,10 +1,16 @@
package com.bgasol.model.system.user.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Schema(description = "验证码结果")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class VerificationVo {
@Schema(description = "验证码图片的base64编码")

View file

@ -47,11 +47,9 @@ public class LoginService {
String key = UUID.randomUUID().toString(); // 生成验证码的key
captchaCache.saveCaptcha(key, text); // 保存到缓存
VerificationVo verificationVo = new VerificationVo();
verificationVo.setVerificationCode(captcha.toBase64());
verificationVo.setVerificationId(key);
return verificationVo;
return VerificationVo.builder()
.verificationCode(captcha.toBase64())
.verificationId(key).build();
}
public void logout() {