From 71079d4988b863b27e3520d2c3d96d1352f443fb Mon Sep 17 00:00:00 2001 From: marsal Date: Mon, 6 Jul 2026 16:39:17 +0800 Subject: [PATCH] feat(shared): add BaseEntity and ApiResponse --- backend/mci-shared/pom.xml | 2 +- .../sino/mci/shared/entity/BaseEntity.java | 15 +++++-- .../com/sino/mci/shared/web/ApiResponse.java | 39 ++++++++++++------- backend/pom.xml | 17 ++++++-- 4 files changed, 51 insertions(+), 22 deletions(-) diff --git a/backend/mci-shared/pom.xml b/backend/mci-shared/pom.xml index fee4e35..d32ece9 100644 --- a/backend/mci-shared/pom.xml +++ b/backend/mci-shared/pom.xml @@ -14,7 +14,7 @@ com.baomidou - mybatis-plus-boot-starter + mybatis-plus-annotation org.projectlombok diff --git a/backend/mci-shared/src/main/java/com/sino/mci/shared/entity/BaseEntity.java b/backend/mci-shared/src/main/java/com/sino/mci/shared/entity/BaseEntity.java index f4b89ec..2b3d727 100644 --- a/backend/mci-shared/src/main/java/com/sino/mci/shared/entity/BaseEntity.java +++ b/backend/mci-shared/src/main/java/com/sino/mci/shared/entity/BaseEntity.java @@ -1,18 +1,27 @@ package com.sino.mci.shared.entity; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; -import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import java.io.Serializable; import java.time.LocalDateTime; -@Data -public abstract class BaseEntity { +@Getter +@Setter +public abstract class BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; @TableId(type = IdType.AUTO) private Long id; + @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; + @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; } diff --git a/backend/mci-shared/src/main/java/com/sino/mci/shared/web/ApiResponse.java b/backend/mci-shared/src/main/java/com/sino/mci/shared/web/ApiResponse.java index 84fa400..1ab8702 100644 --- a/backend/mci-shared/src/main/java/com/sino/mci/shared/web/ApiResponse.java +++ b/backend/mci-shared/src/main/java/com/sino/mci/shared/web/ApiResponse.java @@ -1,27 +1,36 @@ package com.sino.mci.shared.web; -import lombok.Data; +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; -@Data +@Getter +@AllArgsConstructor(access = AccessLevel.PRIVATE) public class ApiResponse { - private int code; - private String message; - private T data; - private String requestId; + private static final int SUCCESS_CODE = 0; + private static final String SUCCESS_MESSAGE = "ok"; + + private static final int DEFAULT_FAIL_CODE = -1; + private static final String DEFAULT_FAIL_MESSAGE = "fail"; + + private final int code; + private final String message; + private final T data; + + public static ApiResponse ok() { + return ok(null); + } public static ApiResponse ok(T data) { - ApiResponse response = new ApiResponse<>(); - response.setCode(0); - response.setMessage("ok"); - response.setData(data); - return response; + return new ApiResponse<>(SUCCESS_CODE, SUCCESS_MESSAGE, data); + } + + public static ApiResponse fail() { + return fail(DEFAULT_FAIL_CODE, DEFAULT_FAIL_MESSAGE); } public static ApiResponse fail(int code, String message) { - ApiResponse response = new ApiResponse<>(); - response.setCode(code); - response.setMessage(message); - return response; + return new ApiResponse<>(code, message, null); } } diff --git a/backend/pom.xml b/backend/pom.xml index 587a442..3e61a20 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -19,15 +19,21 @@ Message & Customer Interaction Platform - 17 - 17 - 17 + 21 + 21 + 21 UTF-8 3.5.7 mci-shared + mci-server + mci-channel-common + mci-channel-wecom + mci-channel-dingtalk + mci-channel-feishu + mci-channel-ivr @@ -47,6 +53,11 @@ mybatis-plus-boot-starter ${mybatis-plus.version} + + com.baomidou + mybatis-plus-annotation + ${mybatis-plus.version} +