|  | @@ -19,7 +19,7 @@ class Topicdongtai extends Api
 | 
	
		
			
				|  |  |      public function addone(){
 | 
	
		
			
				|  |  |          $content = input('content','');
 | 
	
		
			
				|  |  |          $images = input('images','');
 | 
	
		
			
				|  |  | -        $topic_id = input('topic_id','');
 | 
	
		
			
				|  |  | +        $topic_ids = input('topic_ids','');
 | 
	
		
			
				|  |  |          if(!$content && !$images){
 | 
	
		
			
				|  |  |              $this->error(__('Invalid parameters'));
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -28,7 +28,7 @@ class Topicdongtai extends Api
 | 
	
		
			
				|  |  |          $content = Keyworld::sensitive($content);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          $data = [
 | 
	
		
			
				|  |  | -            'topic_id' => $topic_id,
 | 
	
		
			
				|  |  | +            'topic_ids' => $topic_ids,
 | 
	
		
			
				|  |  |              'user_id' => $this->auth->id,
 | 
	
		
			
				|  |  |              'content' => $content,
 | 
	
		
			
				|  |  |              'images' => $images,
 | 
	
	
		
			
				|  | @@ -58,34 +58,37 @@ class Topicdongtai extends Api
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          $list = Db::name('topic_dongtai')->alias('dt')
 | 
	
		
			
				|  |  |              ->join('user','dt.user_id = user.id','LEFT')
 | 
	
		
			
				|  |  | -            ->join('topic_hub topic','dt.topic_id = topic.id','LEFT')
 | 
	
		
			
				|  |  | -            ->field('dt.*,user.nickname,user.avatar,user.gender,topic.name as topic_name')
 | 
	
		
			
				|  |  | +            ->join('user_wallet uw','user.id = uw.user_id','LEFT')
 | 
	
		
			
				|  |  | +            ->field('dt.*,user.nickname,user.avatar,user.gender,user.birthday,user.attribute,uw.vip_endtime')
 | 
	
		
			
				|  |  |              ->where('dt.user_id',$uid)
 | 
	
		
			
				|  |  |              ->order('dt.id desc')->autopage()->select();
 | 
	
		
			
				|  |  | -        $list = list_domain_image($list,['images','avatar']);
 | 
	
		
			
				|  |  | +        $list = list_domain_image($list,['images','audio_file','avatar']);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if(!empty($list)){
 | 
	
		
			
				|  |  |              foreach($list as $key => &$val){
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +                //用户年龄
 | 
	
		
			
				|  |  | +                $val['age'] = birthtime_to_age($val['birthday']);
 | 
	
		
			
				|  |  | +                unset($val['birthday']);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                //用户vip
 | 
	
		
			
				|  |  | +                $val['is_vip'] = $val['vip_endtime'] > time() ? 1 : 0;
 | 
	
		
			
				|  |  | +                unset($val['vip_endtime']);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |                  //追加点赞
 | 
	
		
			
				|  |  |                  $val['isgood'] = $this->is_good($val['id'],$this->auth->id);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                //创建视频缩略图
 | 
	
		
			
				|  |  | -                $val['images_thumb'] = '';
 | 
	
		
			
				|  |  | -                if ($val['type'] == 2) {
 | 
	
		
			
				|  |  | -                    $images_url = explode('.', $val['images']);
 | 
	
		
			
				|  |  | -                    unset($images_url[count($images_url) - 1]);
 | 
	
		
			
				|  |  | -                    $val['images_thumb'] = join('.', $images_url) . '_0.jpg';
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |                  //时间
 | 
	
		
			
				|  |  |                  $val['createtime_text'] = get_last_time($val['createtime']);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  //关注
 | 
	
		
			
				|  |  |                  $val['is_follow'] = $this->is_follow($val['user_id'],$this->auth->id);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                //评论
 | 
	
		
			
				|  |  | +                //层主评论数量
 | 
	
		
			
				|  |  |                  $val['answernumber'] = Db::name('topic_dongtai_answer')->where(['dt_id'=>$val['id'],'level'=>1])->count();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                //话题
 | 
	
		
			
				|  |  | +                $val['topic_text'] = Db::name('topic_hub')->where('id','IN',$val['topic_ids'])->column('name');
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -94,105 +97,145 @@ class Topicdongtai extends Api
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      //动态删除
 | 
	
		
			
				|  |  |      public function delete(){
 | 
	
		
			
				|  |  | -        try {
 | 
	
		
			
				|  |  | -            $id = input('id',0);
 | 
	
		
			
				|  |  | -            $where['id'] = $id;
 | 
	
		
			
				|  |  | -            $where['user_id'] = $this->auth->id;
 | 
	
		
			
				|  |  | -            $dongtai = Db::name('topic_dongtai')->field('id,topic_id')->where($where)->find();
 | 
	
		
			
				|  |  | -            if (empty($dongtai)) {
 | 
	
		
			
				|  |  | -                throw new Exception('未找到动态信息');
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            $delRes = Db::name('topic_dongtai')->where('id',$id)->where('user_id',$this->auth->id)->delete();
 | 
	
		
			
				|  |  | -            if (!$delRes) {
 | 
	
		
			
				|  |  | -                throw new Exception('动态删除失败');
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            //圈子新增一个贴
 | 
	
		
			
				|  |  | -            if (!empty($dongtai['topic_id'])) {
 | 
	
		
			
				|  |  | -                $res = Db::name('topic_hub')->where('id',$dongtai['topic_id'])->setDec('t_number');
 | 
	
		
			
				|  |  | -                if (!$res) {
 | 
	
		
			
				|  |  | -                    throw new Exception('更新话题数量失败');
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        $id = input('id',0);
 | 
	
		
			
				|  |  | +        $where['id'] = $id;
 | 
	
		
			
				|  |  | +        $where['user_id'] = $this->auth->id;
 | 
	
		
			
				|  |  | +        $dongtai = Db::name('topic_dongtai')->field('id,topic_ids')->where($where)->find();
 | 
	
		
			
				|  |  | +        if (empty($dongtai)) {
 | 
	
		
			
				|  |  | +            $this->error('未找到动态信息');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        Db::startTrans();
 | 
	
		
			
				|  |  | +        $delRes = Db::name('topic_dongtai')->where('id',$id)->where('user_id',$this->auth->id)->delete();
 | 
	
		
			
				|  |  | +        if (!$delRes) {
 | 
	
		
			
				|  |  | +            Db::rollback();
 | 
	
		
			
				|  |  | +            $this->error('动态删除失败');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        //话题少一个贴
 | 
	
		
			
				|  |  | +        if (!empty($dongtai['topic_ids'])) {
 | 
	
		
			
				|  |  | +            $res = Db::name('topic_hub')->where('id','IN',$dongtai['topic_ids'])->setDec('t_number');
 | 
	
		
			
				|  |  | +            if (!$res) {
 | 
	
		
			
				|  |  | +                Db::rollback();
 | 
	
		
			
				|  |  | +                $this->error('更新话题数量失败');
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            $this->success('删除成功');
 | 
	
		
			
				|  |  | -        } catch (Exception $e) {
 | 
	
		
			
				|  |  | -            $this->error($e->getMessage());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        //删除对应的评论,点赞,评论点赞
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        Db::commit();
 | 
	
		
			
				|  |  | +        $this->success('删除成功');
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    //是否点赞
 | 
	
		
			
				|  |  | -    private function is_good($dt_id,$uid){
 | 
	
		
			
				|  |  | -        $where = [
 | 
	
		
			
				|  |  | -            'dt_id' => $dt_id,
 | 
	
		
			
				|  |  | -            'user_id'  => $uid,
 | 
	
		
			
				|  |  | -        ];
 | 
	
		
			
				|  |  | -        $check = Db::name('topic_dongtai_good')->where($where)->find();
 | 
	
		
			
				|  |  | -        if($check){
 | 
	
		
			
				|  |  | -            return 1;
 | 
	
		
			
				|  |  | -        }else{
 | 
	
		
			
				|  |  | -            return 0;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    //某个圈子里的动态列表,关注,最新,附近
 | 
	
		
			
				|  |  | +    public function topic_list(){
 | 
	
		
			
				|  |  | +        $where = [];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //话题
 | 
	
		
			
				|  |  | +        $topic_id = input('topic_id',0);
 | 
	
		
			
				|  |  | +        $where_exp = [];
 | 
	
		
			
				|  |  | +        if($topic_id){
 | 
	
		
			
				|  |  | +//            $where['dt.topic_id'] = $topic_id;
 | 
	
		
			
				|  |  | +            $where_exp[] = ['exp',Db::raw("FIND_IN_SET('".$topic_id."',dt.topic_ids)")];
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    //回复是否点赞
 | 
	
		
			
				|  |  | -    private function answer_is_good($answer_id,$uid){
 | 
	
		
			
				|  |  | -        $where = [
 | 
	
		
			
				|  |  | -            'answer_id' => $answer_id,
 | 
	
		
			
				|  |  | -            'user_id'  => $uid,
 | 
	
		
			
				|  |  | -        ];
 | 
	
		
			
				|  |  | -        $check = Db::name('topic_answer_good')->where($where)->find();
 | 
	
		
			
				|  |  | -        if($check){
 | 
	
		
			
				|  |  | -            return 1;
 | 
	
		
			
				|  |  | -        }else{
 | 
	
		
			
				|  |  | -            return 0;
 | 
	
		
			
				|  |  | +        //最新
 | 
	
		
			
				|  |  | +        $order = input('orderby','new');
 | 
	
		
			
				|  |  | +        $orderby  = 'dt.id desc';
 | 
	
		
			
				|  |  | +        //关注
 | 
	
		
			
				|  |  | +        if($order == 'follow'){
 | 
	
		
			
				|  |  | +            $follow_user_ids = Db::name('user_follow')->where(['uid'=>$this->auth->id])->column('follow_uid');
 | 
	
		
			
				|  |  | +            $where['dt.user_id'] = ['IN',$follow_user_ids];
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        //附近,同城
 | 
	
		
			
				|  |  | +        if($order == 'near'){
 | 
	
		
			
				|  |  | +            $where['dt.cityname'] = $this->auth->cityname;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    //是否关注
 | 
	
		
			
				|  |  | -    private function is_follow($user_id,$fans_id){
 | 
	
		
			
				|  |  | -        $where = [
 | 
	
		
			
				|  |  | -            'user_id' => $user_id,
 | 
	
		
			
				|  |  | -            'fans_id' => $fans_id,
 | 
	
		
			
				|  |  | -        ];
 | 
	
		
			
				|  |  | -        $check = Db::name('user_fans_follow')->where($where)->find();
 | 
	
		
			
				|  |  | -        if($check){
 | 
	
		
			
				|  |  | -            return 1;
 | 
	
		
			
				|  |  | -        }else{
 | 
	
		
			
				|  |  | -            return 0;
 | 
	
		
			
				|  |  | +        //排除黑名单的
 | 
	
		
			
				|  |  | +        $where2 = [];
 | 
	
		
			
				|  |  | +        $black_ids = Db::name('user_black')->where(['uid'=>$this->auth->id])->column('black_uid');
 | 
	
		
			
				|  |  | +        if(!empty($black_ids)){
 | 
	
		
			
				|  |  | +            $where2['dt.user_id'] = ['NOTIN',$black_ids];
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        //列表
 | 
	
		
			
				|  |  | +        $list = Db::name('topic_dongtai')->alias('dt')
 | 
	
		
			
				|  |  | +            ->join('user','dt.user_id = user.id','LEFT')
 | 
	
		
			
				|  |  | +            ->join('user_wallet uw','user.id = uw.user_id','LEFT')
 | 
	
		
			
				|  |  | +            ->field('dt.*,user.nickname,user.avatar,user.gender,user.birthday,user.attribute,uw.vip_endtime')
 | 
	
		
			
				|  |  | +            ->where($where)
 | 
	
		
			
				|  |  | +            ->where($where2)
 | 
	
		
			
				|  |  | +            ->where($where_exp)
 | 
	
		
			
				|  |  | +            ->order($orderby)->autopage()->select();
 | 
	
		
			
				|  |  | +        $list = list_domain_image($list,['images','audio_file','avatar']);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if(!empty($list)){
 | 
	
		
			
				|  |  | +            foreach($list as $key => &$val){
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                //用户年龄
 | 
	
		
			
				|  |  | +                $val['age'] = birthtime_to_age($val['birthday']);
 | 
	
		
			
				|  |  | +                unset($val['birthday']);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                //用户vip
 | 
	
		
			
				|  |  | +                $val['is_vip'] = $val['vip_endtime'] > time() ? 1 : 0;
 | 
	
		
			
				|  |  | +                unset($val['vip_endtime']);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                //追加点赞
 | 
	
		
			
				|  |  | +                $val['isgood'] = $this->is_good($val['id'],$this->auth->id);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                //时间
 | 
	
		
			
				|  |  | +                $val['createtime_text'] = get_last_time($val['createtime']);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                //关注
 | 
	
		
			
				|  |  | +                $val['is_follow'] = $this->is_follow($val['user_id'],$this->auth->id);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                //层主评论数量
 | 
	
		
			
				|  |  | +                $val['answernumber'] = Db::name('topic_dongtai_answer')->where(['dt_id'=>$val['id'],'level'=>1])->count();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                //话题
 | 
	
		
			
				|  |  | +                $val['topic_text'] = Db::name('topic_hub')->where('id','IN',$val['topic_ids'])->column('name');
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        $this->success('success',$list);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |      //详情
 | 
	
		
			
				|  |  |      public function info(){
 | 
	
		
			
				|  |  |          $id = input('id');
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          $info = Db::name('topic_dongtai')->alias('dt')
 | 
	
		
			
				|  |  |              ->join('user','dt.user_id = user.id','LEFT')
 | 
	
		
			
				|  |  | -            ->join('topic_hub topic','dt.topic_id = topic.id','LEFT')
 | 
	
		
			
				|  |  | -            ->field('dt.*,user.nickname,user.avatar,user.gender,topic.name as topic_name')
 | 
	
		
			
				|  |  | +            ->join('user_wallet uw','user.id = uw.user_id','LEFT')
 | 
	
		
			
				|  |  | +            ->field('dt.*,user.nickname,user.avatar,user.gender,user.birthday,user.attribute,uw.vip_endtime')
 | 
	
		
			
				|  |  |              ->where('dt.id',$id)->find();
 | 
	
		
			
				|  |  | -        $info = info_domain_image($info,['images','avatar']);
 | 
	
		
			
				|  |  | +        $info = info_domain_image($info,['images','audio_file','avatar']);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if($info){
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //用户年龄
 | 
	
		
			
				|  |  | +            $info['age'] = birthtime_to_age($info['birthday']);
 | 
	
		
			
				|  |  | +            unset($info['birthday']);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //用户vip
 | 
	
		
			
				|  |  | +            $info['is_vip'] = $info['vip_endtime'] > time() ? 1 : 0;
 | 
	
		
			
				|  |  | +            unset($info['vip_endtime']);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              //是否点赞过
 | 
	
		
			
				|  |  |              $info['isgood'] = $this->is_good($id,$this->auth->id);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //创建视频缩略图
 | 
	
		
			
				|  |  | -            $info['images_thumb'] = '';
 | 
	
		
			
				|  |  | -            if ($info['type'] == 2) {
 | 
	
		
			
				|  |  | -                $images_url = explode('.', $info['images']);
 | 
	
		
			
				|  |  | -                unset($images_url[count($images_url) - 1]);
 | 
	
		
			
				|  |  | -                $info['images_thumb'] = join('.', $images_url) . '_0.jpg';
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |              //时间
 | 
	
		
			
				|  |  |              $info['createtime_text'] = get_last_time($info['createtime']);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              //关注
 | 
	
		
			
				|  |  |              $info['is_follow'] = $this->is_follow($info['user_id'],$this->auth->id);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //评论
 | 
	
		
			
				|  |  | +            //层主评论数量
 | 
	
		
			
				|  |  |              $info['answernumber'] = Db::name('topic_dongtai_answer')->where(['dt_id'=>$id,'level'=>1])->count();
 | 
	
		
			
				|  |  | -            //$info['answer'] = $this->answer_list($id);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //话题
 | 
	
		
			
				|  |  | +            $info['topic_text'] = Db::name('topic_hub')->where('id','IN',$info['topic_ids'])->column('name');
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          $this->success('success',$info);
 | 
	
	
		
			
				|  | @@ -215,15 +258,21 @@ class Topicdongtai extends Api
 | 
	
		
			
				|  |  |          Db::startTrans();
 | 
	
		
			
				|  |  |          $where['createtime'] = time();
 | 
	
		
			
				|  |  |          $rs = Db::name('topic_dongtai_good')->insertGetId($where);
 | 
	
		
			
				|  |  | -        $up = Db::name('topic_dongtai')->where('id',$id)->setInc('goodnum');
 | 
	
		
			
				|  |  | +        if(!$rs){
 | 
	
		
			
				|  |  | +            Db::rollback();
 | 
	
		
			
				|  |  | +            $this->error('点赞失败');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if($rs && $up !== false){
 | 
	
		
			
				|  |  | -            \app\common\model\TaskLog::tofinish($this->auth->id,"VpXtablCsZ",1);
 | 
	
		
			
				|  |  | -            Db::commit();
 | 
	
		
			
				|  |  | -            $this->success('点赞成功');
 | 
	
		
			
				|  |  | +        $up = Db::name('topic_dongtai')->where('id',$id)->setInc('goodnum');
 | 
	
		
			
				|  |  | +        if($up === false){
 | 
	
		
			
				|  |  | +            Db::rollback();
 | 
	
		
			
				|  |  | +            $this->error('点赞失败');
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        Db::rollback();
 | 
	
		
			
				|  |  | -        $this->error('点赞失败');
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +//        \app\common\model\TaskLog::tofinish($this->auth->id,"VpXtablCsZ",1);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        Db::commit();
 | 
	
		
			
				|  |  | +        $this->success('点赞成功');
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      //评论
 | 
	
	
		
			
				|  | @@ -328,7 +377,7 @@ class Topicdongtai extends Api
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      //举报
 | 
	
		
			
				|  |  | -    /*public function report(){
 | 
	
		
			
				|  |  | +    public function report(){
 | 
	
		
			
				|  |  |          $field = ['dt_id','type','content','images'];
 | 
	
		
			
				|  |  |          $data = request_post_hub($field);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -340,10 +389,10 @@ class Topicdongtai extends Api
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Db::name('topic_dongtai_report')->insertGetId($data);
 | 
	
		
			
				|  |  |          $this->success('举报成功');
 | 
	
		
			
				|  |  | -    }*/
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      //不感兴趣,屏蔽某条
 | 
	
		
			
				|  |  | -    public function screen(){
 | 
	
		
			
				|  |  | +    /*public function screen(){
 | 
	
		
			
				|  |  |          $data = [
 | 
	
		
			
				|  |  |              'user_id' => $this->auth->id,
 | 
	
		
			
				|  |  |              'dt_id'   => input('dt_id',0),
 | 
	
	
		
			
				|  | @@ -356,7 +405,7 @@ class Topicdongtai extends Api
 | 
	
		
			
				|  |  |          Db::name('topic_dongtai_screen')->insertGetId($data);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          $this->success('操作成功');
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +    }*/
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      //评论列表
 | 
	
		
			
				|  |  |      public function answer_list(){
 | 
	
	
		
			
				|  | @@ -440,77 +489,7 @@ class Topicdongtai extends Api
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    //某个圈子里的动态列表,最新,推荐
 | 
	
		
			
				|  |  | -    public function topic_list(){
 | 
	
		
			
				|  |  | -        $topic_id = input('topic_id',0);
 | 
	
		
			
				|  |  | -        $order = input('orderby','new');
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        $orderby  = 'dt.id desc';
 | 
	
		
			
				|  |  | -        if($order == 'hot'){
 | 
	
		
			
				|  |  | -            $orderby = 'dt.goodnum desc';
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        $where = [];
 | 
	
		
			
				|  |  | -        if($topic_id){
 | 
	
		
			
				|  |  | -            $where['dt.topic_id'] = $topic_id;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        if($order == 'follow'){
 | 
	
		
			
				|  |  | -            $follow_user_ids = Db::name('user_fans_follow')->where(['fans_id'=>$this->auth->id])->column('user_id');
 | 
	
		
			
				|  |  | -            $where['dt.user_id'] = ['IN',$follow_user_ids];
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        //排除屏蔽的
 | 
	
		
			
				|  |  | -        $screen_ids = Db::name('topic_dongtai_screen')->where('user_id',$this->auth->id)->column('dt_id');
 | 
	
		
			
				|  |  | -        if(!empty($screen_ids)){
 | 
	
		
			
				|  |  | -            $where['dt.id'] = ['NOTIN',$screen_ids];
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        //排除黑名单的
 | 
	
		
			
				|  |  | -        $where2 = [];
 | 
	
		
			
				|  |  | -        $black_ids = Db::name('user_blacklist')->where('user_id',$this->auth->id)->column('black_user_id');
 | 
	
		
			
				|  |  | -        if(!empty($black_ids)){
 | 
	
		
			
				|  |  | -            $where2['dt.user_id'] = ['NOTIN',$black_ids];
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        //
 | 
	
		
			
				|  |  | -        $list = Db::name('topic_dongtai')->alias('dt')
 | 
	
		
			
				|  |  | -            ->join('user','dt.user_id = user.id','LEFT')
 | 
	
		
			
				|  |  | -            ->join('topic_hub topic','dt.topic_id = topic.id','LEFT')
 | 
	
		
			
				|  |  | -            ->field('dt.*,user.nickname,user.avatar,user.gender,topic.name as topic_name')
 | 
	
		
			
				|  |  | -            ->where($where)
 | 
	
		
			
				|  |  | -            ->where($where2)
 | 
	
		
			
				|  |  | -            ->order($orderby)->autopage()->select();
 | 
	
		
			
				|  |  | -        $list = list_domain_image($list,['images','avatar']);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        if(!empty($list)){
 | 
	
		
			
				|  |  | -            foreach($list as $key => &$val){
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                //追加点赞
 | 
	
		
			
				|  |  | -                $val['isgood'] = $this->is_good($val['id'],$this->auth->id);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                //创建视频缩略图
 | 
	
		
			
				|  |  | -                $val['images_thumb'] = '';
 | 
	
		
			
				|  |  | -                if ($val['type'] == 2) {
 | 
	
		
			
				|  |  | -                    $images_url = explode('.', $val['images']);
 | 
	
		
			
				|  |  | -                    unset($images_url[count($images_url) - 1]);
 | 
	
		
			
				|  |  | -                    $val['images_thumb'] = join('.', $images_url) . '_0.jpg';
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                //时间
 | 
	
		
			
				|  |  | -                $val['createtime_text'] = get_last_time($val['createtime']);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                //关注
 | 
	
		
			
				|  |  | -                $val['is_follow'] = $this->is_follow($val['user_id'],$this->auth->id);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                //评论
 | 
	
		
			
				|  |  | -                $val['answernumber'] = Db::name('topic_dongtai_answer')->where(['dt_id'=>$val['id'],'level'=>1])->count();
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        $this->success('success',$list);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      ////////////////////////////////////////////////////////////
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -560,5 +539,45 @@ class Topicdongtai extends Api
 | 
	
		
			
				|  |  |          $this->success(1,$list);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    //是否点赞
 | 
	
		
			
				|  |  | +    private function is_good($dt_id,$uid){
 | 
	
		
			
				|  |  | +        $where = [
 | 
	
		
			
				|  |  | +            'dt_id' => $dt_id,
 | 
	
		
			
				|  |  | +            'user_id'  => $uid,
 | 
	
		
			
				|  |  | +        ];
 | 
	
		
			
				|  |  | +        $check = Db::name('topic_dongtai_good')->where($where)->find();
 | 
	
		
			
				|  |  | +        if($check){
 | 
	
		
			
				|  |  | +            return 1;
 | 
	
		
			
				|  |  | +        }else{
 | 
	
		
			
				|  |  | +            return 0;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    //回复是否点赞
 | 
	
		
			
				|  |  | +    private function answer_is_good($answer_id,$uid){
 | 
	
		
			
				|  |  | +        $where = [
 | 
	
		
			
				|  |  | +            'answer_id' => $answer_id,
 | 
	
		
			
				|  |  | +            'user_id'  => $uid,
 | 
	
		
			
				|  |  | +        ];
 | 
	
		
			
				|  |  | +        $check = Db::name('topic_answer_good')->where($where)->find();
 | 
	
		
			
				|  |  | +        if($check){
 | 
	
		
			
				|  |  | +            return 1;
 | 
	
		
			
				|  |  | +        }else{
 | 
	
		
			
				|  |  | +            return 0;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    //是否关注
 | 
	
		
			
				|  |  | +    private function is_follow($uid,$follow_uid){
 | 
	
		
			
				|  |  | +        $where = [
 | 
	
		
			
				|  |  | +            'uid' => $uid,
 | 
	
		
			
				|  |  | +            'follow_uid' => $follow_uid,
 | 
	
		
			
				|  |  | +        ];
 | 
	
		
			
				|  |  | +        $check = Db::name('user_follow')->where($where)->find();
 | 
	
		
			
				|  |  | +        if($check){
 | 
	
		
			
				|  |  | +            return 1;
 | 
	
		
			
				|  |  | +        }else{
 | 
	
		
			
				|  |  | +            return 0;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  }
 |