改完了,真改完了
This commit is contained in:
parent
5747e255e9
commit
99862678e7
@ -3,8 +3,11 @@ package org.cmh.backend.UserManagement.adpter;
|
|||||||
import org.cmh.backend.UserManagement.model.User;
|
import org.cmh.backend.UserManagement.model.User;
|
||||||
import org.cmh.backend.authentication.model.UserHS;
|
import org.cmh.backend.authentication.model.UserHS;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
public class User2UserHS {
|
public class User2UserHS {
|
||||||
public static UserHS convert(User user) {
|
private String tenant;
|
||||||
|
public static UserHS convert(User user,String tenant) {
|
||||||
UserHS userHS = new UserHS();
|
UserHS userHS = new UserHS();
|
||||||
userHS.setUsername(user.getAccount());
|
userHS.setUsername(user.getAccount());
|
||||||
userHS.setPassword(user.getPassword());
|
userHS.setPassword(user.getPassword());
|
||||||
@ -13,6 +16,9 @@ public class User2UserHS {
|
|||||||
userHS.setGender(user.getGender());
|
userHS.setGender(user.getGender());
|
||||||
userHS.setEmail(user.getEmail());
|
userHS.setEmail(user.getEmail());
|
||||||
userHS.setPhoneNumber(user.getPhone());
|
userHS.setPhoneNumber(user.getPhone());
|
||||||
|
userHS.setRole("用户");
|
||||||
|
userHS.setCreatedAt(LocalDateTime.now());
|
||||||
|
userHS.setTenant(tenant);
|
||||||
return userHS;
|
return userHS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,41 +1,71 @@
|
|||||||
package org.cmh.backend.UserManagement.controller;
|
package org.cmh.backend.UserManagement.controller;
|
||||||
|
|
||||||
import jakarta.transaction.Transactional;
|
import jakarta.transaction.Transactional;
|
||||||
import org.apache.poi.ss.formula.functions.T;
|
|
||||||
import org.cmh.backend.UserManagement.dto.TenantOptionsResponse;
|
import org.cmh.backend.UserManagement.dto.TenantOptionsResponse;
|
||||||
import org.cmh.backend.UserManagement.model.Tenant;
|
import org.cmh.backend.UserManagement.model.Tenant;
|
||||||
import org.cmh.backend.UserManagement.model.User;
|
import org.cmh.backend.UserManagement.model.User;
|
||||||
import org.cmh.backend.UserManagement.service.TenantManagementService;
|
import org.cmh.backend.UserManagement.service.TenantManagementService;
|
||||||
|
import org.cmh.backend.Utils.JwtUtil;
|
||||||
import org.cmh.backend.Utils.JwtVerify;
|
import org.cmh.backend.Utils.JwtVerify;
|
||||||
|
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.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/tenant")
|
@RequestMapping("/tenant")
|
||||||
public class TenantManagementController {
|
public class TenantManagementController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private TenantManagementService tenantManagementService;
|
private TenantManagementService tenantManagementService;
|
||||||
|
@Autowired
|
||||||
|
private UserService userService;
|
||||||
|
|
||||||
|
private boolean isAdmin(String token) {
|
||||||
|
UserHS user = userService.getUserByUsername(JwtUtil.extractUsername(token));
|
||||||
|
return user.getSuperAdmin();
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/addTenant")
|
@PostMapping("/addTenant")
|
||||||
public Tenant addTenant(@RequestBody Tenant tenant) {
|
@JwtVerify
|
||||||
|
public Tenant addTenant(@RequestBody Tenant tenant, @RequestParam String token) {
|
||||||
|
if (isAdmin(token)) {
|
||||||
Tenant tenant1 = tenantManagementService.registerTenant(tenant);
|
Tenant tenant1 = tenantManagementService.registerTenant(tenant);
|
||||||
|
UserHS newUser = new UserHS();
|
||||||
|
newUser.setUsername(tenant.getManager());
|
||||||
|
newUser.setPassword(tenant.getSymbol());
|
||||||
|
newUser.setRole("企业管理员");
|
||||||
|
newUser.setTenant(tenant.getName());
|
||||||
|
newUser.setGender("男");
|
||||||
|
newUser.setNickname(tenant.getManager());
|
||||||
|
newUser.setEmail(tenant.getContact());
|
||||||
|
newUser.setDepartment("企业管理员");
|
||||||
|
newUser.setCreatedAt(LocalDateTime.now());
|
||||||
|
newUser.setPhoneNumber(tenant.getPhone());
|
||||||
|
userService.addUser(newUser);
|
||||||
System.out.println(tenant.toString());
|
System.out.println(tenant.toString());
|
||||||
return tenant1;
|
return tenant1;
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("/getAllTenant")
|
@GetMapping("/getAllTenant")
|
||||||
public List<Tenant> getAll() {
|
@JwtVerify
|
||||||
|
public List<Tenant> getAll(@RequestParam String token) {
|
||||||
|
if (isAdmin(token)) {
|
||||||
return tenantManagementService.findAll();
|
return tenantManagementService.findAll();
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/getTenantOptions")
|
@GetMapping("/getTenantOptions")
|
||||||
@JwtVerify
|
@JwtVerify
|
||||||
public ResponseEntity<TenantOptionsResponse> getAll(@RequestParam String token) {
|
public ResponseEntity<TenantOptionsResponse> getAllForNews(@RequestParam String token) {
|
||||||
tenantManagementService.findAll();
|
tenantManagementService.findAll();
|
||||||
try {
|
try {
|
||||||
List<String> options = tenantManagementService.findAll().stream()
|
List<String> options = tenantManagementService.findAll().stream()
|
||||||
@ -48,17 +78,23 @@ public class TenantManagementController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/updateTenant")
|
@PostMapping("/updateTenant")
|
||||||
public Tenant update(@RequestBody Tenant tenant) {
|
@JwtVerify
|
||||||
System.out.println(tenant);
|
public Tenant update(@RequestBody Tenant tenant, @RequestParam String token) {
|
||||||
|
if (isAdmin(token)) {
|
||||||
tenantManagementService.update(tenant);
|
tenantManagementService.update(tenant);
|
||||||
return tenant;
|
return tenant;
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/deleteTenant")
|
@PostMapping("/deleteTenant")
|
||||||
@Transactional
|
@Transactional
|
||||||
public void delete(@RequestBody User user) {
|
@JwtVerify
|
||||||
|
public void delete(@RequestBody User user, @RequestParam String token) {
|
||||||
|
if (isAdmin(token)){
|
||||||
tenantManagementService.delete(user.getId());
|
tenantManagementService.delete(user.getId());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -32,8 +32,12 @@ public class UserManagementController {
|
|||||||
private UserRepository userRepository;
|
private UserRepository userRepository;
|
||||||
|
|
||||||
@PostMapping("/addUser")
|
@PostMapping("/addUser")
|
||||||
public ResponseEntity<UserProfileResponse> addUser(@RequestBody User user) {
|
@JwtVerify
|
||||||
UserHS newuser = User2UserHS.convert(user);
|
public ResponseEntity<UserProfileResponse> addUser(@RequestBody User user,@RequestParam String token) {
|
||||||
|
String username = JwtUtil.extractUsername(token);
|
||||||
|
UserHS operationUser = userService.getUserByUsername(username);
|
||||||
|
|
||||||
|
UserHS newuser = User2UserHS.convert(user,operationUser.getTenant());
|
||||||
UserProfileResponse response = new UserProfileResponse(
|
UserProfileResponse response = new UserProfileResponse(
|
||||||
newuser.getUsername(),
|
newuser.getUsername(),
|
||||||
newuser.getNickname(),
|
newuser.getNickname(),
|
||||||
@ -67,15 +71,18 @@ public class UserManagementController {
|
|||||||
|
|
||||||
|
|
||||||
@PostMapping("/update")
|
@PostMapping("/update")
|
||||||
public ResponseEntity<UserProfileResponse> update(@RequestBody User user) {
|
public ResponseEntity<UserProfileResponse> update(@RequestBody User user,@RequestParam String token) {
|
||||||
UserHS reqUser = User2UserHS.convert(user);
|
String username = JwtUtil.extractUsername(token);
|
||||||
|
UserHS operationUser = userService.getUserByUsername(username);
|
||||||
|
UserHS reqUser = User2UserHS.convert(user, operationUser.getTenant());
|
||||||
UserHS tarUser = userService.getUserByUsername(reqUser.getUsername());
|
UserHS tarUser = userService.getUserByUsername(reqUser.getUsername());
|
||||||
if (tarUser != null) {
|
if (tarUser != null) {
|
||||||
tarUser.setNickname(reqUser.getNickname());
|
// tarUser.setNickname(reqUser.getNickname());
|
||||||
tarUser.setGender(reqUser.getGender());
|
// tarUser.setGender(reqUser.getGender());
|
||||||
tarUser.setPhoneNumber(reqUser.getPhoneNumber());
|
// tarUser.setPhoneNumber(reqUser.getPhoneNumber());
|
||||||
tarUser.setEmail(reqUser.getEmail());
|
// tarUser.setEmail(reqUser.getEmail());
|
||||||
tarUser.setRole(reqUser.getRole());
|
// tarUser.setRole(reqUser.getRole());
|
||||||
|
reqUser.setId(tarUser.getId());
|
||||||
UserProfileResponse response = new UserProfileResponse(
|
UserProfileResponse response = new UserProfileResponse(
|
||||||
reqUser.getUsername(),
|
reqUser.getUsername(),
|
||||||
reqUser.getNickname(),
|
reqUser.getNickname(),
|
||||||
@ -86,10 +93,10 @@ public class UserManagementController {
|
|||||||
reqUser.getRole(),
|
reqUser.getRole(),
|
||||||
reqUser.getCreatedAt()
|
reqUser.getCreatedAt()
|
||||||
);
|
);
|
||||||
if (organizationService.getByName(reqUser.getDepartment()) != null) {
|
if (organizationService.getByName(reqUser.getDepartment()) == null) {
|
||||||
tarUser.setDepartment(reqUser.getDepartment());
|
return new ResponseEntity<>(null, HttpStatus.OK);
|
||||||
}
|
}
|
||||||
userRepository.save(tarUser);
|
userRepository.save(reqUser);
|
||||||
return new ResponseEntity<>(response, HttpStatus.OK);
|
return new ResponseEntity<>(response, HttpStatus.OK);
|
||||||
} else {
|
} else {
|
||||||
return new ResponseEntity<>(null, HttpStatus.OK);
|
return new ResponseEntity<>(null, HttpStatus.OK);
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package org.cmh.backend.authentication.service;
|
package org.cmh.backend.authentication.service;
|
||||||
|
|
||||||
|
import org.cmh.backend.UserManagement.model.Tenant;
|
||||||
|
import org.cmh.backend.UserManagement.repository.TenantManagementRepository;
|
||||||
import org.cmh.backend.authentication.dto.ChangePasswordRequest;
|
import org.cmh.backend.authentication.dto.ChangePasswordRequest;
|
||||||
import org.cmh.backend.authentication.dto.ManageUserProfileRequest;
|
import org.cmh.backend.authentication.dto.ManageUserProfileRequest;
|
||||||
import org.cmh.backend.authentication.dto.RegisterRequest;
|
import org.cmh.backend.authentication.dto.RegisterRequest;
|
||||||
@ -18,6 +20,8 @@ import java.util.regex.Pattern;
|
|||||||
public class UserService {
|
public class UserService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserRepository userRepository;
|
private UserRepository userRepository;
|
||||||
|
@Autowired
|
||||||
|
private TenantManagementRepository tenantRepository;
|
||||||
|
|
||||||
private final PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
|
private final PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
|
||||||
|
|
||||||
@ -47,10 +51,24 @@ public class UserService {
|
|||||||
newUser.setUsername(username);
|
newUser.setUsername(username);
|
||||||
newUser.setPassword(encodedPassword);
|
newUser.setPassword(encodedPassword);
|
||||||
newUser.setPhoneNumber(phoneNumber);
|
newUser.setPhoneNumber(phoneNumber);
|
||||||
|
newUser.setRole("企业管理员");
|
||||||
|
newUser.setTenant(username);
|
||||||
|
newUser.setGender("男");
|
||||||
|
newUser.setNickname(username);
|
||||||
|
newUser.setEmail("user@example.com");
|
||||||
|
newUser.setDepartment("企业管理员");
|
||||||
newUser.setCreatedAt(LocalDateTime.now());
|
newUser.setCreatedAt(LocalDateTime.now());
|
||||||
|
|
||||||
userRepository.save(newUser);
|
userRepository.save(newUser);
|
||||||
|
|
||||||
|
Tenant newTenant = new Tenant();
|
||||||
|
newTenant.setName(username);
|
||||||
|
newTenant.setPhone(phoneNumber);
|
||||||
|
newTenant.setManager(username);
|
||||||
|
newTenant.setSymbol(username);
|
||||||
|
newTenant.setContact(username);
|
||||||
|
tenantRepository.save(newTenant);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user