wupengfei 2 years ago
parent
commit
941ceb1da4
2 changed files with 26 additions and 19 deletions
  1. 2 3
      .idea/workspace.xml
  2. 24 16
      application/api/controller/Forum.php

+ 2 - 3
.idea/workspace.xml

@@ -3,8 +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/Demand.php" beforeDir="false" afterPath="$PROJECT_DIR$/application/api/controller/Demand.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/application/api/controller/Press.php" beforeDir="false" afterPath="$PROJECT_DIR$/application/api/controller/Press.php" 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" />
@@ -216,7 +215,7 @@
       <workItem from="1673052319155" duration="16867000" />
       <workItem from="1673226266250" duration="24113000" />
       <workItem from="1673312216057" duration="9503000" />
-      <workItem from="1673399011843" duration="12072000" />
+      <workItem from="1673399011843" duration="12679000" />
     </task>
     <servers />
   </component>

+ 24 - 16
application/api/controller/Forum.php

@@ -294,6 +294,7 @@ class Forum extends Base
      * @return name:name type:string default:-- desc:会员
      * @return name:headimg type:string default:-- desc:会员头像
      * @return name:like_num type:int default:-- desc:点赞数量
+     * @return name:is_top type:int default:-- desc:是否置顶(0否1是)
      * @return name:is_like type:int default:-- desc:是否点赞(0否1是)
      * @return name:children type:array default:-- desc:评论列表【所有的都查了】
      * @return name:children.content type:string default:-- desc:评论内容
@@ -302,6 +303,7 @@ class Forum extends Base
      * @return name:children.headimg type:string default:-- desc:会员头像
      * @return name:children.like_num type:int default:-- desc:点赞数量
      * @return name:children.is_like type:int default:-- desc:是否点赞(0否1是)
+     * @return name:children.is_top type:int default:-- desc:是否置顶(0否1是)
      * @return name:children.children_num type:int default:-- desc:评论数量
      * @return name:total_num type:int default: desc:总数
      */
@@ -312,10 +314,10 @@ class Forum extends Base
         $where[] = ['r.is_deleted','=',0];
         $list = ForumReply::where($where)
             ->alias('r')
-            ->field('r.id,r.content,r.create_at,r.user_id,u.name,u.headimg')
+            ->field('r.id,r.is_top,r.content,r.create_at,r.user_id,u.name,u.headimg')
             ->leftJoin('store_member u','r.user_id = u.id')
             ->limit($this->off_set,$this->page_num)
-            ->order('r.id desc')
+            ->order('r.is_top,r.id desc')
             ->select()->toArray();
         $app_name = sysconf('app_name');
         $app_logo = sysconf('app_logo');
@@ -327,9 +329,9 @@ class Forum extends Base
             if(!$val['user_id']) $val['headimg'] = $app_logo;
             $children = ForumReplyComment::where(['c.reply_id'=>$val['id'],'c.is_deleted'=>0])
                 ->alias('c')
-                ->field('c.id,c.create_at,c.user_id,c.content,u.name,u.headimg')
+                ->field('c.id,c.is_top,c.create_at,c.user_id,c.content,u.name,u.headimg')
                 ->leftJoin('store_member u','u.id = c.user_id')
