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}