refactor: 调整通用领域模型包结构

This commit is contained in:
zhiye.sun
2026-05-19 16:20:54 +08:00
committed by bruce
parent b4e8324d60
commit 067b098aa1
11 changed files with 127 additions and 8 deletions

View File

@@ -1,7 +1,8 @@
package com.bruce.common.entity; package com.bruce.common.domain.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.bruce.common.domain.model.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

View File

@@ -1,6 +1,7 @@
package com.bruce.common.entity; package com.bruce.common.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.bruce.common.domain.model.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

View File

@@ -1,4 +1,4 @@
package com.bruce.common.entity; package com.bruce.common.domain.model;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;

View File

@@ -0,0 +1,59 @@
package com.bruce.common.domain.model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RequestResult<T> {
public static final String FAIL_CODE = "-1";
public static final String SUCCESS_CODE = "0";
@Schema(description = "错误消息")
private String message;
@Schema(description = "消息代码")
private String resultcode;
@Schema(description = "数据")
private T data;
public RequestResult(T data) {
this.resultcode = SUCCESS_CODE;
this.data = data;
}
public static <T> RequestResult<T> success() {
return build(SUCCESS_CODE, null, null);
}
public static <T> RequestResult<T> success(T data) {
return build(SUCCESS_CODE, null, data);
}
public static <T> RequestResult<T> success(String message, T data) {
return build(SUCCESS_CODE, message, data);
}
public static <T> RequestResult<T> fail(String message) {
return build(FAIL_CODE, message, null);
}
public static <T> RequestResult<T> fail(String resultcode, String message) {
return build(resultcode, message, null);
}
private static <T> RequestResult<T> build(String resultcode, String message, T data) {
RequestResult<T> result = new RequestResult<>();
result.setResultcode(resultcode);
result.setMessage(message);
result.setData(data);
return result;
}
}

View File

@@ -1,7 +1,7 @@
package com.bruce.common.mapper; package com.bruce.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bruce.common.entity.SysAttachment; import com.bruce.common.domain.entity.SysAttachment;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper

View File

@@ -1,7 +1,7 @@
package com.bruce.common.mapper; package com.bruce.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bruce.common.entity.SysEnum; import com.bruce.common.domain.entity.SysEnum;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper

View File

@@ -2,7 +2,7 @@ package com.bruce.rag.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.bruce.common.entity.BaseEntity; import com.bruce.common.domain.model.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

View File

@@ -1,7 +1,7 @@
package com.bruce.rag.entity; package com.bruce.rag.entity;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.bruce.common.entity.BaseEntity; import com.bruce.common.domain.model.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

View File

@@ -3,6 +3,9 @@ package com.bruce.common.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.Version; import com.baomidou.mybatisplus.annotation.Version;
import com.bruce.common.domain.model.BaseEntity;
import com.bruce.common.domain.entity.SysAttachment;
import com.bruce.common.domain.entity.SysEnum;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@@ -1,7 +1,7 @@
package com.bruce.common.enumconfig; package com.bruce.common.enumconfig;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.bruce.common.entity.SysEnum; import com.bruce.common.domain.entity.SysEnum;
import com.bruce.common.enums.CommonStatusEnum; import com.bruce.common.enums.CommonStatusEnum;
import com.bruce.common.enums.EnableStatusEnum; import com.bruce.common.enums.EnableStatusEnum;
import com.bruce.common.service.ISysEnumService; import com.bruce.common.service.ISysEnumService;

View File

@@ -0,0 +1,55 @@
package com.bruce.common.model;
import com.bruce.common.domain.model.RequestResult;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
class RequestResultStructureTests {
@Test
void dataConstructorShouldDefaultToSuccessCode() {
RequestResult<String> result = new RequestResult<>("payload");
assertEquals(RequestResult.SUCCESS_CODE, result.getResultcode());
assertNull(result.getMessage());
assertEquals("payload", result.getData());
}
@Test
void successFactoryShouldBuildSuccessfulResult() {
RequestResult<String> result = RequestResult.success("payload");
assertEquals(RequestResult.SUCCESS_CODE, result.getResultcode());
assertNull(result.getMessage());
assertEquals("payload", result.getData());
}
@Test
void successFactoryWithMessageShouldKeepCustomMessage() {
RequestResult<String> result = RequestResult.success("操作成功", "payload");
assertEquals(RequestResult.SUCCESS_CODE, result.getResultcode());
assertEquals("操作成功", result.getMessage());
assertEquals("payload", result.getData());
}
@Test
void failFactoryShouldBuildFailureResult() {
RequestResult<Void> result = RequestResult.fail("校验失败");
assertEquals(RequestResult.FAIL_CODE, result.getResultcode());
assertEquals("校验失败", result.getMessage());
assertNull(result.getData());
}
@Test
void failFactoryWithCustomCodeShouldKeepCustomCode() {
RequestResult<Void> result = RequestResult.fail("VALIDATE_ERROR", "校验失败");
assertEquals("VALIDATE_ERROR", result.getResultcode());
assertEquals("校验失败", result.getMessage());
assertNull(result.getData());
}
}