Esempio n. 1
0
 /**
  * 跟新活动基础信息
  * @date: 2016年1月5日 
  * @author: chenxiaolin
  */
 public function updateAction()
 {
     $this->setLeftNav('update');
     $req = $this->request;
     if (!$req->isPost()) {
         $id = intval($req->getQuery('id', null, 0));
         $this->view->setVar('id', $id);
         $this->view->setVar('openCity', SysOpenCity::find());
         $this->view->setVar('info', Activity::findFirst('activity_id = ' . $id));
         $this->view->setVar('positionList', Position::valuesExplain());
         return;
     }
     //修改
     $response = new ResponseResult();
     $response->callback = $req->getPost('callback', null, 'parent.setFormResult');
     $response->callbackJavascriptTag = true;
     $id = intval($req->getPost('activity_id'));
     if ($id < 1) {
         $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '参数异常!');
         return $response;
     }
     $type = intval($req->getPost('activity_type', null, 0));
     $title = $req->getPost('activity_title', null, '');
     $views = $req->getPost('views');
     //$cityId = intval ( $req->getPost ( 'city_id', null, 0 ) );
     //$posion_banner = intval ( $req->getPost ( 'posion_banner', null, 0 ) );
     //$time = $req->getPost ( 'activity_time', null, '' );
     $intro = $req->getPost('activity_intro', null, '');
     $out_link = $req->getPost('out_link', null, '');
     // 判断空数据
     if ($type <= 0 || empty($title)) {
         $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '参数异常!');
         return $response;
     }
     //判断是图文,还是外链地址
     if ($type == 1 && empty($intro)) {
         $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '参数异常!');
         return $response;
     }
     if ($type == 2 && empty($out_link)) {
         $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '参数异常!');
         return $response;
     }
     //判断外链地址是否合法
     if ($type == 2 && !Util::CheckUrl($out_link)) {
         $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '外链地址不合法!');
         return $response;
     }
     //$timeArr = explode ( ' 至 ', $time );
     // 保存封面
     $uploadFile = new UploadPic();
     $uploadFile->request = $req;
     $cover = $uploadFile->activityCover();
     if ($cover == false || !is_array($cover) || count($cover) == 0 || $cover[0] == false) {
         if ($_FILES['activity_cover']['error'] == 1) {
             $response->sendError(ResponseResultStatus::UPLOAD_FILE_ERROR, '文件大小超过了2M!');
             return $response;
         }
     }
     $cover = $cover[0];
     /* if ($cover == false || ! is_array ( $cover ) || count ( $cover ) == 0 || $cover [0] == false) {
     			$cover = null;
     		} else {
     			$cover = $cover [0];
     		} */
     // 保存基础数据
     $info = Activity::findFirst('activity_id = ' . $id);
     $data = [];
     if ($info->activity_type != $type) {
         $data['activity_type'] = $type;
     }
     if ($info->activity_title != $title) {
         $data['activity_title'] = $title;
     }
     /* if ($info->city_id != $cityId) {//其他城市
     			//判断广告位是否存在
     			//$activity2 = Activity::findFirst('city_id = '.$cityId.' and posion_banner = '.$posion_banner);
     			$activity2 = Activity::findFirst("city_id = $cityId and posion_banner = $posion_banner and activity_state in ('1','0')");
     			if($activity2){//广告位已存在
     				$response->sendError ( ResponseResultStatus::BUSINESS, '当前城市的此广告位已存在!' );
     				return $response;
     			}
     			$data ['city_id'] = $cityId;
     			$data ['posion_banner'] = $posion_banner;
     			//推荐到其他城市时:活动状态设置
     			$curTime = time();
     			$startTime = strtotime($timeArr[0]);
     			$endTime = strtotime($timeArr[1]);
     			//1、活动开始时间大于当前时间:未发布--0
     			if(($startTime - $curTime) > 0){
     				$data ['activity_state'] = 0;
     			}elseif(($endTime - $curTime) < 0 ){
     				//2、活动结束时间小于当前时间:已结束--2
     				$data ['activity_state'] = 2;
     			}else{
     				//3、当前时间大于开始时间,小于结束时间:正常--1
     				$data ['activity_state'] = 1;
     			}
     					
     		}else{//本城市			
     			//根据城市id和广告位编号判断该城市的此广告位是否已存在
     			if($info -> posion_banner != $posion_banner){
     				//$activity = Activity::findFirst('city_id = '.$cityId.' and posion_banner = '.$posion_banner);
     				$activity = Activity::findFirst("city_id = $cityId and posion_banner = $posion_banner and activity_state in ('1','0')");
     				if($activity){//广告位已存在
     					$response->sendError ( ResponseResultStatus::BUSINESS, '当前城市的此广告位已存在!' );
     					return $response;
     				}else{//广告位可用
     					$data ['posion_banner'] = $posion_banner;
     				}
     			}			
     			$curTime = time();
     			$startTime = strtotime($timeArr[0]);
     			$endTime = strtotime($timeArr[1]);
     			//1、活动开始时间大于当前时间:未发布--0
     			if(($startTime - $curTime) > 0){
     				$data ['activity_state'] = 0;
     			}elseif(($endTime - $curTime) < 0 ){
     				//2、活动结束时间小于当前时间:已结束--2
     				$data ['activity_state'] = 2;
     			}else{
     				//3、当前时间大于开始时间,小于结束时间:正常--1
     				$data ['activity_state'] = 1;
     			}
     		} */
     if ($type == 1 && $info->activity_intro != $intro) {
         $data['activity_intro'] = $intro;
         $data['out_link'] = "";
     }
     if ($type == 2 && $info->out_link != $out_link) {
         $data['out_link'] = $out_link;
         $data['activity_intro'] = "";
     }
     if ($info->views != $views) {
         $data['views'] = $views;
     }
     /* $data ['activity_start_time'] = $timeArr [0];
     		$data ['activity_end_time'] = $timeArr [1]; */
     if ($cover != null) {
         $data['activity_cover'] = $cover;
     }
     $data['activity_update_time'] = date("Y-m-d H:i:s");
     $info->update($data);
     SearchASync::Instance()->noticeSync($id, SearchDataType::BeautyParlorService);
     $response->sendResult('ok');
     return $response;
 }
