From b173b3732923b4a13e2363439dd1d400363ce890 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?lsd=E4=B8=8D=E6=98=AF=E6=B2=99=E9=9B=95?= Date: Sun, 30 Jun 2024 15:40:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=9F=E6=88=B7=E7=AE=A1=E7=90=86=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E5=A2=9E=E5=92=8C=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 6 ++ .../TenantManagementController.java | 48 +++++++++++++ .../controller/UserManagementController.java | 52 ++++++++++++++ .../backend/UserManagement/model/Tenant.java | 33 +++++++++ .../TenantManagementRepository.java | 16 +++++ .../repository/UserManagementRepository.java | 25 +++++++ .../service/TenantManagementService.java | 27 ++++++++ .../service/UserManagementService.java | 31 +++++++++ .../controller/UserController.java | 39 ++++++++--- .../backend/authentication/model/User.java | 69 +++++++++++++------ .../repository/UserRepository.java | 7 +- .../authentication/service/UserService.java | 11 ++- 12 files changed, 331 insertions(+), 33 deletions(-) create mode 100644 src/main/java/org/cmh/backend/UserManagement/controller/TenantManagementController.java create mode 100644 src/main/java/org/cmh/backend/UserManagement/controller/UserManagementController.java create mode 100644 src/main/java/org/cmh/backend/UserManagement/model/Tenant.java create mode 100644 src/main/java/org/cmh/backend/UserManagement/repository/TenantManagementRepository.java create mode 100644 src/main/java/org/cmh/backend/UserManagement/repository/UserManagementRepository.java create mode 100644 src/main/java/org/cmh/backend/UserManagement/service/TenantManagementService.java create mode 100644 src/main/java/org/cmh/backend/UserManagement/service/UserManagementService.java diff --git a/pom.xml b/pom.xml index 428b562..e2c38d8 100644 --- a/pom.xml +++ b/pom.xml @@ -113,6 +113,12 @@ spring-boot-testcontainers test + + org.springframework.boot + spring-boot-devtools + true + + org.mybatis.spring.boot mybatis-spring-boot-starter-test diff --git a/src/main/java/org/cmh/backend/UserManagement/controller/TenantManagementController.java b/src/main/java/org/cmh/backend/UserManagement/controller/TenantManagementController.java new file mode 100644 index 0000000..f31a1f9 --- /dev/null +++ b/src/main/java/org/cmh/backend/UserManagement/controller/TenantManagementController.java @@ -0,0 +1,48 @@ +package org.cmh.backend.UserManagement.controller; + +import jakarta.transaction.Transactional; +import org.cmh.backend.UserManagement.model.Tenant; +import org.cmh.backend.UserManagement.service.TenantManagementService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import java.util.List; + +@RestController +public class TenantManagementController { + @Autowired + private TenantManagementService tenantManagementService; + + @CrossOrigin(origins = "http://localhost:5173") + @PostMapping("/addTenant") + public Tenant addTenant(@RequestBody Tenant tenant) { + Tenant tenant1=tenantManagementService.registerTenant(tenant); + System.out.println(tenant.toString()); + return tenant1; + } + + @CrossOrigin(origins = "http://localhost:5173") + @GetMapping("/getAllTenant") + public List getAll() { + List tenantList=tenantManagementService.findAll(); + return tenantList; + } + + @CrossOrigin(origins = "http://localhost:5173") + @PostMapping("/updateTenant") + public Tenant update(@RequestBody Tenant tenant) { + System.out.println(tenant); + tenantManagementService.update(tenant); + return tenant; + } + + @CrossOrigin(origins = "http://localhost:5173") + @PostMapping("/deleteTenant") + @Transactional + public boolean delete(@RequestBody Tenant tenant) { + System.out.println(tenant); + tenantManagementService.delete(tenant.getName()); + return true; + } + +} + diff --git a/src/main/java/org/cmh/backend/UserManagement/controller/UserManagementController.java b/src/main/java/org/cmh/backend/UserManagement/controller/UserManagementController.java new file mode 100644 index 0000000..9365a34 --- /dev/null +++ b/src/main/java/org/cmh/backend/UserManagement/controller/UserManagementController.java @@ -0,0 +1,52 @@ +package org.cmh.backend.UserManagement.controller; + +import jakarta.transaction.Transactional; +import org.cmh.backend.UserManagement.service.UserManagementService; +import org.cmh.backend.authentication.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import java.util.List; + +@RestController +public class UserManagementController { + @Autowired + private UserManagementService userManagementService; + + @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; + }else{ + return null; + } + } + + @CrossOrigin(origins = "http://localhost:5173") + @GetMapping("/getAll") + public List getAll() { + List userList=userManagementService.findAll(); + return userList; + } + + @CrossOrigin(origins = "http://localhost:5173") + @PostMapping("/update") + public User update(@RequestBody User user) { + System.out.println(user); + userManagementService.update(user); + return user; + } + + @CrossOrigin(origins = "http://localhost:5173") + @PostMapping("/delete") + @Transactional + public boolean delete(@RequestBody User user) { + System.out.println(user); + userManagementService.delete(user.getAccount()); + return true; + } + +} + diff --git a/src/main/java/org/cmh/backend/UserManagement/model/Tenant.java b/src/main/java/org/cmh/backend/UserManagement/model/Tenant.java new file mode 100644 index 0000000..8782fa0 --- /dev/null +++ b/src/main/java/org/cmh/backend/UserManagement/model/Tenant.java @@ -0,0 +1,33 @@ +package org.cmh.backend.UserManagement.model; + + +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; + +@Table(name="tenant") +@Entity +public class Tenant { + @Id + @Getter + @Setter + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Getter + @Setter + private String contact; + @Getter + @Setter + private String phone; + @Getter + @Setter + private String name; + @Getter + @Setter + private String manager; + @Getter + @Setter + private String symbol; + +} diff --git a/src/main/java/org/cmh/backend/UserManagement/repository/TenantManagementRepository.java b/src/main/java/org/cmh/backend/UserManagement/repository/TenantManagementRepository.java new file mode 100644 index 0000000..3fd6117 --- /dev/null +++ b/src/main/java/org/cmh/backend/UserManagement/repository/TenantManagementRepository.java @@ -0,0 +1,16 @@ +package org.cmh.backend.UserManagement.repository; +import org.cmh.backend.UserManagement.model.Tenant; +import org.cmh.backend.authentication.model.User; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +public interface TenantManagementRepository extends JpaRepository{ + Tenant findByName(String name); + Tenant save(Tenant tenant); + + List findAll(); + + Tenant findTenantById(Long id); + + Tenant deleteByName(String Name); +} diff --git a/src/main/java/org/cmh/backend/UserManagement/repository/UserManagementRepository.java b/src/main/java/org/cmh/backend/UserManagement/repository/UserManagementRepository.java new file mode 100644 index 0000000..c87d4a3 --- /dev/null +++ b/src/main/java/org/cmh/backend/UserManagement/repository/UserManagementRepository.java @@ -0,0 +1,25 @@ +package org.cmh.backend.UserManagement.repository; + + +import org.cmh.backend.authentication.model.User; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface UserManagementRepository extends JpaRepository { + User findByName(String name); + User findByAccountAndPassword(String name,String password); + User save(User user); + + List findAll(); + + User findUserById(Long id); + + User deleteByAccount(String account); + +} diff --git a/src/main/java/org/cmh/backend/UserManagement/service/TenantManagementService.java b/src/main/java/org/cmh/backend/UserManagement/service/TenantManagementService.java new file mode 100644 index 0000000..ba77df5 --- /dev/null +++ b/src/main/java/org/cmh/backend/UserManagement/service/TenantManagementService.java @@ -0,0 +1,27 @@ +package org.cmh.backend.UserManagement.service; + +import org.cmh.backend.UserManagement.model.Tenant; +import org.cmh.backend.UserManagement.repository.TenantManagementRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.List; + +@Service +public class TenantManagementService { + + @Autowired + private TenantManagementRepository tenantManagementRepository; + + public Tenant registerTenant(Tenant tenant) { + Tenant savedTenant = tenantManagementRepository.save(tenant); + return savedTenant; + } + + public List findAll(){ + return tenantManagementRepository.findAll(); + } + + public Tenant update(Tenant tenant){return tenantManagementRepository.save(tenant);} + + public Tenant delete(String name){return tenantManagementRepository.deleteByName(name);} +} diff --git a/src/main/java/org/cmh/backend/UserManagement/service/UserManagementService.java b/src/main/java/org/cmh/backend/UserManagement/service/UserManagementService.java new file mode 100644 index 0000000..ec5a454 --- /dev/null +++ b/src/main/java/org/cmh/backend/UserManagement/service/UserManagementService.java @@ -0,0 +1,31 @@ +package org.cmh.backend.UserManagement.service; + +import org.cmh.backend.UserManagement.repository.UserManagementRepository; +import org.cmh.backend.authentication.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.List; + +@Service +public class UserManagementService { + + @Autowired + private UserManagementRepository userManagementRepository; + + + public User registerUser(User user) { + User savedUser = userManagementRepository.save(user); + return savedUser; + } + + public List findAll(){ + return userManagementRepository.findAll(); + } + + public User findUserById(Long id){return userManagementRepository.findUserById(id);} + + public User update(User user){return userManagementRepository.save(user);} + + public User delete(String account){return userManagementRepository.deleteByAccount(account);} + +} diff --git a/src/main/java/org/cmh/backend/authentication/controller/UserController.java b/src/main/java/org/cmh/backend/authentication/controller/UserController.java index f4e6aae..63a9c38 100644 --- a/src/main/java/org/cmh/backend/authentication/controller/UserController.java +++ b/src/main/java/org/cmh/backend/authentication/controller/UserController.java @@ -4,20 +4,37 @@ import org.cmh.backend.authentication.model.User; import org.cmh.backend.authentication.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +import static org.springframework.http.ResponseEntity.ok; @RestController -@RequestMapping("/users") public class UserController { - @Autowired - private UserService userService; - @GetMapping("/{username}") - public ResponseEntity getUser(@PathVariable String username) { - User user = userService.getUserByUsername(username); - return ResponseEntity.ok(user); + @Autowired + private UserService userService; + @CrossOrigin(origins = "http://localhost:5173") + @PostMapping("/checkLogin") + public ResponseEntity login(@RequestBody Map credentials) { + String account = credentials.get("account"); + String password = credentials.get("password"); + + User user = userService.getUserByAccountAndPassword(account, password); + return ok(user); + } + @CrossOrigin(origins = "http://localhost:5173") + @PostMapping("/checkRegister") + public String register(@RequestBody User user) { + + if(userService.registerUser(user) != null){ + return "注册成功"; + }else + return "注册错误"; + } + + } + diff --git a/src/main/java/org/cmh/backend/authentication/model/User.java b/src/main/java/org/cmh/backend/authentication/model/User.java index ba9aa53..98d2ab7 100644 --- a/src/main/java/org/cmh/backend/authentication/model/User.java +++ b/src/main/java/org/cmh/backend/authentication/model/User.java @@ -4,36 +4,65 @@ import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; +import lombok.Getter; +import lombok.Setter; @Entity public class User { + @Setter + @Getter @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; - private String username; + @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() { - public Long getId() { - return id; } - public void setId(Long id) { - this.id = id; - } - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { + public User(String account, String password, String name, String organization, String gender, String email, String phone) { + this.account = account; this.password = password; + this.name = name; + this.organization = organization; + this.gender = gender; + this.email = email; + this.phone = phone; + } + + @Override + public String toString() { + return "User{" + + "id=" + id + + ", account='" + account + '\'' + + ", password='" + password + '\'' + + ", name='" + name + '\'' + + ", organization='" + organization + '\'' + + ", gender='" + gender + '\'' + + ", email='" + email + '\'' + + ", phone='" + phone + '\'' + + '}'; + } + } \ No newline at end of file diff --git a/src/main/java/org/cmh/backend/authentication/repository/UserRepository.java b/src/main/java/org/cmh/backend/authentication/repository/UserRepository.java index 2c5116e..492004a 100644 --- a/src/main/java/org/cmh/backend/authentication/repository/UserRepository.java +++ b/src/main/java/org/cmh/backend/authentication/repository/UserRepository.java @@ -2,7 +2,12 @@ package org.cmh.backend.authentication.repository; import org.cmh.backend.authentication.model.User; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +@Repository public interface UserRepository extends JpaRepository { - User findByUsername(String username); + User findByName(String name); + User findByAccountAndPassword(String name,String password); + User save(User user); + } diff --git a/src/main/java/org/cmh/backend/authentication/service/UserService.java b/src/main/java/org/cmh/backend/authentication/service/UserService.java index 30e5134..ee8a2c6 100644 --- a/src/main/java/org/cmh/backend/authentication/service/UserService.java +++ b/src/main/java/org/cmh/backend/authentication/service/UserService.java @@ -3,6 +3,7 @@ package org.cmh.backend.authentication.service; import org.cmh.backend.authentication.model.User; import org.cmh.backend.authentication.repository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; @Service @@ -11,6 +12,14 @@ public class UserService { private UserRepository userRepository; public User getUserByUsername(String username) { - return userRepository.findByUsername(username); + return userRepository.findByName(username); } + public User getUserByAccountAndPassword(String name,String password){return userRepository.findByAccountAndPassword(name,password);} + + public User registerUser(User user) { + User savedUser = userRepository.save(user); + return savedUser; + } + + }