diff --git a/src/main/java/com/bruce/common/entity/SysAttachment.java b/src/main/java/com/bruce/common/domain/entity/SysAttachment.java similarity index 94% rename from src/main/java/com/bruce/common/entity/SysAttachment.java rename to src/main/java/com/bruce/common/domain/entity/SysAttachment.java index 64534b6..b190d37 100644 --- a/src/main/java/com/bruce/common/entity/SysAttachment.java +++ b/src/main/java/com/bruce/common/domain/entity/SysAttachment.java @@ -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.TableName; +import com.bruce.common.domain.model.BaseEntity; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/com/bruce/common/entity/SysEnum.java b/src/main/java/com/bruce/common/domain/entity/SysEnum.java similarity index 90% rename from src/main/java/com/bruce/common/entity/SysEnum.java rename to src/main/java/com/bruce/common/domain/entity/SysEnum.java index 2333072..2a7a823 100644 --- a/src/main/java/com/bruce/common/entity/SysEnum.java +++ b/src/main/java/com/bruce/common/domain/entity/SysEnum.java @@ -1,6 +1,7 @@ -package com.bruce.common.entity; +package com.bruce.common.domain.entity; import com.baomidou.mybatisplus.annotation.TableName; +import com.bruce.common.domain.model.BaseEntity; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/com/bruce/common/entity/BaseEntity.java b/src/main/java/com/bruce/common/domain/model/BaseEntity.java similarity index 96% rename from src/main/java/com/bruce/common/entity/BaseEntity.java rename to src/main/java/com/bruce/common/domain/model/BaseEntity.java index b999c54..7b9fd86 100644 --- a/src/main/java/com/bruce/common/entity/BaseEntity.java +++ b/src/main/java/com/bruce/common/domain/model/BaseEntity.java @@ -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.TableField; diff --git a/src/main/java/com/bruce/common/domain/model/RequestResult.java b/src/main/java/com/bruce/common/domain/model/RequestResult.java new file mode 100644 index 0000000..d829176 --- /dev/null +++ b/src/main/java/com/bruce/common/domain/model/RequestResult.java @@ -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 { + + 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 RequestResult success() { + return build(SUCCESS_CODE, null, null); + } + + public static RequestResult success(T data) { + return build(SUCCESS_CODE, null, data); + } + + public static RequestResult success(String message, T data) { + return build(SUCCESS_CODE, message, data); + } + + public static RequestResult fail(String message) { + return build(FAIL_CODE, message, null); + } + + public static RequestResult fail(String resultcode, String message) { + return build(resultcode, message, null); + } + + private static RequestResult build(String resultcode, String message, T data) { + RequestResult result = new RequestResult<>(); + result.setResultcode(resultcode); + result.setMessage(message); + result.setData(data); + return result; + } + +} diff --git a/src/main/java/com/bruce/common/mapper/SysAttachmentMapper.java b/src/main/java/com/bruce/common/mapper/SysAttachmentMapper.java index a78cf1e..521623e 100644 --- a/src/main/java/com/bruce/common/mapper/SysAttachmentMapper.java +++ b/src/main/java/com/bruce/common/mapper/SysAttachmentMapper.java @@ -1,7 +1,7 @@ package com.bruce.common.mapper; 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; @Mapper diff --git a/src/main/java/com/bruce/common/mapper/SysEnumMapper.java b/src/main/java/com/bruce/common/mapper/SysEnumMapper.java index 6e3e4a2..2251367 100644 --- a/src/main/java/com/bruce/common/mapper/SysEnumMapper.java +++ b/src/main/java/com/bruce/common/mapper/SysEnumMapper.java @@ -1,7 +1,7 @@ package com.bruce.common.mapper; 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; @Mapper diff --git a/src/main/java/com/bruce/rag/entity/RagDocument.java b/src/main/java/com/bruce/rag/entity/RagDocument.java index 5f07d5a..efa3d2f 100644 --- a/src/main/java/com/bruce/rag/entity/RagDocument.java +++ b/src/main/java/com/bruce/rag/entity/RagDocument.java @@ -2,7 +2,7 @@ package com.bruce.rag.entity; import com.baomidou.mybatisplus.annotation.TableField; 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 lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/com/bruce/rag/entity/RagStore.java b/src/main/java/com/bruce/rag/entity/RagStore.java index f4b25ea..6aa3f3a 100644 --- a/src/main/java/com/bruce/rag/entity/RagStore.java +++ b/src/main/java/com/bruce/rag/entity/RagStore.java @@ -1,7 +1,7 @@ package com.bruce.rag.entity; 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 lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/test/java/com/bruce/common/entity/EntityStructureTests.java b/src/test/java/com/bruce/common/entity/EntityStructureTests.java index b95b58e..7467916 100644 --- a/src/test/java/com/bruce/common/entity/EntityStructureTests.java +++ b/src/test/java/com/bruce/common/entity/EntityStructureTests.java @@ -3,6 +3,9 @@ package com.bruce.common.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; 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 org.junit.jupiter.api.Test; diff --git a/src/test/java/com/bruce/common/enumconfig/SysEnumDataInitTests.java b/src/test/java/com/bruce/common/enumconfig/SysEnumDataInitTests.java index e84c1a7..8eb7e5d 100644 --- a/src/test/java/com/bruce/common/enumconfig/SysEnumDataInitTests.java +++ b/src/test/java/com/bruce/common/enumconfig/SysEnumDataInitTests.java @@ -1,7 +1,7 @@ package com.bruce.common.enumconfig; 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.EnableStatusEnum; import com.bruce.common.service.ISysEnumService; diff --git a/src/test/java/com/bruce/common/model/RequestResultStructureTests.java b/src/test/java/com/bruce/common/model/RequestResultStructureTests.java new file mode 100644 index 0000000..ed2912c --- /dev/null +++ b/src/test/java/com/bruce/common/model/RequestResultStructureTests.java @@ -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 result = new RequestResult<>("payload"); + + assertEquals(RequestResult.SUCCESS_CODE, result.getResultcode()); + assertNull(result.getMessage()); + assertEquals("payload", result.getData()); + } + + @Test + void successFactoryShouldBuildSuccessfulResult() { + RequestResult result = RequestResult.success("payload"); + + assertEquals(RequestResult.SUCCESS_CODE, result.getResultcode()); + assertNull(result.getMessage()); + assertEquals("payload", result.getData()); + } + + @Test + void successFactoryWithMessageShouldKeepCustomMessage() { + RequestResult result = RequestResult.success("操作成功", "payload"); + + assertEquals(RequestResult.SUCCESS_CODE, result.getResultcode()); + assertEquals("操作成功", result.getMessage()); + assertEquals("payload", result.getData()); + } + + @Test + void failFactoryShouldBuildFailureResult() { + RequestResult result = RequestResult.fail("校验失败"); + + assertEquals(RequestResult.FAIL_CODE, result.getResultcode()); + assertEquals("校验失败", result.getMessage()); + assertNull(result.getData()); + } + + @Test + void failFactoryWithCustomCodeShouldKeepCustomCode() { + RequestResult result = RequestResult.fail("VALIDATE_ERROR", "校验失败"); + + assertEquals("VALIDATE_ERROR", result.getResultcode()); + assertEquals("校验失败", result.getMessage()); + assertNull(result.getData()); + } +}