Commit 398543d37bb342e0d7b65dcde1f7433b6450b6a7
1 parent
03f6c603
feat(common): USR_NOT_FOUND + iStaffId IGNORED REQ-USR-002
Showing
3 changed files
with
6 additions
and
1 deletions
backend/src/main/java/com/xly/erp/common/response/ErrorCode.java
| @@ -10,6 +10,7 @@ public enum ErrorCode { | @@ -10,6 +10,7 @@ public enum ErrorCode { | ||
| 10 | MOD_NOT_FOUND(40421, "模块不存在或已删除"), | 10 | MOD_NOT_FOUND(40421, "模块不存在或已删除"), |
| 11 | STAFF_NOT_FOUND(40421, "职员不存在或已删除"), | 11 | STAFF_NOT_FOUND(40421, "职员不存在或已删除"), |
| 12 | PERM_CATEGORY_NOT_FOUND(40422, "权限分类不存在或已删除"), | 12 | PERM_CATEGORY_NOT_FOUND(40422, "权限分类不存在或已删除"), |
| 13 | + USR_NOT_FOUND(40431, "用户不存在或已删除"), | ||
| 13 | MOD_PROC_NAME_DUP(40911, "存储过程名称已存在"), | 14 | MOD_PROC_NAME_DUP(40911, "存储过程名称已存在"), |
| 14 | MOD_HAS_REFERENCES(40912, "存在子模块或外部业务引用,禁止删除"), | 15 | MOD_HAS_REFERENCES(40912, "存在子模块或外部业务引用,禁止删除"), |
| 15 | MOD_PARENT_LOOP(40921, "iParentId 不能等于自身或后代"), | 16 | MOD_PARENT_LOOP(40921, "iParentId 不能等于自身或后代"), |
backend/src/main/java/com/xly/erp/module/usr/entity/UserEntity.java
| 1 | package com.xly.erp.module.usr.entity; | 1 | package com.xly.erp.module.usr.entity; |
| 2 | 2 | ||
| 3 | +import com.baomidou.mybatisplus.annotation.FieldStrategy; | ||
| 3 | import com.baomidou.mybatisplus.annotation.IdType; | 4 | import com.baomidou.mybatisplus.annotation.IdType; |
| 4 | import com.baomidou.mybatisplus.annotation.TableField; | 5 | import com.baomidou.mybatisplus.annotation.TableField; |
| 5 | import com.baomidou.mybatisplus.annotation.TableId; | 6 | import com.baomidou.mybatisplus.annotation.TableId; |
| @@ -34,7 +35,9 @@ public class UserEntity { | @@ -34,7 +35,9 @@ public class UserEntity { | ||
| 34 | @TableField("sUserName") | 35 | @TableField("sUserName") |
| 35 | private String sUserName; | 36 | private String sUserName; |
| 36 | 37 | ||
| 37 | - @TableField("iStaffId") | 38 | + /** REQ-USR-002 允许更新为 null(清空员工关联),用 IGNORED 让 MP updateById 把 NULL 写入 SQL。 |
| 39 | + * 注意:此策略意味着任何 updateById 都会写 iStaffId;调用方必须 selectById 后再 updateById(load-then-modify)。 */ | ||
| 40 | + @TableField(value = "iStaffId", updateStrategy = FieldStrategy.IGNORED) | ||
| 38 | private Integer iStaffId; | 41 | private Integer iStaffId; |
| 39 | 42 | ||
| 40 | @TableField("sUserType") | 43 | @TableField("sUserType") |
backend/src/test/java/com/xly/erp/common/response/ApiResponseTest.java
| @@ -54,5 +54,6 @@ class ApiResponseTest { | @@ -54,5 +54,6 @@ class ApiResponseTest { | ||
| 54 | assertThat(ErrorCode.STAFF_NOT_FOUND.getCode()).isEqualTo(40421); | 54 | assertThat(ErrorCode.STAFF_NOT_FOUND.getCode()).isEqualTo(40421); |
| 55 | assertThat(ErrorCode.PERM_CATEGORY_NOT_FOUND.getCode()).isEqualTo(40422); | 55 | assertThat(ErrorCode.PERM_CATEGORY_NOT_FOUND.getCode()).isEqualTo(40422); |
| 56 | assertThat(ErrorCode.USR_USER_NAME_OR_NO_DUP.getCode()).isEqualTo(40921); | 56 | assertThat(ErrorCode.USR_USER_NAME_OR_NO_DUP.getCode()).isEqualTo(40921); |
| 57 | + assertThat(ErrorCode.USR_NOT_FOUND.getCode()).isEqualTo(40431); | ||
| 57 | } | 58 | } |
| 58 | } | 59 | } |