/** * 跟新活动基础信息 * @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; }
/** * 修改广告位 * @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; } } }