Esempio n. 2
0
 /**
  * 修改广告位
  * @date: 2016年1月7日 
  * @author: chenxiaolin
  */
 public function advertisementEditAction()
 {
     $this->setLeftNav('advertisementEdit');
     $req = $this->request;
     if (!$req->isPost()) {
         $id = $req->getQuery('id');
         $info = Advertisement::findFirst("advertisement_id = {$id}");
         $info->advertisement_cover = PicUrl::AdvertisementPic($info->advertisement_cover, $this->getDI());
         $this->view->setVar('info', $info);
         $this->view->setVar('openCity', $this->openCityList());
         return;
     } else {
         $response = new ResponseResult();
         $response->callback = $req->getPost('callback', null, 'parent.setFormResult');
         $response->callbackJavascriptTag = true;
         $id = $req->getPost('advertisement_id');
         $title = $req->getPost('advertisement_title');
         $position = $req->getPost('position');
         $type = $req->getPost('type');
         $intro = $req->getPost('advertisement_intro');
         $out_link = $req->getPost('out_link');
         //判断空数据
         if ($type <= 0 || empty($title) || $position <= 0 || $city < 0) {
             $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '参数异常!');
             return $response;
         }
         //判断图文介绍还是外链地址
         if ($type == 1 && empty($intro)) {
             $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '请填写图文介绍!');
             return $response;
         }
         if ($type == 2 && empty($out_link)) {
             $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '请填写外链地址!');
             return $response;
         }
         //判断外链地址是否合法
         if ($type == 2 && !Util::CheckUrl($out_link)) {
             $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '外链地址不合法!');
             return $response;
         }
         //判断该广告位是否有数据
         $data = Advertisement::findFirst("advertisement_id = {$id}");
         if ($data->position != $position) {
             $city = $data->city_id;
             //判断当前城市的此广告位是否已有数据
             $ad = Advertisement::findFirst("city_id = {$city} and position = {$position}");
             if ($ad) {
                 $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '此广告位已有数据!');
                 return $response;
             }
             //修改全国数据时:判断此广告位是否已被其他城市占用
             if ($city == 0) {
                 $num = Advertisement::count("city_id not in ( 0 ) and position = {$position}");
                 if ($num > 0) {
                     $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '此广告位已被城市占用!');
                     return $response;
                 }
             } else {
                 //修改城市数据时:判断此广告位是否已被全国占用
                 $countryAd = Advertisement::findFirst("city_id = 0 and position = {$position}");
                 if ($countryAd) {
                     $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '此广告位已被全国占用!');
                     return $response;
                 }
             }
         }
         //修改封面
         if ($_FILES['advertisement_cover']['name'] != '') {
             $uploadFile = new UploadPic();
             $uploadFile->request = $req;
             $cover = $uploadFile->advertisementPics();
             if ($cover == false || !is_array($cover) || count($cover) == 0 || $cover[0] == false) {
                 if ($_FILES['advertisement_cover']['error'] == 1) {
                     $response->sendError(ResponseResultStatus::UPLOAD_FILE_ERROR, '封面大小不能超过1M!');
                 } else {
                     $response->sendError(ResponseResultStatus::UPLOAD_FILE_ERROR, '封面必须上传!');
                 }
                 return $response;
             }
             $data->advertisement_cover = $cover[0];
         }
         $data->advertisement_title = $title;
         $data->position = $position;
         $data->type = $type;
         if ($type == 1) {
             $data->advertisement_intro = $intro;
             $data->out_link = '';
         }
         if ($type == 2) {
             $data->out_link = $out_link;
             $data->advertisement_intro = '';
         }
         if ($data->save()) {
             $response->sendResult('ok');
             return $response;
         }
     }
 }