diff --git a/backend/src/main/java/com/example/erp/common/vo/PageVO.java b/backend/src/main/java/com/example/erp/common/vo/PageVO.java new file mode 100644 index 0000000..2356001 --- /dev/null +++ b/backend/src/main/java/com/example/erp/common/vo/PageVO.java @@ -0,0 +1,26 @@ +package com.example.erp.common.vo; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class PageVO { + + private long total; + private long page; + private long pageSize; + private List list; + + public static PageVO of(IPage iPage) { + PageVO vo = new PageVO<>(); + vo.total = iPage.getTotal(); + vo.page = iPage.getCurrent(); + vo.pageSize = iPage.getSize(); + vo.list = iPage.getRecords(); + return vo; + } +} diff --git a/backend/src/main/java/com/example/erp/module/usr/dto/UserListQueryDTO.java b/backend/src/main/java/com/example/erp/module/usr/dto/UserListQueryDTO.java new file mode 100644 index 0000000..3ed4f84 --- /dev/null +++ b/backend/src/main/java/com/example/erp/module/usr/dto/UserListQueryDTO.java @@ -0,0 +1,15 @@ +package com.example.erp.module.usr.dto; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class UserListQueryDTO { + + private String queryField = "username"; + private String matchType = "contains"; + private String queryValue; + private int page = 1; + private int pageSize = 20; +} diff --git a/backend/src/main/java/com/example/erp/module/usr/vo/UserListItemVO.java b/backend/src/main/java/com/example/erp/module/usr/vo/UserListItemVO.java new file mode 100644 index 0000000..28678b7 --- /dev/null +++ b/backend/src/main/java/com/example/erp/module/usr/vo/UserListItemVO.java @@ -0,0 +1,45 @@ +package com.example.erp.module.usr.vo; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +public class UserListItemVO { + + @JsonProperty("sId") + private String sId; + + @JsonProperty("sUsername") + private String sUsername; + + @JsonProperty("sUserCode") + private String sUserCode; + + @JsonProperty("sUserType") + private String sUserType; + + @JsonProperty("sLanguage") + private String sLanguage; + + @JsonProperty("bIsDisabled") + private Integer bIsDisabled; + + @JsonProperty("tLastLoginDate") + private LocalDateTime tLastLoginDate; + + @JsonProperty("sCreatorUsername") + private String sCreatorUsername; + + @JsonProperty("tCreateDate") + private LocalDateTime tCreateDate; + + @JsonProperty("sStaffName") + private String sStaffName; + + @JsonProperty("sDepartment") + private String sDepartment; +} 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 e08b6b0..fb2305b 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 @@ -3,6 +3,7 @@ package com.example.erp.module.usr; import com.example.erp.common.exception.BizException; import com.example.erp.config.UserPrincipal; import com.example.erp.module.usr.dto.UserCreateReqDTO; +import com.example.erp.module.usr.dto.UserListQueryDTO; import com.example.erp.module.usr.entity.StaffEntity; import com.example.erp.module.usr.entity.UsrUserEntity; import com.example.erp.module.usr.entity.UserPermissionEntity; @@ -108,6 +109,15 @@ class UserServiceTest { } @Test + void getUserList_queryDtoDefaults() { + UserListQueryDTO q = new UserListQueryDTO(); + assertEquals("username", q.getQueryField()); + assertEquals("contains", q.getMatchType()); + assertEquals(20, q.getPageSize()); + assertEquals(1, q.getPage()); + } + + @Test void createUser_invalidEmployeeId_throws40001() { req.setEmployeeId("bad-staff-id"); when(userMapper.selectCount(any())).thenReturn(0L);