wupengfei před 2 roky
rodič
revize
4605abea5c
2 změnil soubory, kde provedl 10 přidání a 2 odebrání
  1. 2 1
      .idea/workspace.xml
  2. 8 1
      application/api/controller/Forum.php

+ 2 - 1
.idea/workspace.xml

@@ -3,6 +3,7 @@
   <component name="ChangeListManager">
     <list default="true" id="1a36929e-c054-4875-a943-593a74e55fa4" name="Default Changelist" comment="">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/application/api/controller/Forum.php" beforeDir="false" afterPath="$PROJECT_DIR$/application/api/controller/Forum.php" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -196,7 +197,7 @@
       <workItem from="1669941719663" duration="1986000" />
       <workItem from="1669952538953" duration="9708000" />
       <workItem from="1670201125142" duration="9015000" />
-      <workItem from="1670287594399" duration="7446000" />
+      <workItem from="1670287594399" duration="9626000" />
     </task>
     <servers />
   </component>

+ 8 - 1
application/api/controller/Forum.php

@@ -565,6 +565,9 @@ class Forum extends Base
      * @param name:page type:int default:-- desc:页数
      * @param name:page_num type:int default:-- desc:每页数量
      * @return name:title type:string default:-- desc:标题[问答]
+     * @return name:read_num type:int default:-- desc:问答浏览量
+     * @return name:reply_num type:int default:-- desc:问答回答数量
+     * @return name:like_num type:int default:-- desc:问答点赞量
      * @return name:content type:string default:0 desc:内容
      * @return name:name type:string default:-- desc:用户
      * @return name:headimg type:string default:-- desc:用户头像
@@ -578,12 +581,16 @@ class Forum extends Base
         if($title = input('title'))$where[] = ['r.content','like','%'.$title.'%'];
         $list = ForumReply::where($where)
             ->alias('r')
-            ->field('r.id,r.content,r.create_at,f.title,u.name ,u.headimg')
+            ->field('r.id,r.content,r.create_at,f.title,u.name ,u.headimg,f.read_num')
             ->leftJoin('user_forum f','r.forum_id = f.id')
             ->leftJoin('store_member u','r.user_id = u.id')
             ->limit($this->off_set,$this->page_num)
             ->order('r.id desc')
             ->select()->toArray();
+        array_walk($list,function (&$v){
+            $v['reply_num'] = ForumReply::where('forum_id',$v['forum_id'])->where('is_deleted',0)->count();
+            $v['like_num'] = PlatformLike::getPraiseNum($v['forum_id'],3);
+        });
         $total_num = ForumReply::where($where)->alias('r')->count();
         $this->success('ok',['list'=>$list,'total_num'=>$total_num]);
     }