diff --git a/backend/src/main/java/com/xly/erp/common/response/ErrorCode.java b/backend/src/main/java/com/xly/erp/common/response/ErrorCode.java index c190863..54b2f9a 100644 --- a/backend/src/main/java/com/xly/erp/common/response/ErrorCode.java +++ b/backend/src/main/java/com/xly/erp/common/response/ErrorCode.java @@ -9,6 +9,7 @@ public enum ErrorCode { MOD_PARENT_NOT_FOUND(40411, "父模块不存在或已删除"), MOD_NOT_FOUND(40421, "模块不存在或已删除"), MOD_PROC_NAME_DUP(40911, "存储过程名称已存在"), + MOD_HAS_REFERENCES(40912, "存在子模块或外部业务引用,禁止删除"), MOD_PARENT_LOOP(40921, "iParentId 不能等于自身或后代"), INTERNAL_ERROR(50000, "服务器内部错误"); diff --git a/backend/src/main/java/com/xly/erp/module/mod/vo/ModuleDeleteResultVO.java b/backend/src/main/java/com/xly/erp/module/mod/vo/ModuleDeleteResultVO.java new file mode 100644 index 0000000..f5bd2f6 --- /dev/null +++ b/backend/src/main/java/com/xly/erp/module/mod/vo/ModuleDeleteResultVO.java @@ -0,0 +1,17 @@ +package com.xly.erp.module.mod.vo; + +import lombok.Data; + +/** REQ-MOD-003 模块删除返回精简 VO(仅含主键 + 删除标记) */ +@Data +public class ModuleDeleteResultVO { + private Integer iIncrement; + private Boolean bDeleted; + + public static ModuleDeleteResultVO of(Integer id, Boolean deleted) { + ModuleDeleteResultVO v = new ModuleDeleteResultVO(); + v.setIIncrement(id); + v.setBDeleted(deleted); + return v; + } +} diff --git a/backend/src/test/java/com/xly/erp/common/response/ApiResponseTest.java b/backend/src/test/java/com/xly/erp/common/response/ApiResponseTest.java index d48995b..12eebe3 100644 --- a/backend/src/test/java/com/xly/erp/common/response/ApiResponseTest.java +++ b/backend/src/test/java/com/xly/erp/common/response/ApiResponseTest.java @@ -50,5 +50,6 @@ class ApiResponseTest { assertThat(ErrorCode.INTERNAL_ERROR.getCode()).isEqualTo(50000); assertThat(ErrorCode.MOD_NOT_FOUND.getCode()).isEqualTo(40421); assertThat(ErrorCode.MOD_PARENT_LOOP.getCode()).isEqualTo(40921); + assertThat(ErrorCode.MOD_HAS_REFERENCES.getCode()).isEqualTo(40912); } }