private function syncActivity($id) { $info = Activity::findFirst('activity_id = ' . $id); if (!$info) { return false; } // 删除数据 if ($info->activity_state <= 0) { $this->delete(SearchDataType::Activity, $info->activity_id); return true; } // 同步数据 $title = $info->activity_title; $searchContent = \Apps\Common\Libs\BeautyParlor::formatServiceIntro($info->activity_intro, $this->getDI()); $tagInt = $info->city_id; $tagStr = strval($info->activity_type); $showData = json_encode(['id' => $info->activity_id, 'type' => $info->activity_type, 'title' => $info->activity_title, 'cover' => $info->activity_cover, 'state' => $info->activity_state]); $this->save(SearchDataType::Activity, $id, $showData, $title, $searchContent, $tagInt, $tagStr); return true; }
/** * 发布/结束活动 * @date: 2016年1月5日 * @author: chenxiaolin */ public function setStateAction() { $req = $this->request; if (!$req->isPost()) { $id = intval($req->getQuery('id', null, 0)); $state = intval($req->getQuery('state')); $this->view->setVar('id', $id); $this->view->setVar('state', $state); $this->view->setVar("action", '/activity/setState'); return; } if ($req->isPost()) { $response = new ResponseResult(); $response->callback = $req->getPost('callback', null, 'parent.setFormResult'); $response->callbackJavascriptTag = true; $id = intval($req->getPost('id', null, 0)); $state = intval($req->getPost('state', null, -10000)); $activity_start_time = $req->getPost('activity_start_time'); $activity_end_time = $req->getPost('activity_end_time'); //发布时:开始时间不能>=结束时间 if ($state == 1 && $activity_start_time >= $activity_end_time) { $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '开始时间不能大于等于结束时间!'); return $response; } if (!in_array($state, [0, 1, 2])) { return $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '请求异常'); } $info = Activity::findFirst('activity_id = ' . $id); //活动存在 if ($info) { if ($state == 1) { //发布活动:修改活动的开始时间,结束时间,状态等信息 $info->update(['activity_state' => $state, 'activity_update_time' => date('Y-m-d H:i:s'), 'activity_start_time' => $activity_start_time, 'activity_end_time' => $activity_end_time]); SearchASync::Instance()->noticeSync($id, SearchDataType::Activity); return $response->sendResult('ok'); } else { //结束活动 $info->update(['activity_state' => $state, 'activity_update_time' => date('Y-m-d H:i:s')]); SearchASync::Instance()->noticeSync($id, SearchDataType::Activity); return (new ResponseResult())->sendResult('ok'); /* $arr=[ 'status'=>10000 ]; echo json_encode($arr); exit; */ } } } else { return $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '请求异常'); } }
/** * 设置状态 * * @return $this|ResponseResult */ public function setStateAction() { $req = $this->request; if ($req->isPost()) { $id = intval($req->getPost('id', null, 0)); $state = intval($req->getPost('state', null, -10000)); if (!in_array($state, [-1, 0, 1, 2])) { return (new ResponseResult())->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '请求异常'); } $info = Activity::findFirst('activity_id = ' . $id); /* if ($info) { $info->update ( [ 'activity_state' => $state ] ); } */ $end_time = strtotime($info->activity_end_time); //活动结束时间 $current_time = time(); //当前时间 $numTime = $end_time - $current_time; //活动结束的时候,将活动结束时间设置为当前时间 if ($info) { //判断活动结束时间是否大于当前时间:大于-->活动结束时间设置为当前时间;小于:--> 活动已结束 if ($state == 2 && $numTime > 0) { $info->update(['activity_state' => $state, 'activity_end_time' => date('Y-m-d H:i:s')]); } else { $info->update(['activity_state' => $state]); } } SearchASync::Instance()->noticeSync($id, SearchDataType::Activity); return (new ResponseResult())->sendResult('ok'); } else { return (new ResponseResult())->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '请求异常'); } }