From d05e2eecd1dd6ac64bef4687abbc4f9d248ca129 Mon Sep 17 00:00:00 2001 From: none Date: Thu, 2 Mar 2023 16:38:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/backend/UserController.java | 24 ++++++------------- .../xyz/playedu/api/service/UserService.java | 3 +++ .../api/service/impl/UserServiceImpl.java | 10 ++++++++ 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/main/java/xyz/playedu/api/controller/backend/UserController.java b/src/main/java/xyz/playedu/api/controller/backend/UserController.java index c3db8d7..32b88d1 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/UserController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/UserController.java @@ -12,6 +12,7 @@ import xyz.playedu.api.constant.SystemConstant; import xyz.playedu.api.domain.User; import xyz.playedu.api.domain.UserDepartment; import xyz.playedu.api.event.UserDestroyEvent; +import xyz.playedu.api.exception.NotFoundException; import xyz.playedu.api.middleware.BackendPermissionMiddleware; import xyz.playedu.api.request.backend.UserImportRequest; import xyz.playedu.api.request.backend.UserRequest; @@ -162,11 +163,8 @@ public class UserController { @BackendPermissionMiddleware(slug = BPermissionConstant.USER_UPDATE) @GetMapping("/{id}") - public JsonResponse edit(@PathVariable(name = "id") Integer id) { - User user = userService.getById(id); - if (user == null) { - return JsonResponse.error("学员不存在"); - } + public JsonResponse edit(@PathVariable(name = "id") Integer id) throws NotFoundException { + User user = userService.findOrFail(id); HashMap data = new HashMap<>(); data.put("user", user); @@ -177,11 +175,8 @@ public class UserController { @BackendPermissionMiddleware(slug = BPermissionConstant.USER_UPDATE) @PutMapping("/{id}") @Transactional - public JsonResponse update(@PathVariable(name = "id") Integer id, @RequestBody @Validated UserRequest request) { - User user = userService.getById(id); - if (user == null) { - return JsonResponse.error("学员不存在"); - } + public JsonResponse update(@PathVariable(name = "id") Integer id, @RequestBody @Validated UserRequest request) throws NotFoundException { + User user = userService.findOrFail(id); if (!request.getEmail().equals(user.getEmail()) && userService.emailIsExists(request.getEmail())) { return JsonResponse.error("邮箱已存在"); @@ -230,15 +225,10 @@ public class UserController { @BackendPermissionMiddleware(slug = BPermissionConstant.USER_DESTROY) @DeleteMapping("/{id}") - public JsonResponse destroy(@PathVariable(name = "id") Integer id) { - User user = userService.getById(id); - if (user == null) { - return JsonResponse.error("学员不存在"); - } + public JsonResponse destroy(@PathVariable(name = "id") Integer id) throws NotFoundException { + User user = userService.findOrFail(id); userService.removeById(user.getId()); - context.publishEvent(new UserDestroyEvent(this, user.getId(), new Date())); - return JsonResponse.success(); } diff --git a/src/main/java/xyz/playedu/api/service/UserService.java b/src/main/java/xyz/playedu/api/service/UserService.java index be99ebb..9c8b870 100644 --- a/src/main/java/xyz/playedu/api/service/UserService.java +++ b/src/main/java/xyz/playedu/api/service/UserService.java @@ -2,6 +2,7 @@ package xyz.playedu.api.service; import xyz.playedu.api.domain.User; import com.baomidou.mybatisplus.extension.service.IService; +import xyz.playedu.api.exception.NotFoundException; import xyz.playedu.api.types.paginate.PaginationResult; import xyz.playedu.api.types.paginate.UserPaginateFilter; @@ -20,4 +21,6 @@ public interface UserService extends IService { List existsEmailsByEmails(List emails); void removeRelateDepartmentsByUserId(Integer userId); + + User findOrFail(Integer id) throws NotFoundException; } diff --git a/src/main/java/xyz/playedu/api/service/impl/UserServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/UserServiceImpl.java index 5f7efdb..ca76c0c 100644 --- a/src/main/java/xyz/playedu/api/service/impl/UserServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/UserServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import xyz.playedu.api.domain.User; import xyz.playedu.api.domain.UserDepartment; +import xyz.playedu.api.exception.NotFoundException; import xyz.playedu.api.service.internal.UserDepartmentService; import xyz.playedu.api.service.UserService; import xyz.playedu.api.mapper.UserMapper; @@ -105,6 +106,15 @@ public class UserServiceImpl extends ServiceImpl implements Us QueryWrapper wrapper = userDepartmentService.query().getWrapper().eq("user_id", userId); userDepartmentService.remove(wrapper); } + + @Override + public User findOrFail(Integer id) throws NotFoundException { + User user = getOne(query().getWrapper().eq("id", id)); + if (user == null) { + throw new NotFoundException("学员不存在"); + } + return user; + } }