chuweiqiang 11 달 전
부모
커밋
d0a7d9eb5c
2개의 변경된 파일19개의 추가작업 그리고 6개의 파일을 삭제
  1. 1 1
      .idea/workspace.xml
  2. 18 5
      application/api/controller/Article.php

+ 1 - 1
.idea/workspace.xml

@@ -595,7 +595,7 @@
       <workItem from="1713916802858" duration="19129000" />
       <workItem from="1714004926744" duration="26309000" />
       <workItem from="1714091498498" duration="11116000" />
-      <workItem from="1714109915098" duration="6502000" />
+      <workItem from="1714109915098" duration="6525000" />
     </task>
     <servers />
   </component>

+ 18 - 5
application/api/controller/Article.php

@@ -386,15 +386,28 @@ class Article extends Base
         $sel_where[]  = ['id','=',input('get.id')];
         $sort_type = input('get.sort_type',1);
         $is_release = UserLearn::checkRelease($this->user_id,3,input('get.id'));
-        $detail = ArticleIntro::where($sel_where)->find()->toArray();
-//        $detail['item_list'] = $detail['item_list3'];
-//        unset($detail['item_list3']);
+        $detail = ArticleIntro::where($sel_where)->with(['itemList3'=>function($query)use($sort_type,$is_release){
+            switch ($sort_type) {
+                case 1:
+                    $order =  ['sort'=>'desc','id'=>'asc'];
+                    break;
+                case 2:
+                    $order =  ['id'=>'asc','sort'=>'desc'];
+                    break;
+                case 3:
+                    $order =  ['id'=>'desc','sort'=>'desc'];
+                    break;
+            }
+            return  $is_release ? $query->field('id,article_id,create_at,is_vip,read_num,title,sort,user_id,status,release_time')->force('item')->order($order) : $query->field('id,article_id,create_at,is_vip,read_num,title,sort,user_id,status,release_time')->force('item')->where('status',1)->order($order);
+        }])->find()->toArray();
+        $detail['item_list'] = $detail['item_list3'];
+        unset($detail['item_list3']);
         $detail['is_release'] = $is_release;
         if($is_release && $detail['is_deleted'] )$this->error('该图文已下线');
         if(!$detail['is_release'] && ($detail['is_deleted'] == 1 || $detail['status'] == 0))$this->error('该图文已下线');
         if(in_array($this->source_type,[1])) $detail['content'] = openssl_encrypt($detail['content'],'DES-ECB',123456,0);
-//        $detail['read_num']  = array_sum(array_column($detail['item_list'],'read_num'));
-//        $detail['read_num'] = numTransform($detail['read_num']);
+        $detail['read_num']  = array_sum(array_column($detail['item_list'],'read_num'));
+        $detail['read_num'] = numTransform($detail['read_num']);
         $detail['follow_switch'] =  PlatformSwitch::checkSwitch($this->user_id,$detail['id'],3);
         $recently_id = UserTrack::getRecentlyTrack($this->user_id,3,$detail['id']);
         $level_id = UserLevelRank::getUserVip($this->user_id);