-                ->order('c.id desc')
+                ->order('c.is_top,c.id desc')
                 ->select()->toArray();
             foreach ($children as &$c) {
                 $c['like_num'] = PlatformLike::getPraiseNum($c['id'], 8);
@@ -358,6 +360,7 @@ class Forum extends Base
      * @return name:headimg type:string default:-- desc:会员头像
      * @return name:like_num type:int default:-- desc:点赞数量
      * @return name:is_like type:int default:-- desc:是否点赞(0否1是)
+     * @return name:is_top type:int default:-- desc:是否置顶(0否1是)
      * @return name:total_num type:int default: desc:总数
      */
     public function getReplyCommentList()
@@ -365,9 +368,9 @@ class Forum extends Base
         $reply_id = input('reply_id');
         $list =  ForumReplyComment::where(['c.reply_id'=>$reply_id,'c.is_deleted'=>0])
             ->alias('c')
-            ->field('c.id,c.create_at,c.pid,c.content,u.name,u.headimg')
+            ->field('c.id,c.is_top,c.create_at,c.pid,c.content,u.name,u.headimg')
             ->leftJoin('store_member u','u.id = c.user_id')
-            ->order('c.id desc')
+            ->order('c.is_top desc,c.id desc')
             ->limit($this->off_set,$this->page_num)
             ->select()->toArray();
        foreach ($list as &$c){
@@ -397,6 +400,7 @@ class Forum extends Base
      * @return name:name type:string default:-- desc:会员名称
      * @return name:headimg type:string default:-- desc:会员头像
      * @return name:content type:string default:-- desc:内容
+     * @return name:is_top type:int default:-- desc:是否置顶(0否1是)
      */
     public function forumSecondComment()
     {
@@ -413,7 +417,7 @@ class Forum extends Base
         $res = ForumReplyComment::create($comment);
         $detail  = ForumReplyComment::where('p.id',$res->id)
             ->alias('p')
-            ->field('p.id,p.content,p.create_at,u.name,u.headimg')
+            ->field('p.id,p.is_top,p.content,p.create_at,u.name,u.headimg')
             ->leftJoin('store_member u','u.id = p.user_id')
             ->find()->toArray();
         $this->success('评论成功',['detail'=>$detail]);
@@ -480,7 +484,7 @@ class Forum extends Base
         $res = ForumReplyComment::create(['user_id'=>$this->user_id,'content'=>$content,'forum_id'=>$reply_info['forum_id'],'reply_id'=>$reply_id]);
         $detail  = ForumReplyComment::where('c.id',$res->id)
             ->alias('c')
-            ->field('c.id,c.content,c.create_at,u.name,u.headimg')
+            ->field('c.id,c.is_top,c.content,c.create_at,u.name,u.headimg')
             ->leftJoin('store_member u','u.id = c.user_id')
             ->find()->toArray();
         $this->success('评论成功',['detail'=>$detail]);
@@ -624,6 +628,7 @@ class Forum extends Base
      * @return name:content type:string default:0 desc:评论内容
      * @return name:reply_content type:string default:0 desc:回复内容
      * @return name:name type:string default:-- desc:回复的用户
+     * @return name:is_top type:int default:-- desc:是否置顶(0否1是)
      * @return name:headimg type:string default:-- desc:回复的头像
      * @return name:is_normal type:int default:-- desc:是否是正常记录(0已删除或是已禁用1可以正常跳转详情)
      */
@@ -638,7 +643,7 @@ class Forum extends Base
             ->leftJoin('forum_reply r','c.reply_id = r.id')
             ->leftJoin('store_member m','m.id = r.user_id')
             ->leftJoin('user_forum f','f.id = c.forum_id')
-            ->order('c.id desc')
+            ->order('c.is_top desc,c.id desc')
             ->limit($this->off_set,$this->page_num)
             ->select()->toArray();
         array_walk($list,function (&$v){
@@ -756,6 +761,7 @@ class Forum extends Base
      * @return name:name type:string default:-- desc:评论用户
      * @return name:headimg type:string default:-- desc:评论用户头像
      * @return name:is_read type:int default:-- desc:是否已读(0未读1已读)
+     * @return name:is_top type:int default:-- desc:是否置顶(0否1是)
      * @return name:is_normal type:int default:-- desc:是否是正常记录(0已删除或是已禁用1可以正常跳转详情)
      */
     public function commentOnMyReply()
@@ -769,7 +775,7 @@ class Forum extends Base
             ->leftJoin('forum_reply r','c.reply_id = r.id')
             ->leftJoin('store_member m','m.id = c.user_id')
             ->leftJoin('user_forum f','f.id = c.forum_id')
-            ->order('c.id desc')
+            ->order('c.is_top desc,c.id desc')
             ->limit($this->off_set,$this->page_num)
             ->select()->toArray();
         array_walk($list,function (&$v){
@@ -838,6 +844,7 @@ class Forum extends Base
      * @return name:headimg type:string default:-- desc:用户头像【其他会员】
      * @return name:content type:string default:-- desc:回复内容
      * @return name:is_read type:int default:-- desc:是否已读(0未读1已读)
+     * @return name:is_top type:int default:-- desc:是否置顶(0否1是)
      * @return name:is_normal type:int default:-- desc:是否是正常记录(0已删除或是已禁用1可以正常跳转详情)
      * @return name:parent_comment type:array default:-- desc:你的评论内容
      * @return name:parent_comment.content type:string default:-- desc:内容
@@ -860,16 +867,16 @@ class Forum extends Base
         $sel_where[]  = ['t.pid','in',implode(',',$all_comment)];
         $list = ForumReplyComment::where($sel_where)
             ->alias('t')
-            ->field('t.id,t.create_at,t.is_read,t.content,t.pid,forum_id,u.name user_name,u.headimg,i.title')
+            ->field('t.id,t.is_top,t.create_at,t.is_read,t.content,t.pid,forum_id,u.name user_name,u.headimg,i.title')
             ->leftJoin('store_member u','t.user_id = u.id')
             ->leftJoin('UserForum i','t.forum_id = i.id')
-            ->order('t.id desc')
+            ->order('t.is_top desc,t.id desc')
             ->limit($this->off_set,$this->page_num)
             ->select()->toArray();
         foreach ($list as &$v) {
             $v['is_normal'] = CheckPower::checkModulesPower($v['forum_id'],0,$this->request->controller());
             $parent_comment = ForumReplyComment::where([['t.id','=',$v['pid']]])
-                ->field('t.id,t.forum_id,t.create_at,t.content,i.title,t.pid,u.name,u.headimg')
+                ->field('t.id,t.is_top,t.forum_id,t.create_at,t.content,i.title,t.pid,u.name,u.headimg')
                 ->alias('t')
                 ->leftJoin('UserForum i','t.forum_id = i.id')
                 ->leftJoin('store_member u','t.user_id = u.id')
@@ -897,6 +904,7 @@ class Forum extends Base
      * @return name:user_name type:string default:-- desc:用户名【用户自己的】
      * @return name:headimg type:string default:-- desc:用户头像【用户自己的】
      * @return name:content type:string default:-- desc:回复内容
+     * @return name:is_top type:int default:-- desc:是否置顶(0否1是)
      * @return name:is_normal type:int default:-- desc:是否是正常记录(0已删除或是已禁用1可以正常跳转详情)
      * @return name:parent_comment type:array default:-- desc:上级评论内容【你回复的那个】
      * @return name:parent_comment.content type:string default:-- desc:内容
@@ -916,9 +924,9 @@ class Forum extends Base
         $sel_where[]  = ['t.lev','>=',2];
         $list = ForumReplyComment::where($sel_where)
             ->alias('t')
-            ->field('t.id,t.create_at,t.content,t.pid,forum_id,i.title')
+            ->field('t.id,t.is_top,t.create_at,t.content,t.pid,forum_id,i.title')
             ->leftJoin('UserForum i','t.forum_id = i.id')
-            ->order('t.id desc')
+            ->order('t.is_top desc , t.id desc')
             ->limit($this->off_set,$this->page_num)
             ->select()->toArray();
         foreach ($list as &$v) {
@@ -926,7 +934,7 @@ class Forum extends Base
             $v['headimg'] = $user_info['headimg'];
             $v['is_normal'] = CheckPower::checkModulesPower($v['forum_id'],0,$this->request->controller());
             $parent_comment = ForumReplyComment::where([['t.id','=',$v['pid']]])
-                ->field('t.id,t.create_at,t.content,t.pid,forum_id,u.name,u.headimg,i.title')
+                ->field('t.id,t.is_top,t.create_at,t.content,t.pid,forum_id,u.name,u.headimg,i.title')
                 ->alias('t')
                 ->leftJoin('UserForum i','t.forum_id = i.id')
                 ->leftJoin('store_member u','t.user_id = u.id')