代码优化

This commit is contained in:
none 2023-03-02 16:38:56 +08:00
parent b77d9ae53e
commit d05e2eecd1
3 changed files with 20 additions and 17 deletions

View File

@ -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<String, Object> 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();
}

View File

@ -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<User> {
List<String> existsEmailsByEmails(List<String> emails);
void removeRelateDepartmentsByUserId(Integer userId);
User findOrFail(Integer id) throws NotFoundException;
}

View File

@ -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<UserMapper, User> implements Us
QueryWrapper<UserDepartment> 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;
}
}