From 5ce66e1470b0cdce9b41802a5d2f9f042465242b Mon Sep 17 00:00:00 2001 From: lanyuanxiaoyao Date: Wed, 20 Nov 2024 18:32:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(web):=20=E8=B0=83=E6=95=B4=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserManagementController.java | 56 +++++++++++++++++- .../web/domain/user/service/UserService.java | 59 ++----------------- 2 files changed, 57 insertions(+), 58 deletions(-) diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/user/controller/UserManagementController.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/user/controller/UserManagementController.java index 1ea62bf..c661631 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/user/controller/UserManagementController.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/user/controller/UserManagementController.java @@ -1,9 +1,11 @@ package com.eshore.gringotts.web.domain.user.controller; +import cn.hutool.core.util.ObjectUtil; import com.eshore.gringotts.web.configuration.amis.AmisListResponse; import com.eshore.gringotts.web.configuration.amis.AmisResponse; import com.eshore.gringotts.web.domain.user.entity.User; import com.eshore.gringotts.web.domain.user.service.UserService; +import java.time.LocalDateTime; import lombok.Data; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -33,12 +35,12 @@ public class UserManagementController { @GetMapping("/list") public AmisListResponse list() { - return AmisListResponse.responseListData(userService.list()); + return AmisListResponse.responseListData(userService.list().collect(UserListItem::new)); } @GetMapping("/detail/{username}") - public AmisResponse detail(@PathVariable String username) { - return AmisResponse.responseSuccess(userService.detail(username)); + public AmisResponse detail(@PathVariable String username) { + return AmisResponse.responseSuccess(new UserDetail(userService.detail(username))); } @PostMapping("/register") @@ -83,4 +85,52 @@ public class UserManagementController { private String password; private User.Role role; } + + @Data + public static final class UserListItem { + private Long id; + private String username; + private User.Role role; + private User.State state; + private LocalDateTime lastLoginTime; + private LocalDateTime createdTime; + + public UserListItem(User user) { + this.id = user.getId(); + this.username = user.getUsername(); + this.role = user.getRole(); + this.state = user.getState(); + this.lastLoginTime = user.getLastLoginTime(); + this.createdTime = user.getCreatedTime(); + } + } + + @Data + public static final class UserDetail { + private String username; + private User.Role role; + private User.State state; + private LocalDateTime lastLoginTime; + private LocalDateTime createdTime; + private String createdUsername; + private LocalDateTime modifiedTime; + private String modifiedUsername; + private LocalDateTime checkedTime; + private String checkedUsername; + + public UserDetail(User user) { + this.username = user.getUsername(); + this.role = user.getRole(); + this.state = user.getState(); + this.lastLoginTime = user.getLastLoginTime(); + this.createdTime = user.getCreatedTime(); + this.createdUsername = user.getCreatedUser().getUsername(); + this.modifiedTime = user.getModifiedTime(); + this.modifiedUsername = user.getModifiedUser().getUsername(); + if (ObjectUtil.isNotNull(user.getCheckedUser())) { + this.checkedTime = user.getCheckedTime(); + this.checkedUsername = user.getCheckedUser().getUsername(); + } + } + } } diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/user/service/UserService.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/user/service/UserService.java index b9cd657..28de0c1 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/user/service/UserService.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/user/service/UserService.java @@ -184,10 +184,8 @@ public class UserService { userRepository.save(user); } - public ImmutableList list() { - List users = userRepository.findAll(); - return Lists.immutable.ofAll(users) - .collect(UserListItem::new); + public ImmutableList list() { + return Lists.immutable.ofAll(userRepository.findAll()); } @Transactional @@ -203,9 +201,8 @@ public class UserService { } } - public UserDetail detail(String username) { - User user = userRepository.findByUsername(username).orElseThrow(UserNotFoundException::new); - return new UserDetail(user); + public User detail(String username) { + return userRepository.findByUsername(username).orElseThrow(UserNotFoundException::new); } public static class UserNotFoundException extends RuntimeException { @@ -272,52 +269,4 @@ public class UserService { this.token = token.getTokenValue(); } } - - @Data - public static class UserListItem { - private Long id; - private String username; - private User.Role role; - private User.State state; - private LocalDateTime lastLoginTime; - private LocalDateTime createdTime; - - public UserListItem(User user) { - this.id = user.getId(); - this.username = user.getUsername(); - this.role = user.getRole(); - this.state = user.getState(); - this.lastLoginTime = user.getLastLoginTime(); - this.createdTime = user.getCreatedTime(); - } - } - - @Data - public static class UserDetail { - private String username; - private User.Role role; - private User.State state; - private LocalDateTime lastLoginTime; - private LocalDateTime createdTime; - private String createdUsername; - private LocalDateTime modifiedTime; - private String modifiedUsername; - private LocalDateTime checkedTime; - private String checkedUsername; - - public UserDetail(User user) { - this.username = user.getUsername(); - this.role = user.getRole(); - this.state = user.getState(); - this.lastLoginTime = user.getLastLoginTime(); - this.createdTime = user.getCreatedTime(); - this.createdUsername = user.getCreatedUser().getUsername(); - this.modifiedTime = user.getModifiedTime(); - this.modifiedUsername = user.getModifiedUser().getUsername(); - if (ObjectUtil.isNotNull(user.getCheckedUser())) { - this.checkedTime = user.getCheckedTime(); - this.checkedUsername = user.getCheckedUser().getUsername(); - } - } - } }