/** * 根据开通城市id获取问答列表 * @date: 2016年1月22日 * @author: 545 */ private function getQuestion($city_id, $limit, $userid = null, $order = null) { $questionlists = array(); $columns = ['q.question_id', 'q.question_content', 'q.question_pics', 'q.question_tag', 'q.answer_num', 'q.question_browsers', 'q.is_expert_reply', 'q.question_addtime', 'u.user_id', 'u.user_nickname', 'u.user_cover', 'u.user_gender']; //获取问答列表 $questionlist = CosPointquestion::query()->columns($columns)->join('\\Apps\\Common\\Models\\Question', 'q.question_id = \\Apps\\Common\\Models\\CosPointquestion.q_id', 'q')->join('\\Apps\\Common\\Models\\UserBase', 'u.user_id = q.user_id', 'u')->where('addr = :city_id:')->bind(['city_id' => $city_id])->limit($limit, 0)->orderBy($order)->execute()->toArray(); $QuestionFollow = new QuestionFollow(); foreach ($questionlist as $k => $val) { // 是否收藏过 if ($userid) { $questionlists[$k]['is_collection'] = $QuestionFollow->is_follow($val['question_id'], $userid); } else { $questionlists[$k]['is_collection'] = '0'; } $questionlists[$k]['question_id'] = $val['question_id']; $questionlists[$k]['question_content'] = unserialize(base64_decode($val['question_content'])) ?: $val['question_content']; $questionlists[$k]['question_pics'] = []; if ($val['question_pics']) { $question_pics = []; foreach (json_decode($val['question_pics'], true) as $key => $value) { $question_pics[] = PicUrl::Question($value, $this->getDi()); } $questionlists[$k]['question_pics'] = $question_pics; } $questionlists[$k]['question_tag'] = $val['question_tag'] ? json_decode($val['question_tag'], true) : []; $questionlists[$k]['answer_num'] = $val['answer_num']; $questionlists[$k]['question_browsers'] = $val['question_browsers']; $questionlists[$k]['is_expert_reply'] = $val['is_expert_reply']; $questionlists[$k]['question_addtime'] = $val['question_addtime']; $questionlists[$k]['user_id'] = $val['user_id']; $questionlists[$k]['user_nickname'] = $val['user_nickname']; $questionlists[$k]['user_cover'] = PicUrl::UserCover($val['user_cover'], $this->getDi()); $questionlists[$k]['user_gender'] = $val['user_gender']; } return $questionlists; }
/** * 删除\恢复问题 * @date: 2016年1月19日 * @author: futao */ public function setStateAction() { $req = $this->request; if ($req->isPost()) { $id = intval($req->getPost('id', null, 0)); $state = intval($req->getPost('state', null, -10000)); if ($state == -1) { $info = CosPointquestion::findFirst("q_id = {$id}"); if ($info) { return (new ResponseResult())->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '已推荐首页!'); } } if (!in_array($state, [-1, 0, 1])) { return (new ResponseResult())->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '请求异常'); } $info = Question::findFirst('question_id=' . $id); if ($info) { $info->update(['question_state' => $state]); } return (new ResponseResult())->sendResult('ok'); } else { return (new ResponseResult())->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '请求异常'); } }
public function question_recommend_addAction() { $this->setLeftNav('thumbs'); $req = $this->request; if (!$req->isPost()) { $this->view->setVar('openCity', $this->openCityList()); $this->view->pick("question_recommend/add"); return; } $response = new ResponseResult(); $response->callback = $req->getPost('callback', null, 'parent.setFormResult'); $response->callbackJavascriptTag = true; $uploadFile = new UploadPic(); $uploadFile->request = $req; $cover = $uploadFile->questionPic(); if ($cover == false || !is_array($cover) || count($cover) == 0 || $cover[0] == false) { if ($_FILES['bp_cover']['error'] == 1) { $response->sendError(ResponseResultStatus::UPLOAD_FILE_ERROR, '文件大小超过了2M!'); } else { $response->sendError(ResponseResultStatus::DATABASE_ERROR, '封面必须上传!'); } return $response; } $question_cover = $cover[0]; $q_id = intval($req->getPost("question_id")); $addr = $req->getPost("filterCity"); //判断参数问题 if ($req->getPost("sort") > 12 || $q_id < 0 || $addr <= 0) { $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '参数错误!'); return $response; } //判断推荐的问题是否存在 if (Question::count("question_id = " . $q_id) == 0) { $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '问题不存在!'); return $response; } //判断推荐问题是否已经存在12个 if (CosPointquestion::count("addr = {$addr}") >= 12) { $response->sendError(ResponseResultStatus::BUSINESS, '首页推荐问题只能添加12个!'); return $response; } //判断问题是否已经推荐 $list = CosPointquestion::query()->where("q_id = {$q_id} and addr = {$addr}")->execute()->toArray(); if ($list) { $response->sendError(ResponseResultStatus::BUSINESS, '此问题已推荐!'); return $response; } $list = CosPointquestion::query()->where("addr = " . $addr . " and sort = " . $req->getPost("sort"))->execute()->toArray(); if ($list) { $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '排序已存在!'); return $response; } $m = new CosPointquestion(); $m->q_id = $req->getPost("question_id"); $m->img_url = $question_cover; $m->addr = $req->getPost("filterCity"); $m->sort = $req->getPost("sort"); $m->title = $req->getPost("title"); $id = $m->save(); if ($id === false) { $response->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '添加失败!'); } else { $response->sendResult($id); } return $response; }