diff --git a/backend/src/main/java/com/example/erp/common/constants/UsrErrorCode.java b/backend/src/main/java/com/example/erp/common/constants/UsrErrorCode.java index d5e1e2a..e25dbb9 100644 --- a/backend/src/main/java/com/example/erp/common/constants/UsrErrorCode.java +++ b/backend/src/main/java/com/example/erp/common/constants/UsrErrorCode.java @@ -3,9 +3,11 @@ package com.example.erp.common.constants; public final class UsrErrorCode { public static final int PERMISSION_DENIED = 40300; + public static final int SELF_ADMIN_CHANGE = 40301; public static final int USERNAME_EXISTS = 40901; public static final int USER_CODE_EXISTS = 40902; public static final int EMPLOYEE_NOT_FOUND = 40001; + public static final int USER_NOT_FOUND = 40400; private UsrErrorCode() {} } diff --git a/backend/src/main/java/com/example/erp/module/usr/dto/UserUpdateReqDTO.java b/backend/src/main/java/com/example/erp/module/usr/dto/UserUpdateReqDTO.java new file mode 100644 index 0000000..57fd866 --- /dev/null +++ b/backend/src/main/java/com/example/erp/module/usr/dto/UserUpdateReqDTO.java @@ -0,0 +1,18 @@ +package com.example.erp.module.usr.dto; + +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class UserUpdateReqDTO { + + private String userType; + private String language; + private boolean canEditDoc; + private boolean isDisabled; + private String employeeId; + private List permGroupIds; +} diff --git a/backend/src/main/java/com/example/erp/module/usr/vo/UserUpdateRespVO.java b/backend/src/main/java/com/example/erp/module/usr/vo/UserUpdateRespVO.java new file mode 100644 index 0000000..6fdb495 --- /dev/null +++ b/backend/src/main/java/com/example/erp/module/usr/vo/UserUpdateRespVO.java @@ -0,0 +1,15 @@ +package com.example.erp.module.usr.vo; + +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +public class UserUpdateRespVO { + + private String userId; + private String username; + private LocalDateTime updatedAt; +} diff --git a/backend/src/test/java/com/example/erp/module/usr/UserServiceTest.java b/backend/src/test/java/com/example/erp/module/usr/UserServiceTest.java index af2cede..bde00f9 100644 --- a/backend/src/test/java/com/example/erp/module/usr/UserServiceTest.java +++ b/backend/src/test/java/com/example/erp/module/usr/UserServiceTest.java @@ -158,4 +158,33 @@ class UserServiceTest { () -> userService.createUser(req, superAdmin)); assertEquals(UsrErrorCode.EMPLOYEE_NOT_FOUND, ex.getCode()); } + + @Test + void updateUser_dtoDefaults() { + com.example.erp.module.usr.dto.UserUpdateReqDTO dto = new com.example.erp.module.usr.dto.UserUpdateReqDTO(); + dto.setUserType("普通用户"); + dto.setLanguage("中文"); + dto.setCanEditDoc(false); + dto.setDisabled(false); + dto.setEmployeeId(null); + dto.setPermGroupIds(List.of()); + + assertEquals("普通用户", dto.getUserType()); + assertEquals("中文", dto.getLanguage()); + assertFalse(dto.isCanEditDoc()); + assertFalse(dto.isDisabled()); + assertNull(dto.getEmployeeId()); + assertTrue(dto.getPermGroupIds().isEmpty()); + + com.example.erp.module.usr.vo.UserUpdateRespVO resp = new com.example.erp.module.usr.vo.UserUpdateRespVO(); + resp.setUserId("u1"); + resp.setUsername("alice"); + resp.setUpdatedAt(java.time.LocalDateTime.now()); + assertEquals("u1", resp.getUserId()); + assertEquals("alice", resp.getUsername()); + assertNotNull(resp.getUpdatedAt()); + + assertEquals(40400, UsrErrorCode.USER_NOT_FOUND); + assertEquals(40301, UsrErrorCode.SELF_ADMIN_CHANGE); + } }