post(); $data['org_id'] = cur_org_id(); $result = validate('News')->check($data,[],''); if(true !== $result){ $this->error = validate('News')->getError(); return false; } $data['img'] = implode(',',$data['img']); $id = $data['id']; unset($data['id']); if($id > 0){ $data['update_time'] = date('Y-m-d H:i:s'); $ret = $this->allowField(true)->save($data,['id'=>$id]); }else{ $data['create_time'] = date('Y-m-d H:i:s'); $ret = $this->allowField(true)->save($data); } if(!$ret){ $this->error = '操作失败'; return false; } return true; } //app接口 public function getLists($cateId,$orgId){ $map[] = ['cate_id','=',$cateId]; $map[] = ['org_id','=',$orgId]; $map[] = ['enable','=',1]; $map[] = ['del','=',0]; $ret = $this->field('id,title,img,create_time,views')->where($map)->order(['id'=>'desc','sort'=>'desc'])->select(); $ret = $ret?$ret->toArray():[]; foreach ($ret as $k=>$v){ $ret[$k]['url'] = (string) url('/h5/index/newDetail',['id'=>$v['id']],true,true); } return $ret; } public function details($id){ $info = $this->where('id',$id)->find()->toArray(); $data = [ 'views'=>$info['views'] + 1, ]; $this->where('id',$id)->update($data); return $info; } //api文章列表 public function apiNewList($page,$size,$cateId,$userId,$orgId){ $ret= Db::name('news') ->field('id,title,user_id,content,img as imgs,create_time,views,source') ->where([ 'enable'=>1, 'del'=>0, 'cate_id'=>$cateId, 'org_id'=>$orgId ]) ->order('id','DESC') ->page($page,$size) ->select(); $token=Db::name('token')->field('token') ->where('user_id',$userId) ->find(); foreach ($ret as $k=>$v){ $imgsArr=$v['imgs']?explode(',',$v['imgs']):[]; if($imgsArr){ $arrImg=[]; foreach ($imgsArr as $kk=>$vv){ $arrImg[]=$vv; } $ret[$k]['imgs']=$arrImg; }else{ $ret[$k]['imgs']=[]; } $ret[$k]['url']='http://'.$_SERVER['SERVER_NAME'].'/h5/News/newDetails?token='.$token['token'].'&newsid='.$v['id']; $ret[$k]['shareurl']='http://'.$_SERVER['SERVER_NAME'].'/h5/News/newDetails?newsid='.$v['id']; } foreach ($ret as $k=>$v){ $comment_num=Db::name('news_reply')->where([ 'news_id'=>$v['id'], 'news_reply_id'=>0, 'del'=>0, 'enable'=>1 ])->count(); $ret[$k]['comment_num']=$comment_num?$comment_num:0; } return $ret?$ret:[]; } public function apiSearchs($page,$size,$title,$userId,$orgId){ if($title!==''){ $ret=Db::name('news') ->field('id,title,user_id,content,img as imgs,create_time,views,source') ->where('title','like', '%' . $title . '%') ->where('org_id',$orgId) ->where('del',0) ->where('enable',1) ->order('id','desc') ->page($page,$size) ->select(); $token=Db::name('token')->field('token') ->where('user_id',$userId)->find(); foreach ($ret as $k=>$v){ $imgsArr=$v['imgs']?explode(',',$v['imgs']):[]; if($imgsArr){ $arrImg=[]; foreach ($imgsArr as $kk=>$vv){ $arrImg[]=$vv; } $ret[$k]['imgs']=$arrImg; }else{ $ret[$k]['imgs']=[]; } $ret[$k]['url']='http://'.$_SERVER['SERVER_NAME'].'/h5/News/newDetails?token='.$token['token'].'&newsid='.$v['id']; $ret[$k]['shareurl']='http://'.$_SERVER['SERVER_NAME'].'/h5/News/newDetails?newsid='.$v['id']; } foreach ($ret as $k=>$v){ $comment_num=Db::name('news_reply') ->where([ 'news_id'=>$v['id'], 'news_reply_id'=>0, 'del'=>0, 'enable'=>1, ])->count(); $ret[$k]['comment_num']=$comment_num?$comment_num:0; } }else{ $ret=[]; } return $ret; } }