From 722fb473020b1bc767a60be8e9b6897a8fe6e806 Mon Sep 17 00:00:00 2001 From: MiLla <18826902282@163.com> Date: Fri, 5 Jul 2024 23:35:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E6=94=B9User?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserManagement/adpter/User2UserHS.java | 19 +++++ .../UserManagement/adpter/UserHS2User.java | 26 +++++++ .../controller/UserManagementController.java | 72 ++++++++++++++----- .../backend/UserManagement/model/User.java | 18 +---- 4 files changed, 103 insertions(+), 32 deletions(-) create mode 100644 src/main/java/org/cmh/backend/UserManagement/adpter/User2UserHS.java create mode 100644 src/main/java/org/cmh/backend/UserManagement/adpter/UserHS2User.java diff --git a/src/main/java/org/cmh/backend/UserManagement/adpter/User2UserHS.java b/src/main/java/org/cmh/backend/UserManagement/adpter/User2UserHS.java new file mode 100644 index 0000000..73bd76c --- /dev/null +++ b/src/main/java/org/cmh/backend/UserManagement/adpter/User2UserHS.java @@ -0,0 +1,19 @@ +package org.cmh.backend.UserManagement.adpter; + +import org.cmh.backend.UserManagement.model.User; +import org.cmh.backend.authentication.model.UserHS; + +public class User2UserHS { + public static UserHS convert(User user) { + UserHS userHS = new UserHS(); + userHS.setUsername(user.getAccount()); + userHS.setPassword(user.getPassword()); + userHS.setNickname(user.getName()); + userHS.setDepartment(user.getOrganization()); + userHS.setGender(user.getGender()); + userHS.setEmail(user.getEmail()); + userHS.setPhoneNumber(user.getPhone()); + return userHS; + } + +} diff --git a/src/main/java/org/cmh/backend/UserManagement/adpter/UserHS2User.java b/src/main/java/org/cmh/backend/UserManagement/adpter/UserHS2User.java new file mode 100644 index 0000000..054e227 --- /dev/null +++ b/src/main/java/org/cmh/backend/UserManagement/adpter/UserHS2User.java @@ -0,0 +1,26 @@ +package org.cmh.backend.UserManagement.adpter; + +import org.cmh.backend.UserManagement.model.User; +import org.cmh.backend.authentication.model.UserHS; + +import java.util.List; +import java.util.stream.Collectors; + +public class UserHS2User { + public static User convert(UserHS userHS) { + User user = new User(); + user.setAccount(userHS.getUsername()); + user.setPassword(userHS.getPassword()); + user.setName(userHS.getNickname()); + user.setOrganization(userHS.getDepartment()); + user.setGender(userHS.getGender()); + user.setEmail(userHS.getEmail()); + user.setPhone(userHS.getPhoneNumber()); + return user; + } + public static List convertList(List userHSList) { + return userHSList.stream() + .map(UserHS2User::convert) + .collect(Collectors.toList()); + } +} diff --git a/src/main/java/org/cmh/backend/UserManagement/controller/UserManagementController.java b/src/main/java/org/cmh/backend/UserManagement/controller/UserManagementController.java index ef3e873..b74cc69 100644 --- a/src/main/java/org/cmh/backend/UserManagement/controller/UserManagementController.java +++ b/src/main/java/org/cmh/backend/UserManagement/controller/UserManagementController.java @@ -1,49 +1,89 @@ package org.cmh.backend.UserManagement.controller; import jakarta.transaction.Transactional; +import org.cmh.backend.OrganizationManagement.service.OrganizationService; +import org.cmh.backend.UserManagement.adpter.User2UserHS; +import org.cmh.backend.UserManagement.adpter.UserHS2User; import org.cmh.backend.UserManagement.service.UserManagementService; import org.cmh.backend.UserManagement.model.User; +import org.cmh.backend.authentication.dto.UserProfileResponse; +import org.cmh.backend.authentication.model.UserHS; +import org.cmh.backend.authentication.service.UserService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController +@RequestMapping("/user") public class UserManagementController { @Autowired private UserManagementService userManagementService; + @Autowired + private OrganizationService organizationService; + @Autowired + private UserService userService; - @CrossOrigin(origins = "http://localhost:5173") @PostMapping("/addUser") - public User addUser(@RequestBody User user) { - User user1=userManagementService.registerUser(user); - if(user1 != null){ - System.out.println(user1); - return user1; + public ResponseEntity addUser(@RequestBody User user) { + UserHS newuser = User2UserHS.convert(user); + UserProfileResponse response = new UserProfileResponse( + newuser.getUsername(), + newuser.getNickname(), + newuser.getGender(), + newuser.getPhoneNumber(), + newuser.getEmail(), + newuser.getDepartment(), + newuser.getRole(), + newuser.getCreatedAt() + ); + if(organizationService.getByName(newuser.getDepartment()) != null){ + userService.addUser(newuser); + return new ResponseEntity<>(response, HttpStatus.OK); }else{ return null; } } - @CrossOrigin(origins = "http://localhost:5173") + @GetMapping("/getAll") public List getAll() { - List userList=userManagementService.findAll(); - return userList; + List userHSList = userService.getAll(); + return UserHS2User.convertList(userHSList);; } - @CrossOrigin(origins = "http://localhost:5173") + @PostMapping("/update") - public User update(@RequestBody User user) { - System.out.println(user); - userManagementService.update(user); - return user; + public ResponseEntity update(@RequestBody User user) { + UserHS newuser = User2UserHS.convert(user); + UserProfileResponse response = new UserProfileResponse( + newuser.getUsername(), + newuser.getNickname(), + newuser.getGender(), + newuser.getPhoneNumber(), + newuser.getEmail(), + newuser.getDepartment(), + newuser.getRole(), + newuser.getCreatedAt() + ); + if(organizationService.getByName(newuser.getDepartment()) != null){ + userService.addUser(newuser); + return new ResponseEntity<>(response, HttpStatus.OK); + }else{ + return null; + } } - @CrossOrigin(origins = "http://localhost:5173") + @PostMapping("/delete") @Transactional public void delete(@RequestBody User user) { - System.out.println(user); + UserHS userHS = userService.getUserByUsername(user.getName()); + if(userHS != null){ + userService.deleteUser(userHS.getUsername()); + } userManagementService.delete(user.getId()); } diff --git a/src/main/java/org/cmh/backend/UserManagement/model/User.java b/src/main/java/org/cmh/backend/UserManagement/model/User.java index 373eaf7..4f70b76 100644 --- a/src/main/java/org/cmh/backend/UserManagement/model/User.java +++ b/src/main/java/org/cmh/backend/UserManagement/model/User.java @@ -8,32 +8,18 @@ import lombok.Getter; import lombok.Setter; @Entity +@Setter +@Getter public class User { - @Setter - @Getter @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; - @Setter - @Getter private String account; - @Setter - @Getter private String password; - @Setter - @Getter private String name; - @Getter - @Setter private String organization; - @Setter - @Getter private String gender; - @Setter - @Getter private String email; - @Getter - @Setter private String phone; public User() {