123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671 |
- <?php
- /**
- * Created by PhpStorm.
- * User: xiaofeng
- * Date: 2018/3/13
- * Time: 上午8:46
- * 资讯,奇葩说
- **/
- namespace backend\controllers;
- use backend\base\CommonController;
- use backend\base\Help;
- use backend\server\NewsInformation;
- use backend\server\UploadFile;
- use common\models\House;
- use common\models\HouseNews;
- use common\models\News;
- use common\models\NewsWeirdo;
- use backend\server\SetUploadImg;
- use Yii;
- class NewsController extends CommonController
- {
- /*
- * 资讯显示页面
- * **/
- public function actionIndex()
- {
- $model = new \common\models\CategoryNews();
- $list = $model->getList([],['id','news_name']);
- // $city = new \common\models\CategoryCity();
- // $city->pid = 0;
- // $cityList = $city->getList([],['city_name','id']);
- $city = new \common\models\CategoryCity();
- // $city->
- // $city->pid = 0;
- $cityList = $city->Sonlist();
- return $this->render('index',['category'=>$list,'city'=>$cityList]);
- }
- /*
- * 获取资讯信息
- * **/
- public function actionNewsform()
- {
- $model = new NewsInformation();
- $result = $model->NewsList();
- if($result != false)
- {
- return Help::JsonData(0,'成功',$result['count'],$result['data']);
- }
- return Help::JsonCode(0,'暂无数据');
- }
- /*
- * 添加资讯页面
- * **/
- public function actionAdd()
- {
- $city = new \common\models\CategoryCity();
- $cityList = $city->Sonlist();
- $news = new \common\models\CategoryNews();
- $newsList = $news->getList([],['id','news_name']);
- $houseModel = new \common\models\House();
- $house = $houseModel->AddNewsHouse();
- return $this->render('add',['city'=>$cityList,'news'=>$newsList,'house'=>$house]);
- }
- /*
- * 添加资讯数据
- * **/
- public function actionAddform()
- {
- $input = Yii::$app->request->post();
- $url = Yii::$app->params['img_url']['news'];
- $addImg = [];
- try{
- $arrImg = \backend\server\UploadFile::InstancesImgName_v1('img',$url); //[0] => 3dc12b64b0efc4bdafa543e65c8a9ec2.jpg
- if(is_array($arrImg))
- {
- $input['thumb'] = json_encode($arrImg);
- }
- $model = new News();
- $model->scenario = 'add';
- $model->load($input,'');
- if($model->save())
- {
- //处理水印
- if($input['thumb_watermark'] == 1 )
- {
- $ImgSet = new SetUploadImg();
- $ImgSet->SetImgWatermark($input['thumb'],$url);
- }
- $UserNews = new \common\models\UserNews();
- $UserNews->uid = Yii::$app->session['user_info']['uid'];
- $UserNews->nid = $model->attributes['id'];
- $UserNews->create_at = $_SERVER['REQUEST_TIME'];
- $UserNews->insert();
- //将资讯关联到楼盘动态
- if (!empty($input['hid'])) {
- $Nmodel = new HouseNews();
- $Nmodel->hid = $input['hid'];
- $Nmodel->nid = $model->attributes['id'];
- $Nmodel->uid = Yii::$app->session['user_info']['uid'];
- $Nmodel->create_at = $_SERVER['REQUEST_TIME'];
- $Nmodel->insert();
- }
- return Help::JsonCode(Help::SUCCESS,'资讯添加成功');
- }
- return Help::JsonCode(Help::ERROR,'资讯添加失败',$model->errors);
- }catch (\Exception $e){
- return Help::JsonCode(Help::ERROR,'资讯添加失败',$e->getMessage());
- }
- exit;
- // if(!empty($input['img'])){
- //拉取图片
- // foreach ($input['img'] as $val)
- // {
- // $img = (new \backend\server\NewsInformation())->getImgResources($url,$val);
- // if(!empty($img))
- // {
- // array_push($addImg,$img);
- // }
- // }
- // }
- if(count($addImg) >3){
- return Help::JsonCode(Help::ERROR,'资讯添加失败',['img'=>['图片最大数量为3张']]);
- }
- if(!empty($addImg))
- {
- $input['thumb'] =json_encode( array_values($addImg));
- }
- if($model->load($input,'') && $model->save())
- {
- }
- return Help::JsonCode(Help::ERROR,'资讯添加失败',$model->errors);
- //处理图片
- // $url = Yii::$app->params['img_url']['news'];
- // $input = Yii::$app->request->post();
- // $addImg = [];
- // if(!empty($_FILES)){
- // $addImg = \backend\server\UploadFile::InstancesImgName('img',$url); //[0] => 3dc12b64b0efc4bdafa543e65c8a9ec2.jpg
- // }
- // if(!empty($input['img'])){
- // foreach ($input['img'] as $val)
- // {
- // $img = (new \backend\server\NewsInformation())->getImgResources($url,$val);
- // if(!empty($img))
- // {
- // array_push($addImg,$img);
- // }
- // }
- // }
- //
- // if(count($addImg) >3){
- // return Help::JsonCode(Help::ERROR,'资讯添加失败',['img'=>['图片最大数量为3张']]);
- // }
- //
- // if(!empty($addImg))
- // {
- // $input['thumb'] =json_encode( array_values($addImg));
- // }
- // $model = new News();
- // $model->scenario = 'add';
- // if($model->load($input,'') && $model->save())
- // {
- // //处理水印
- // if($input['thumb_watermark'] == 1 )
- // {
- // $ImgSet = new SetUploadImg();
- // $ImgSet->SetImgWatermark($addImg,$url);
- // }
- //
- // $UserNews = new \common\models\UserNews();
- // $UserNews->uid = Yii::$app->session['user_info']['uid'];
- // $UserNews->nid = $model->attributes['id'];
- // $UserNews->create_at = $_SERVER['REQUEST_TIME'];
- // $UserNews->insert();
- // return Help::JsonCode(Help::SUCCESS,'资讯添加成功');
- // }
- // return Help::JsonCode(Help::ERROR,'资讯添加失败',$model->errors);
- }
- /*
- * 修改资讯页面
- * **/
- public function actionNewsedit()
- {
- $model = new \common\models\News();
- $newRow = $model->FindId(Yii::$app->request->get('id'));
- if($newRow != null)
- {
- $city = new \common\models\CategoryCity();
- $cityList = $city->Sonlist();
- $news = new \common\models\CategoryNews();
- $newsList = $news->getList([],['id','news_name']);
- $newRow['thumb'] = json_decode($newRow['thumb'],true);
- $houseModel = new \common\models\House();
- $house = $houseModel->AddNewsHouse();
- return $this->render('newsedit',['model'=>$newRow,'city'=>$cityList,'news'=>$newsList,'house'=>$house]);
- }
- }
- /*
- * 资讯数据修改
- * **/
- public function actionNewseditform()
- {
- $input = Yii::$app->request->post();
- $model = new News();
- $row = $model->FindId($input['id']);
- if($row)
- {
- $row->scenario = 'edit';
- $addImg = [];
- $input['thumb'] = $row['thumb'];
- $ImgUrl = Yii::$app->params['img_url']['news'];
- $ImgArr = json_decode($row->thumb,true);
- //转换原有图片为数组格式
- if(!empty($input['delimg']) && is_array($input['delimg']))
- {
- $ImgArr = array_diff($ImgArr,$input['delimg']); //需要保留的数组 如果删除全部图片 返回空数组
- if(!empty($ImgArr))
- {
- $input['thumb'] = json_encode($ImgArr);
- }
- }
- if(!empty($_FILES) || !empty($input['img'])){
- if(!empty($_FILES)){
- $addImg = \backend\server\UploadFile::InstancesImgName('img',$ImgUrl); //[0] => 3dc12b64b0efc4bdafa543e65c8a9ec2.jpg
- }
- if(!empty($input['img']))
- {
- foreach ($input['img'] as $val)
- {
- $getImg = (new \backend\server\NewsInformation())->getImgResources($ImgUrl,$val);
- if($getImg)
- {
- array_push($addImg,$getImg);
- }
- }
- }
- if(count($addImg) > 3 || (count($ImgArr) + count($addImg)) >3){
- foreach ($addImg as $val){
- UploadFile::delImg($ImgUrl,$val);
- }
- return Help::JsonCode(Help::ERROR,'失败',['img'=>['图片最大数量为3张']]);
- }
- $input['thumb'] = json_encode(array_values( array_merge($addImg,$ImgArr)));
- }
- //修改楼盘关联的资讯
- if (!empty($input['hid']) && !empty($row['hid']) &&$input['hid'] != $row['hid']) {
- $HouseNewsId = HouseNews::find()->andWhere(['hid'=>$row['hid'],'nid'=>$row['id'],'del'=>1])->select(['hnid'])->asArray()->one()['hnid'];
- $HouseNews = HouseNews::findOne($HouseNewsId);
- if ($HouseNews != null) {
- $HouseNews->hid = $input['hid'];
- $HouseNews->uid = Yii::$app->session['user_info']['uid'];
- $HouseNews->create_at = $_SERVER['REQUEST_TIME'];
- $HouseNews->update(false);
- }
- }
- //修改楼盘关联的资讯
- if (empty($row['hid']) && !empty($input['hid'])) {
- $Nmodel = new HouseNews();
- $Nmodel->hid = $input['hid'];
- $Nmodel->nid = $row['id'];
- $Nmodel->uid = Yii::$app->session['user_info']['uid'];
- $Nmodel->create_at = $_SERVER['REQUEST_TIME'];
- $Nmodel->insert();
- }
- if($row->load($input,'') && $row->save())
- {
- if($input['thumb_watermark'] == 1 && !empty($addImg) )
- {
- $ImgSet = new SetUploadImg();
- $ImgSet->SetImgWatermark($addImg,$ImgUrl);
- }
- if(!empty($input['delimg'])){
- foreach ($input['delimg'] as $val)
- {
- UploadFile::delImg($ImgUrl,$val);
- }
- }
- return Help::JsonCode(Help::SUCCESS,'成功');
- }
- return Help::JsonCode(Help::ERROR,'失败',$row->errors);
- }
- }
- /*
- * 获取资讯类目
- * **/
- public function actionNewscategory()
- {
- // $model = new \common\models\CategoryNews();
- // $list = $model->getList([],['id','news_name']);
- // if(!empty($list))
- // {
- // return Help::JsonCode(Help::SUCCESS,'成功',$list);
- // }
- // return Help::JsonCode(Help::ERROR,'失败');
- }
- /*
- * 删除
- * **/
- public function actionNewsdel()
- {
- $model = new NewsInformation();
- if($model->delNews() === true)
- {
- return Help::JsonCode(Help::SUCCESS,'操作成功');
- }
- return Help::JsonCode(Help::ERROR,'操作失败');
- }
- /*
- * 解审
- * **/
- public function actionNewsviewcontrol()
- {
- $model = new NewsInformation();
- if($model->delNews(2) === true)
- {
- return Help::JsonCode(Help::SUCCESS,'操作成功');
- }
- return Help::JsonCode(Help::ERROR,'操作失败');
- }
- /*
- * 弹窗选择封面图
- * **/
- public function actionPopup()
- {
- return $this->render('popup');
-
- }
- //修改点击数
- public function actionEditclicks()
- {
- $model = new News();
- $input = Yii::$app->request->post();
- $row = $model->FindById($input['id']);
- if(!empty($row))
- {
- if(!empty($input['clicks']))
- {
- $row->clicks = Yii::$app->request->post('clicks');
- }
- if($row->update(false) == true) return Help::JsonCode(Help::SUCCESS,'操作成功');
- }
- return Help::JsonCode(Help::ERROR,Yii::t('app','edit_error'));
- }
- /*
- * 奇葩说 页面
- **/
- public function actionWeirdo()
- {
- return $this->render('weirdo');
- }
- /*
- * 奇葩说-获取数据列表
- **/
- public function actionWeirdoform()
- {
- $model = new NewsWeirdo();
- $model->subject = Yii::$app->request->post('title');
- $rows = $model->getList(Yii::$app->request->post());
- if($rows != null)
- {
- foreach ($rows as &$val)
- {
- $val['create_at'] = date('Y-m-d H:i',$val['create_at']);
- }
- return Help::JsonData(0,Yii::t('app','get_success'),$model->getListTotal(),$rows);
- }
- return Help::JsonCode(Help::SUCCESS,Yii::t('app','get_error'));
- }
- /*
- * 奇葩说-添加页面
- **/
- public function actionWeirdoadd()
- {
- return $this->render('weirdoadd');
- }
- /*
- *奇葩说-添加数据
- **/
- public function actionWeirdoaddform()
- {
- $input = Yii::$app->request->post();
- $model = new NewsWeirdo();
- $model->scenario = 'add';
- if(!empty($_FILES['img']))
- {
- $url = Yii::$app->params['img_url']['weirdo'];
- $img = UploadFile::InstanceImgName('img',$url);
- if(is_string($img))
- {
- $model->thumb = $img;
- //添加水印
- if(isset($input['thumb_watermark']) && $input['thumb_watermark'] == 1)
- {
- $ImgSet = new SetUploadImg();
- $ImgSet->SetImgWatermark($model->thumb,$url);
- }
- }
- }
- $auth = $model->Authenticator($input);
- if(is_object($auth))
- {
- if($auth->save())
- {
- //压缩图片
- if(isset($input['compress']) && $input['compress'] == 1)
- {
- $compressParams = [];
- $compressParams['data']['imgname'] = $model->thumb;
- $compressParams['data']['url'] = $url;
- $compressParams['data']['source'] = '奇葩说@添加';
- $model = new \backend\event\TinifyEvent();
- $model->CompressImg($compressParams);
- }
- return Help::JsonCode(Help::SUCCESS,Yii::t('app','add_success'));
- }
- }
- UploadFile::delImg(Yii::$app->params['img_url']['weirdo'],$model->thumb);
- return Help::JsonCode(Help::SUCCESS,Yii::t('app','add_error'),$auth);
- }
- /*
- * 奇葩说-修改页面
- **/
- public function actionWeirdoedit()
- {
- $input = Yii::$app->request->get();
- if(is_numeric($input['id']))
- {
- $row = NewsWeirdo::findOne(Yii::$app->request->get('id'));
- if($row != null)
- {
- return $this->render('weirdoedit',['model'=>$row]);
- }
- }
- }
- /*
- * 奇葩说-修改数据
- **/
- public function actionWeirdoeditform()
- {
- $input = Yii::$app->request->post();
- $model = new NewsWeirdo();
- $row = $model->FindById($input['id']);
- if(!empty($row))
- {
- $url = Yii::$app->params['img_url']['weirdo'];
- if(!empty($_FILES['img']))
- {
- $img = UploadFile::InstanceImgName('img',$url);
- if(is_string($img))
- {
- UploadFile::delImg($url,$row->thumb);
- $input['thumb'] = $img;
- //添加水印
- if(isset($input['thumb_watermark']) && $input['thumb_watermark'] == 1)
- {
- $ImgSet = new SetUploadImg();
- $ImgSet->SetImgWatermark($input['thumb'],$url);
- }
- }
- }
- $auth = $model->Authenticator($input);
- if(is_object($auth))
- {
- $row = Help::SetAttr($input,$model,$row);
- if($row->save()){
- //压缩图片
- if(isset($input['compress']) && $input['compress'] == 1 && isset($input['thumb']))
- {
- $compressParams = [];
- $compressParams['data']['imgname'] = $input['thumb'];
- $compressParams['data']['url'] = $url;
- $compressParams['data']['source'] = '奇葩说@修改';
- $model = new \backend\event\TinifyEvent();
- $model->CompressImg($compressParams);
- }
- return Help::JsonCode(Help::SUCCESS,Yii::t('app','add_success'));
- }
- }
- return Help::JsonCode(Help::ERROR,Yii::t('app','add_error'),$auth);
- }
- }
- /*
- * 奇葩说-排序,点击,
- **/
- public function actionWeirdoeditcolumn()
- {
- $input = Yii::$app->request->post();
- $model = NewsWeirdo::findOne($input['id']);
- if(!empty($model))
- {
- switch ($input['type'])
- {
- case 'click':
- $model->click = $input['click'];
- break;
- case 'sort':
- $model->sort = $input['sort'];
- break;
- case 'show':
- if($model->is_show == 1)
- {
- $model->is_show = 2;
- }
- else
- {
- $model->is_show = 1;
- }
- break;
- }
- if($model->save()) return Help::JsonCode(Help::SUCCESS,Yii::t('app','edit_success'));
- }
- return Help::JsonCode(Help::ERROR,Yii::t('app','edit_error'));
- }
- /*
- * 奇葩说-批量删除
- **/
- public function actionWeirdodel()
- {
- $del = NewsWeirdo::updateAll(['del'=>2],['id'=>Yii::$app->request->post('id')]);
- if($del >0)
- {
- return Help::JsonCode(Help::SUCCESS,Yii::t('app','edit_success'));
- }
- return Help::JsonCode(Help::ERROR,Yii::t('app','edit_error'));
- }
- /*
- * 批量同步资料显示页面
- */
- public function actionBatchsync()
- {
- $input = Yii::$app->request->get();
- return $this->render('batchsync',$input);
- }
- public function actionConfirmsync()
- {
- $input = Yii::$app->request->post();
- if(!empty($input['nid']))
- {
- $input['id'] = explode(',',trim($input['nid'],','));
- $M = new \backend\server\SyncNews();
- $res = $M->NewsList($input);
- $res = json_decode($res,true);
- if(is_array($res) && !empty($res))
- {
- if($res['code'] == 200) return Help::JsonCode(Help::SUCCESS,'操作成功');
- }
- return Help::JsonCode(Help::ERROR,$res['msg']);
- }
- }
- public function actionStatistica()
- {
- $model = new \common\models\CategoryNews();
- $list = $model->getList([],['id','news_name']);
- return $this->render('statistica',['category'=>$list]);
- }
- public function actionStatisticaform()
- {
- $model = new \common\models\User();
- $input = Yii::$app->request->post();
- if(!empty($input['date_month']))
- {
- $start_end_time = \common\Helps\Time::getthemonth($input['date_month']);
- if(!empty($start_end_time))
- {
- $startTime = strtotime($start_end_time[0].' 00:00:00');
- $endTime = strtotime($start_end_time[1].' 23:59:59');
- }
- }else{
- $startTime= '';
- $endTime = '';
- }
- $query = $model::find();
- $query->select(['pfg_user.uid','pfg_user.name']);
- $query->andWhere(['pfg_user.status'=>1]);
- $query->joinWith(['news'=>function($q) use ($startTime,$endTime) {
- $q->select(['pfg_news.author','category','create_at']);
- $q->andWhere(['pfg_news.del'=>1]);
- if(!empty($startTime) || !empty($endTime)){
- // p($startTime);die;
- $q->andWhere(['between','pfg_news.create_at',$startTime,$endTime]);
- }
- }]);
- $data = $query->asArray()->all();
- $cnmodel = new \common\models\CategoryNews();
- $cnmodel->del=1;
- $categorynew = $cnmodel->getList([],['id','news_name']);
- array_walk($data,function(&$val) use ($categorynew){
- $val['total'] = count($val['news']);
- $count = array_count_values(array_column($val['news'],'category'));
- array_walk($categorynew,function(&$item) use ($count,&$val){
- (array_key_exists($item['id'],$count))? $item['num'] = $count[$item['id']] : $item['num']=0;
- $val['news_name_'.$item['id']] = $item['num'];
- });
- unset($val['news']);
- });
- if(!empty($data)){
- return Help::JsonData(0,'成功',0,$data);
- }
- return Help::JsonCode(Help::ERROR,'暂无数据');
- }
- }
|