From 03bd1474b5f0a55a38d770b9af89f90fa46ab4f3 Mon Sep 17 00:00:00 2001 From: KilLze Date: Wed, 24 Dec 2025 21:13:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E5=88=A0=E9=99=A4=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=BA=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=8A=A8=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bao/dating/controller/PostController.java | 10 +++++----- .../com/bao/dating/mapper/PostMapper.java | 6 ++++-- .../com/bao/dating/service/PostService.java | 4 ++-- .../dating/service/impl/PostServiceImpl.java | 9 ++++++--- .../com/bao/dating/mapper/PostMapper.xml | 19 +++++++++++++++++-- 5 files changed, 34 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/bao/dating/controller/PostController.java b/src/main/java/com/bao/dating/controller/PostController.java index 2db3b33..1d068e5 100644 --- a/src/main/java/com/bao/dating/controller/PostController.java +++ b/src/main/java/com/bao/dating/controller/PostController.java @@ -45,14 +45,14 @@ public class PostController { } /** - * 删除动态 + * 批量删除动态 * - * @param postId 动态ID + * @param postIds 动态ID * @return 删除结果 */ - @DeleteMapping("/{postId}") - public Result deleteById(@PathVariable Long postId){ - postService.deletePostById(postId); + @DeleteMapping + public Result deleteById(@RequestParam List postIds){ + postService.deletePostById(postIds); return Result.success(ResultCode.SUCCESS_DELETE, "动态删除成功", null); } diff --git a/src/main/java/com/bao/dating/mapper/PostMapper.java b/src/main/java/com/bao/dating/mapper/PostMapper.java index d4bd5b2..1acb5db 100644 --- a/src/main/java/com/bao/dating/mapper/PostMapper.java +++ b/src/main/java/com/bao/dating/mapper/PostMapper.java @@ -4,6 +4,8 @@ import com.bao.dating.pojo.entity.Post; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + @Mapper public interface PostMapper { /** @@ -16,9 +18,9 @@ public interface PostMapper { /** * 根据ID删除动态 * - * @param postId 动态ID + * @param postIds 动态ID */ - void deletePostById(@Param("postId") Long postId); + void deletePostByIds(@Param("postIds") List postIds); /** * 根据ID查询动态 diff --git a/src/main/java/com/bao/dating/service/PostService.java b/src/main/java/com/bao/dating/service/PostService.java index 975e78a..dbca4ae 100644 --- a/src/main/java/com/bao/dating/service/PostService.java +++ b/src/main/java/com/bao/dating/service/PostService.java @@ -25,10 +25,10 @@ public interface PostService { /** * 删除动态 - * @param postId 动态ID + * @param postIds 动态ID * @return 删除的动态对象 */ - void deletePostById(Long postId); + void deletePostById(List postIds); /** * 查询动态详情(用于编辑) diff --git a/src/main/java/com/bao/dating/service/impl/PostServiceImpl.java b/src/main/java/com/bao/dating/service/impl/PostServiceImpl.java index 9eafc97..4ea64f0 100644 --- a/src/main/java/com/bao/dating/service/impl/PostServiceImpl.java +++ b/src/main/java/com/bao/dating/service/impl/PostServiceImpl.java @@ -12,6 +12,7 @@ import com.bao.dating.util.FileUtil; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; @@ -159,12 +160,14 @@ public class PostServiceImpl implements PostService { /** * 删除动态 * - * @param postId 动态ID + * @param postIds 动态ID * @return 删除的动态对象 */ @Override - public void deletePostById(Long postId) { - postMapper.deletePostById(postId); + @Transactional(rollbackFor = Exception.class) + public void deletePostById(List postIds) { + // 批量删除动态 + postMapper.deletePostByIds(postIds); } @Override diff --git a/src/main/resources/com/bao/dating/mapper/PostMapper.xml b/src/main/resources/com/bao/dating/mapper/PostMapper.xml index c0dd465..d3695a3 100644 --- a/src/main/resources/com/bao/dating/mapper/PostMapper.xml +++ b/src/main/resources/com/bao/dating/mapper/PostMapper.xml @@ -29,8 +29,23 @@ - - DELETE FROM post WHERE post_id = #{postId} + + DELETE FROM post WHERE post_id IN + + #{postId} + + + + + DELETE FROM post_favorite WHERE post_id = #{postId} + + + + DELETE FROM post_like WHERE post_id = #{postId} + + + + DELETE FROM comments WHERE post_id = #{postId}