public function run() { $id = intval($this->getDataItem('id', 0)); $page = intval($this->getDataItem('page', 1)); $limit = $this->getConfig()->limit; if ($id == 0) { return $this->errorLog(ResultStatus::URL_PARAM_CANNOT_EMPTY, 'URL参数不全'); } $list = ActivityComment::query()->columns(['comment_id', 'comment_content', 'addtime', 'comment_user_id user_id', 'u.user_nickname', 'u.user_gender', 'u.user_cover'])->leftJoin('\\Apps\\Common\\Models\\UserBase', 'u.user_id = \\Apps\\Common\\Models\\ActivityComment.comment_user_id', 'u')->where('activity_id = ' . $id)->orderBy('addtime DESC')->limit($limit, ($page - 1) * $limit)->execute()->toArray(); foreach ($list as $k => $val) { $list[$k]['user_cover'] = PicUrl::ActivityCover($val['user_cover'], $this->getDi()); } $this->setResult($list); }
/** * 活动预览 * @date: 2016年1月12日 * @author: chenxiaolin */ public function activityPreviewAction() { $id = $this->request->getQuery('id'); if (empty($id)) { echo '活动不存在!'; $this->view->disable(); return; } //活动内容 $date = date('Y-m-d H:i:s'); $activity = Activity::query()->columns(['Apps\\Common\\Models\\Activity.activity_id', 'activity_title', 'activity_cover', 'activity_intro', 'out_link', 'activity_addtime', 'views', 'comments'])->where("activity_id = {$id} and activity_state in (0,1)")->execute()->getFirst(); if (!$activity) { echo '活动不存在!'; $this->view->disable(); return; } else { $activity = $activity->toArray(); } $activity['activity_cover'] = PicUrl::ActivityCover($activity['activity_cover'], $this->getDI()); //活动回复 $comment = ActivityComment::query()->columns(['comment_content', 'user.user_nickname', 'user.user_cover', 'user.user_gender'])->leftJoin('Apps\\Common\\Models\\UserBase', 'Apps\\Common\\Models\\ActivityComment.comment_user_id = user.user_id', 'user')->where("Apps\\Common\\Models\\ActivityComment.activity_id = {$id} and Apps\\Common\\Models\\ActivityComment.state = 1")->order('addtime desc')->execute()->toArray(); foreach ($comment as $k => $v) { $comment[$k]['user_cover'] = PicUrl::UserCover($comment[$k]['user_cover'], $this->getDI()); } $lastTime = ActivityComment::maximum(array("activity_id = {$id} and state = 1", 'column' => 'addtime')); //美人儿已阅处显示的头像 $covers = ActivityComment::query()->columns(['distinct comment_user_id', 'user.user_cover'])->leftJoin('Apps\\Common\\Models\\UserBase', 'Apps\\Common\\Models\\ActivityComment.comment_user_id = user.user_id', 'user')->where("Apps\\Common\\Models\\ActivityComment.activity_id = {$id} and Apps\\Common\\Models\\ActivityComment.state = 1")->order('addtime desc')->limit(7)->execute()->toArray(); foreach ($covers as $k => $v) { $covers[$k]['user_cover'] = PicUrl::UserCover($covers[$k]['user_cover'], $this->getDI()); } $this->view->setVar('activity', $activity); $this->view->setVar('comment', $comment); $this->view->setVar('lastTime', $lastTime); $this->view->setVar('covers', $covers); $this->tag->setTitle($activity->activity_title); }
/** * 查看活动回复列表 * @date: 2016年1月5日 * @author: chenxiaolin */ public function commentListAction() { $this->setLeftNav('commentList'); $req = $this->request; $page = intval($req->getQuery('page', null, 1)); $page = $page > 0 ? $page : 1; $limit = $this->pageNavLimit; $offset = $limit * ($page - 1); $activity_id = $req->getQuery('id'); $user_name = $req->getQuery('user_name'); $comment_content = $req->getQuery('comment_content'); $addtime = $req->getQuery('addtime'); $timeSlotarr = explode("至", $addtime); $columns = ['comment_id', 'comment_content', 'addtime', 'user.user_nickname as user_name']; $where = []; $bind = []; $medal = []; //通过用户名筛选数据 if ($user_name != '') { $user = UserBase::query()->columns(['user_id'])->where("user_nickname like '%" . $user_name . "%'")->execute(); foreach ($user as $k => $v) { $user_id .= $v['user_id'] . ','; } $user_id = rtrim($user_id, ","); if (!empty($user_id)) { $where[] = "comment_user_id in ( {$user_id} )"; } else { $where[] = "comment_user_id in ( 0 )"; } $this->view->setVar("user_name", $user_name); } //通过评论内容筛选数据 if ($comment_content != '') { $where[] = "comment_content like '%" . $comment_content . "%'"; $this->view->setVar("comment_content", $comment_content); } //通过评论时间筛选数据 if ($addtime) { $where[] = "addtime > '" . $timeSlotarr[0] . "'"; $where[] = "addtime < '" . $timeSlotarr[1] . "'"; $this->view->setVar("addtime", $addtime); } $where[] = "activity_id = {$activity_id} and state = 1"; $whereStr = implode(' AND ', $where); $query = ActivityComment::query()->columns($columns)->leftJoin('Apps\\Common\\Models\\UserBase', 'user.user_id=Apps\\Common\\Models\\ActivityComment.comment_user_id', 'user'); if (!empty($whereStr)) { $query = $query->where($whereStr); } if (count($bind) > 0) { $query = $query->bind($bind); } $data = $query->orderBy('addtime DESC')->limit($limit, $offset)->execute(); /* var_dump($data); exit; */ // 总数 $total = ActivityComment::count(['conditions' => $whereStr, 'bind' => $bind]); $this->view->setVar('total', $total); $this->view->setVar('page', $page); $this->view->setVar('limit', $limit); $this->view->setVar('data', $data); $this->view->setVar('activity_id', $activity_id); }