From 6e7dde5235dbcbf18482052b06b04ed9570f8c06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=A8=E9=9C=96=E9=93=83?= Date: Mon, 11 Aug 2025 22:30:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84notebook?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/NotebookController.java | 19 ++++++-- .../workflow/service/NotebookService.java | 10 ++--- .../service/impl/NotebookServiceImpl.java | 44 +++++++++++++------ .../service/impl/UserServiceImpl.java | 2 +- 4 files changed, 51 insertions(+), 24 deletions(-) diff --git a/src/main/java/asia/yulinling/workflow/controller/NotebookController.java b/src/main/java/asia/yulinling/workflow/controller/NotebookController.java index 014ccd4..1ebe961 100644 --- a/src/main/java/asia/yulinling/workflow/controller/NotebookController.java +++ b/src/main/java/asia/yulinling/workflow/controller/NotebookController.java @@ -9,6 +9,7 @@ import asia.yulinling.workflow.model.entity.Notebook; import asia.yulinling.workflow.model.vo.NotebookVO; import asia.yulinling.workflow.service.NotebookService; import jakarta.validation.Valid; +import lombok.NonNull; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; @@ -36,14 +37,24 @@ public class NotebookController { } @GetMapping("/notebooks/{id}") - public void notebooksGet(@PathVariable Long id) { + public ApiResponse notebooksGet(@PathVariable Long id) { + NotebookVO notebookVO = notebookService.getNotebook(id); + return ApiResponse.ofStatus(Status.SUCCESS, notebookVO); } - @PutMapping("/notebooks/{id}") - public void notebooksPut(@PathVariable Long id) { + @PutMapping("/notebooks/{userId}/?id={id}") + public ApiResponse notebooksPut(@PathVariable Long userId, @PathVariable @NonNull Long id, @Valid @RequestBody NotebookRequest notebookRequest) { + Notebook notebook = new Notebook(); + notebook.setId(id); + notebook.setUserId(userId); + BeanUtils.copyProperties(notebookRequest, notebook); + notebookService.updateNotebook(notebook); + return ApiResponse.ofStatus(Status.SUCCESS); } @DeleteMapping("/notebooks/{id}") - public void notebooksDelete(@PathVariable Long id) { + public ApiResponse notebooksDelete(@PathVariable Long id) { + notebookService.deleteNotebookById(id); + return ApiResponse.ofStatus(Status.SUCCESS); } } diff --git a/src/main/java/asia/yulinling/workflow/service/NotebookService.java b/src/main/java/asia/yulinling/workflow/service/NotebookService.java index 5a57a0c..eb88e6c 100644 --- a/src/main/java/asia/yulinling/workflow/service/NotebookService.java +++ b/src/main/java/asia/yulinling/workflow/service/NotebookService.java @@ -15,23 +15,21 @@ public interface NotebookService { * * @param notebook 笔记本 */ - int addNotebook(Notebook notebook); + void addNotebook(Notebook notebook); /** * 删除笔记本 * * @param notebookId 笔记本id - * @return 结果 */ - int deleteNotebookById(Long notebookId); + void deleteNotebookById(Long notebookId); /** * 更新笔记本 * * @param notebook 笔记本 - * @return 结果 */ - int updateNotebook(Notebook notebook); + void updateNotebook(Notebook notebook); /** * 获取笔记本内容 @@ -39,7 +37,7 @@ public interface NotebookService { * @param notebookId 笔记本id * @return 结果 */ - Notebook getNotebook(Long notebookId); + NotebookVO getNotebook(Long notebookId); /** * 获取笔记本列表 diff --git a/src/main/java/asia/yulinling/workflow/service/impl/NotebookServiceImpl.java b/src/main/java/asia/yulinling/workflow/service/impl/NotebookServiceImpl.java index 913ab60..3f69fcf 100644 --- a/src/main/java/asia/yulinling/workflow/service/impl/NotebookServiceImpl.java +++ b/src/main/java/asia/yulinling/workflow/service/impl/NotebookServiceImpl.java @@ -27,40 +27,58 @@ public class NotebookServiceImpl implements NotebookService { private final UserService userService; @Override - public int addNotebook(Notebook notebook) { + public void addNotebook(Notebook notebook) { - if (!userService.checkUserIdExist(notebook.getUserId())) { + if (userService.checkUserIdExist(notebook.getUserId())) { throw new ServiceException("用户不存在"); } - return notebookMapper.insert(notebook); + int result = notebookMapper.insert(notebook); + + if (result == 0) { + throw new ServiceException("添加笔记本失败"); + } } @Override - public int deleteNotebookById(Long notebookId) { - if (!userService.checkUserIdExist(notebookId)) { + public void deleteNotebookById(Long notebookId) { + if (userService.checkUserIdExist(notebookId)) { throw new ServiceException("笔记本不存在"); } - return notebookMapper.deleteById(notebookId); + int result = notebookMapper.deleteById(notebookId); + if (result == 0) { + throw new ServiceException("删除笔记本失败"); + } } @Override - public int updateNotebook(Notebook notebook) { - if (!userService.checkUserIdExist(notebook.getUserId())) { + public void updateNotebook(Notebook notebook) { + if (userService.checkUserIdExist(notebook.getUserId())) { + throw new ServiceException("用户不存在"); + } + + if (!checkNotebookIdExist(notebook.getId())) { throw new ServiceException("笔记本不存在"); } - return notebookMapper.updateById(notebook); + int result = notebookMapper.updateById(notebook); + if (result == 0) { + throw new ServiceException("更新笔记本失败"); + } } @Override - public Notebook getNotebook(Long notebookId) { - if (!userService.checkUserIdExist(notebookId)) { + public NotebookVO getNotebook(Long notebookId) { + if (!checkNotebookIdExist(notebookId)) { throw new ServiceException("笔记本不存在"); } - return notebookMapper.selectById(notebookId); + Notebook notebook = notebookMapper.selectById(notebookId); + NotebookVO notebookVO = new NotebookVO(); + BeanUtils.copyProperties(notebook, notebookVO); + + return notebookVO; } /** @@ -94,7 +112,7 @@ public class NotebookServiceImpl implements NotebookService { */ @Override public List getNotebookListByUserId(Long userId) { - if (!userService.checkUserIdExist(userId)) { + if (userService.checkUserIdExist(userId)) { throw new ServiceException("用户不存在"); } diff --git a/src/main/java/asia/yulinling/workflow/service/impl/UserServiceImpl.java b/src/main/java/asia/yulinling/workflow/service/impl/UserServiceImpl.java index 4557588..6f07bc4 100644 --- a/src/main/java/asia/yulinling/workflow/service/impl/UserServiceImpl.java +++ b/src/main/java/asia/yulinling/workflow/service/impl/UserServiceImpl.java @@ -57,7 +57,7 @@ public class UserServiceImpl implements UserService { */ @Override public boolean checkUserIdExist(Long userId) { - return userMapper.exists(new LambdaQueryWrapper().eq(User::getId, userId)); + return !userMapper.exists(new LambdaQueryWrapper().eq(User::getId, userId)); } /**