From 74976ade9c0605069977721e530d0842a13fcc9a Mon Sep 17 00:00:00 2001 From: myh Date: Tue, 7 Nov 2023 22:42:22 +0800 Subject: [PATCH] =?UTF-8?q?Optional=E7=94=A8=E6=B3=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MerchantsController.java | 2 +- .../controller/UsersController.java | 50 +++++++++++++++---- .../springdemo/service/MerchantsService.java | 2 +- .../service/MerchantsServiceImpl.java | 5 +- .../springdemo/service/UsersService.java | 2 +- .../springdemo/service/UsersServiceImpl.java | 4 +- 6 files changed, 47 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/example/springdemo/controller/MerchantsController.java b/src/main/java/com/example/springdemo/controller/MerchantsController.java index a84cfc0..91d56ec 100644 --- a/src/main/java/com/example/springdemo/controller/MerchantsController.java +++ b/src/main/java/com/example/springdemo/controller/MerchantsController.java @@ -39,7 +39,7 @@ public class MerchantsController { } @GetMapping("/find/{id}") - public Optional getMerchantsById(@PathVariable("id") Long id) { + public Merchants getMerchantsById(@PathVariable("id") Long id) { return merchantsService.findById(id); } } diff --git a/src/main/java/com/example/springdemo/controller/UsersController.java b/src/main/java/com/example/springdemo/controller/UsersController.java index 864de04..a654b47 100644 --- a/src/main/java/com/example/springdemo/controller/UsersController.java +++ b/src/main/java/com/example/springdemo/controller/UsersController.java @@ -1,7 +1,9 @@ package com.example.springdemo.controller; import com.example.springdemo.entities.Users; +import com.example.springdemo.entities.password.UsersPassword; import com.example.springdemo.service.UsersService; +import com.example.springdemo.utils.RoleVerificationAnnotation; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.*; @@ -14,34 +16,62 @@ public class UsersController { @Resource private UsersService usersService; + //添加新用户 + @RoleVerificationAnnotation(RoleIDList = {1}, UserIDList = {1}) @PostMapping("/add") - public Users addUsers(@RequestBody Users users) { + public Users addUsers(@RequestBody UsersPassword usersPassword, @RequestBody Users users) { + usersService.addPassword(usersPassword); return usersService.addUsers(users); } - @DeleteMapping("/delete/{id}") - public void deleteUsers(@PathVariable("id") Long id) { - usersService.deleteUsersById(id); + //通过ID删除用户 + @RoleVerificationAnnotation(RoleIDList = {1}, UserIDList = {1}) + @DeleteMapping("/delete") + public void deleteUsers(@RequestParam(name = "userID") Long userID) { + usersService.deleteUsersById(userID); } - @PutMapping("/update") + //通过姓名删除用户 + @RoleVerificationAnnotation(RoleIDList = {1}, UserIDList = {1}) + @DeleteMapping("/delete") + public void deleteUsers(@RequestParam(name = "name") String name) { + usersService.deleteUsersByName(name); + } + + //更新用户信息 + @RoleVerificationAnnotation(RoleIDList = {1, 3}, UserIDList = {1}) + @PutMapping("/update/info") public Users updateUsers(@RequestBody Users users) { return usersService.updateUsers(users); } + //查找全部用户 + @RoleVerificationAnnotation(RoleIDList = {1}, UserIDList = {1}) @GetMapping("/find") public Iterable getUsers() { return usersService.findAllUsers(); } - @GetMapping("/find/{name}") - public Users getUsersByName(@PathVariable("name") String name) { + //根据姓名查找用户 + @RoleVerificationAnnotation(RoleIDList = {1}, UserIDList = {1}) + @GetMapping("/find") + public Users getUsersByName(@RequestParam(name = "name") String name) { return usersService.findByName(name); } - @GetMapping("/find/{id}") - public Optional getUsersById(@PathVariable("id") Long id) { - return usersService.findById(id); + //根据ID查找用户 + @RoleVerificationAnnotation(RoleIDList = {1}, UserIDList = {1}) + @GetMapping("/find") + public Users getUsersById(@RequestParam(name = "id") Long userID) { + return usersService.findById(userID); + } + + //更新用户密码 + @RoleVerificationAnnotation(RoleIDList = {1, 3}, UserIDList = {1}) + @PutMapping("/update/password") + public void updatePassword(@RequestParam(name = "password") String password, + @RequestParam(name = "userID") Long userID) { + usersService.updatePassword(password, userID); } } diff --git a/src/main/java/com/example/springdemo/service/MerchantsService.java b/src/main/java/com/example/springdemo/service/MerchantsService.java index f9f3bd9..b423cd4 100644 --- a/src/main/java/com/example/springdemo/service/MerchantsService.java +++ b/src/main/java/com/example/springdemo/service/MerchantsService.java @@ -13,7 +13,7 @@ public interface MerchantsService { Iterable findAllMerchants(); - Optional findById(Long id); + Merchants findById(Long id); Merchants findByName(String name); } diff --git a/src/main/java/com/example/springdemo/service/MerchantsServiceImpl.java b/src/main/java/com/example/springdemo/service/MerchantsServiceImpl.java index 90a831e..7eb8fa8 100644 --- a/src/main/java/com/example/springdemo/service/MerchantsServiceImpl.java +++ b/src/main/java/com/example/springdemo/service/MerchantsServiceImpl.java @@ -6,7 +6,6 @@ import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import java.util.List; -import java.util.Optional; @Service public class MerchantsServiceImpl implements MerchantsService { @@ -34,8 +33,8 @@ public class MerchantsServiceImpl implements MerchantsService { } @Override - public Optional findById(Long id) { - return merchantsRepository.findById(id); + public Merchants findById(Long id) { + return merchantsRepository.findById(id).orElse(null); } @Override diff --git a/src/main/java/com/example/springdemo/service/UsersService.java b/src/main/java/com/example/springdemo/service/UsersService.java index 1117e72..1fac457 100644 --- a/src/main/java/com/example/springdemo/service/UsersService.java +++ b/src/main/java/com/example/springdemo/service/UsersService.java @@ -17,7 +17,7 @@ public interface UsersService { Iterable findAllUsers(); - Optional findById(Long userID); + Users findById(Long userID); Users findByName(String name); diff --git a/src/main/java/com/example/springdemo/service/UsersServiceImpl.java b/src/main/java/com/example/springdemo/service/UsersServiceImpl.java index 7340b3f..52007eb 100644 --- a/src/main/java/com/example/springdemo/service/UsersServiceImpl.java +++ b/src/main/java/com/example/springdemo/service/UsersServiceImpl.java @@ -40,8 +40,8 @@ public class UsersServiceImpl implements UsersService { } @Override - public Optional findById(Long userID) { - return usersRepository.findById(userID); + public Users findById(Long userID) { + return usersRepository.findById(userID).orElse(null); } @Override