Kaynağa Gözat

修改族友圈评论时,返回的不是好友和族友评论列表的问题

Alex 4 yıl önce
ebeveyn
işleme
54e143ab7a

+ 22 - 4
ruoyi-app/src/main/java/com/ruoyi/app/controller/PublishCommentController.java

@@ -3,10 +3,11 @@ package com.ruoyi.app.controller;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.app.annotation.LoginAppUser;
 import com.ruoyi.app.controller.base.AppBaseController;
-import com.ruoyi.app.domain.TbAppUser;
-import com.ruoyi.app.domain.TbPublishComment;
-import com.ruoyi.app.domain.TbPublishThumbs;
+import com.ruoyi.app.domain.*;
 import com.ruoyi.app.domain.vo.AppMemberVo;
+import com.ruoyi.app.service.ITbFamilyMemberService;
+import com.ruoyi.app.service.ITbFamilyService;
+import com.ruoyi.app.service.ITbMyPublishService;
 import com.ruoyi.app.service.ITbPublishCommentService;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.StringUtils;
@@ -34,7 +35,9 @@ import java.util.List;
 public class PublishCommentController extends AppBaseController {
 
     private final ITbPublishCommentService commentService;
-
+    private final ITbMyPublishService publishService;
+    private final ITbFamilyService familyService;
+    private final ITbFamilyMemberService memberService;
     /**
      * 添加评论
      *
@@ -54,9 +57,24 @@ public class PublishCommentController extends AppBaseController {
         comment.setCreateBy(user.getUserId().toString());
         comment.setCreateTime(new Date());
         if (commentService.save(comment)) {
+            Long familyId = null;
+            // 获取登录人所在的家族id
+            TbFamilyMember member = memberService.getOne(new LambdaQueryWrapper<TbFamilyMember>()
+                    .eq(TbFamilyMember::getAppUserId,user.getUserId())
+                    .last("limit 1")
+            );
+            if (member != null) {
+                TbFamily family = familyService.myFamily(member.getId());
+                if (family != null) {
+                    familyId = family.getId();
+                }
+            }
+            // 获取登录人的所有好友和所在家族的所有族友的id
+            List<Long> fids = publishService.getMyFrientIds(user.getUserId(),familyId);
             //返回评论列表
             List<TbPublishComment> list = commentService.selectList(new LambdaQueryWrapper<TbPublishComment>()
                     .eq(TbPublishComment::getPublishId, comment.getPublishId())
+                    .in(fids.size() > 0,TbPublishComment::getAppUserId, fids)
             );
 
             return AjaxResult.success(list);

+ 8 - 0
ruoyi-system/src/main/java/com/ruoyi/app/service/ITbMyPublishService.java

@@ -30,4 +30,12 @@ public interface ITbMyPublishService extends IService<TbMyPublish> {
      * 族友圈列表
      */
     List<TbMyPublish> selectPublish(Long appUserId, Long familyId);
+
+    /**
+     * 获取我的所有好友、族友
+     * @param appUserId
+     * @param familyId
+     * @return
+     */
+    List<Long> getMyFrientIds(Long appUserId, Long familyId);
 }

+ 3 - 2
ruoyi-system/src/main/java/com/ruoyi/app/service/impl/TbMyPublishServiceImpl.java

@@ -127,7 +127,7 @@ public class TbMyPublishServiceImpl extends ServiceImpl<TbMyPublishMapper, TbMyP
         if (publish != null) {
             Long familyId = null;
             TbFamilyMember member = memberService.getOne(new LambdaQueryWrapper<TbFamilyMember>()
-                    .eq(TbFamilyMember::getAppUserId,publish.getAppUserId())
+                    .eq(TbFamilyMember::getAppUserId,appUserId)
                     .last("limit 1")
             );
             if (member != null) {
@@ -384,7 +384,8 @@ public class TbMyPublishServiceImpl extends ServiceImpl<TbMyPublishMapper, TbMyP
      * @param familyId
      * @return
      */
-    private List<Long> getMyFrientIds(Long appUserId, Long familyId){
+    @Override
+    public List<Long> getMyFrientIds(Long appUserId, Long familyId){
         List<Long> fids = new ArrayList<>();
         if (appUserId != null) {
             // 好友列表