Преглед изворни кода

1.编辑回复、删除回复

jasonk5949 пре 7 месеци
родитељ
комит
a4c096f319

+ 1 - 4
snowy-plugin/snowy-plugin-forum/snowy-plugin-forum-func/src/main/java/vip/xiaonuo/forum/modular/postreply/controller/ForumPostReplyController.java

@@ -89,7 +89,6 @@ public class ForumPostReplyController {
     @ApiOperationSupport(order = 3)
     @ApiOperation("编辑帖子回复表")
     @CommonLog("编辑帖子回复表")
-    @SaCheckPermission("/forum/postreply/edit")
     @PostMapping("/forum/postreply/edit")
     public CommonResult<String> edit(@RequestBody @Valid ForumPostReplyEditParam forumPostReplyEditParam) {
         return forumPostReplyService.edit(forumPostReplyEditParam);
@@ -104,12 +103,10 @@ public class ForumPostReplyController {
     @ApiOperationSupport(order = 4)
     @ApiOperation("删除帖子回复表")
     @CommonLog("删除帖子回复表")
-    @SaCheckPermission("/forum/postreply/delete")
     @PostMapping("/forum/postreply/delete")
     public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
                                                    CommonValidList<ForumPostReplyIdParam> forumPostReplyIdParamList) {
-        forumPostReplyService.delete(forumPostReplyIdParamList);
-        return CommonResult.ok();
+        return forumPostReplyService.delete(forumPostReplyIdParamList);
     }
 
     /**

+ 1 - 1
snowy-plugin/snowy-plugin-forum/snowy-plugin-forum-func/src/main/java/vip/xiaonuo/forum/modular/postreply/service/ForumPostReplyService.java

@@ -61,7 +61,7 @@ public interface ForumPostReplyService extends IService<ForumPostReply> {
      * @author 金吉龙
      * @date  2025/07/16 08:47
      */
-    void delete(List<ForumPostReplyIdParam> forumPostReplyIdParamList);
+    CommonResult<String> delete(List<ForumPostReplyIdParam> forumPostReplyIdParamList);
 
     /**
      * 获取帖子回复表详情

+ 15 - 2
snowy-plugin/snowy-plugin-forum/snowy-plugin-forum-func/src/main/java/vip/xiaonuo/forum/modular/postreply/service/impl/ForumPostReplyServiceImpl.java

@@ -197,6 +197,10 @@ public class ForumPostReplyServiceImpl extends ServiceImpl<ForumPostReplyMapper,
     public CommonResult<String> edit(ForumPostReplyEditParam forumPostReplyEditParam) {
         SaBaseLoginUser loginUser = StpLoginUserUtil.getLoginUser();
         ForumPostReply forumPostReply = this.queryEntity(forumPostReplyEditParam.getReplyId());
+        // 校验是否为自己的回复
+        if (!forumPostReply.getUserId().equals(loginUser.getId())) {
+            throw new CommonException("只能编辑自己的回复");
+        }
         BeanUtil.copyProperties(forumPostReplyEditParam, forumPostReply);
         // 过滤敏感词
         String replyContent = filterSensitivity(forumPostReplyEditParam.getReplyContent(), loginUser, forumPostReplyEditParam.getPostId());
@@ -207,9 +211,18 @@ public class ForumPostReplyServiceImpl extends ServiceImpl<ForumPostReplyMapper,
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public void delete(List<ForumPostReplyIdParam> forumPostReplyIdParamList) {
+    public CommonResult<String> delete(List<ForumPostReplyIdParam> forumPostReplyIdParamList) {
         // 执行删除
-        this.removeByIds(CollStreamUtil.toList(forumPostReplyIdParamList, ForumPostReplyIdParam::getReplyId));
+        boolean b = this.removeByIds(CollStreamUtil.toList(forumPostReplyIdParamList, ForumPostReplyIdParam::getReplyId));
+        if (b) {
+            // 同时删除点赞记录
+            QueryWrapper<ForumPostLike> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().in(ForumPostLike::getTargetId, CollStreamUtil.toList(forumPostReplyIdParamList, ForumPostReplyIdParam::getReplyId));
+            forumPostLikeMapper.delete(queryWrapper);
+            return CommonResult.ok();
+        } else {
+            return CommonResult.error();
+        }
     }
 
     @Override