尝试修改User

This commit is contained in:
MiLla 2024-07-05 23:35:45 +08:00
parent 1a42273465
commit 722fb47302
4 changed files with 103 additions and 32 deletions

View File

@ -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;
}
}

View File

@ -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<User> convertList(List<UserHS> userHSList) {
return userHSList.stream()
.map(UserHS2User::convert)
.collect(Collectors.toList());
}
}

View File

@ -1,49 +1,89 @@
package org.cmh.backend.UserManagement.controller; package org.cmh.backend.UserManagement.controller;
import jakarta.transaction.Transactional; 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.service.UserManagementService;
import org.cmh.backend.UserManagement.model.User; 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.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 org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@RestController @RestController
@RequestMapping("/user")
public class UserManagementController { public class UserManagementController {
@Autowired @Autowired
private UserManagementService userManagementService; private UserManagementService userManagementService;
@Autowired
private OrganizationService organizationService;
@Autowired
private UserService userService;
@CrossOrigin(origins = "http://localhost:5173")
@PostMapping("/addUser") @PostMapping("/addUser")
public User addUser(@RequestBody User user) { public ResponseEntity<UserProfileResponse> addUser(@RequestBody User user) {
User user1=userManagementService.registerUser(user); UserHS newuser = User2UserHS.convert(user);
if(user1 != null){ UserProfileResponse response = new UserProfileResponse(
System.out.println(user1); newuser.getUsername(),
return user1; 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{ }else{
return null; return null;
} }
} }
@CrossOrigin(origins = "http://localhost:5173")
@GetMapping("/getAll") @GetMapping("/getAll")
public List<User> getAll() { public List<User> getAll() {
List<User> userList=userManagementService.findAll(); List<UserHS> userHSList = userService.getAll();
return userList; return UserHS2User.convertList(userHSList);;
} }
@CrossOrigin(origins = "http://localhost:5173")
@PostMapping("/update") @PostMapping("/update")
public User update(@RequestBody User user) { public ResponseEntity<UserProfileResponse> update(@RequestBody User user) {
System.out.println(user); UserHS newuser = User2UserHS.convert(user);
userManagementService.update(user); UserProfileResponse response = new UserProfileResponse(
return user; 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") @PostMapping("/delete")
@Transactional @Transactional
public void delete(@RequestBody User user) { 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()); userManagementService.delete(user.getId());
} }

View File

@ -8,32 +8,18 @@ import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@Entity @Entity
@Setter
@Getter
public class User { public class User {
@Setter
@Getter
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id; private Long id;
@Setter
@Getter
private String account; private String account;
@Setter
@Getter
private String password; private String password;
@Setter
@Getter
private String name; private String name;
@Getter
@Setter
private String organization; private String organization;
@Setter
@Getter
private String gender; private String gender;
@Setter
@Getter
private String email; private String email;
@Getter
@Setter
private String phone; private String phone;
public User() { public User() {