将删除动态优化为批量删除动态

This commit is contained in:
KilLze
2025-12-24 21:13:44 +08:00
parent 5d3d85a325
commit 03bd1474b5
5 changed files with 34 additions and 14 deletions

View File

@@ -45,14 +45,14 @@ public class PostController {
} }
/** /**
* 删除动态 * 批量删除动态
* *
* @param postId 动态ID * @param postIds 动态ID
* @return 删除结果 * @return 删除结果
*/ */
@DeleteMapping("/{postId}") @DeleteMapping
public Result<String> deleteById(@PathVariable Long postId){ public Result<String> deleteById(@RequestParam List<Long> postIds){
postService.deletePostById(postId); postService.deletePostById(postIds);
return Result.success(ResultCode.SUCCESS_DELETE, "动态删除成功", null); return Result.success(ResultCode.SUCCESS_DELETE, "动态删除成功", null);
} }

View File

@@ -4,6 +4,8 @@ import com.bao.dating.pojo.entity.Post;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper @Mapper
public interface PostMapper { public interface PostMapper {
/** /**
@@ -16,9 +18,9 @@ public interface PostMapper {
/** /**
* 根据ID删除动态 * 根据ID删除动态
* *
* @param postId 动态ID * @param postIds 动态ID
*/ */
void deletePostById(@Param("postId") Long postId); void deletePostByIds(@Param("postIds") List<Long> postIds);
/** /**
* 根据ID查询动态 * 根据ID查询动态

View File

@@ -25,10 +25,10 @@ public interface PostService {
/** /**
* 删除动态 * 删除动态
* @param postId 动态ID * @param postIds 动态ID
* @return 删除的动态对象 * @return 删除的动态对象
*/ */
void deletePostById(Long postId); void deletePostById(List<Long> postIds);
/** /**
* 查询动态详情(用于编辑) * 查询动态详情(用于编辑)

View File

@@ -12,6 +12,7 @@ import com.bao.dating.util.FileUtil;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.IOException; import java.io.IOException;
@@ -159,12 +160,14 @@ public class PostServiceImpl implements PostService {
/** /**
* 删除动态 * 删除动态
* *
* @param postId 动态ID * @param postIds 动态ID
* @return 删除的动态对象 * @return 删除的动态对象
*/ */
@Override @Override
public void deletePostById(Long postId) { @Transactional(rollbackFor = Exception.class)
postMapper.deletePostById(postId); public void deletePostById(List<Long> postIds) {
// 批量删除动态
postMapper.deletePostByIds(postIds);
} }
@Override @Override

View File

@@ -29,8 +29,23 @@
</insert> </insert>
<!--动态删除--> <!--动态删除-->
<delete id="deletePostById"> <delete id="deletePostByIds">
DELETE FROM post WHERE post_id = #{postId} DELETE FROM post WHERE post_id IN
<foreach item="postId" index="index" collection="postIds" separator="," open="(" close=")">
#{postId}
</foreach>
</delete>
<!--删除收藏记录-->
<delete id="1">
DELETE FROM post_favorite WHERE post_id = #{postId}
</delete>
<!--删除点赞记录-->
<delete id="2">
DELETE FROM post_like WHERE post_id = #{postId}
</delete>
<!--动态评论删除-->
<delete id="3">
DELETE FROM comments WHERE post_id = #{postId}
</delete> </delete>
<!--动态查询--> <!--动态查询-->