checkSite(); $param = $this->request->param(); //搜索条件 $sessionAdminId = session('ADMIN_ID'); $where = [['user_id', '=', $sessionAdminId]]; if (!empty($param['start_time'])) { $where[] = ['start_time', '>=', strtotime($param['start_time'])]; } if (!empty($param['end_time'])) { $where[] = ['end_time', '<=', strtotime($param['end_time'])]; } if (!empty($param['keyword'])) { $where[] = ['title', 'like', "%{$param['keyword']}%"]; } $activity = ActivityModel::where($where)->order('create_time', 'DESC')->paginate(10, false, ['query' => $param]); $this->assign('start_time', isset($param['start_time']) ? $param['start_time'] : ''); $this->assign('end_time', isset($param['end_time']) ? $param['end_time'] : ''); $this->assign('keyword', isset($param['keyword']) ? $param['keyword'] : ''); $this->assign('activity', $activity->items()); $this->assign('page', $activity->render()); return $this->fetch(); } /** * 添加活动 */ public function add() { return $this->fetch(); } /** * 添加活动提交 */ public function addPost() { if ($this->request->isPost()) { $data = $this->request->post(); $data['create_time'] = time(); $data['user_id'] = session('ADMIN_ID'); $data['signin_code'] = randomStr(16); $data['options'] = []; if (!empty($data['file_urls'])) { foreach ($data['file_urls'] as $k => $v) { $data['options'][] = ['url' => $v, 'name' => $data['file_names'][$k]]; } } ActivityModel::create($data); $this->success('添加成功!', url('AdminActivity/index')); } } /** * 编辑活动 */ public function edit() { $id = $this->request->param('id', 0, 'intval'); $info = ActivityModel::get($id); $this->assign('info', $info); return $this->fetch(); } /** * 编辑活动提交 */ public function editPost() { if ($this->request->isPost()) { $data = $this->request->post(); $data['status'] = 1; $data['options'] = []; if (!empty($data['file_urls'])) { foreach ($data['file_urls'] as $k => $v) { $data['options'][] = ['url' => $v, 'name' => $data['file_names'][$k]]; } } ActivityModel::update($data, ['id' => $data['id']]); $this->success('编辑成功!', url('AdminActivity/index')); } } /** * 删除 */ public function delete() { $id = $this->request->param('id', 0, 'intval'); $info = ActivityModel::get($id); if ($info['join_num'] > 0) { $this->error('该活动已有人参加,无法删除'); } $review = ActivityReviewModel::where('activity_id', $id)->find(); if (!empty($review)) { $this->error('该活动已有活动回顾,无法删除'); } $this->success('删除成功'); } /** * 选择活动 */ public function select() { $param = $this->request->param(); //搜索条件 $sessionAdminId = session('ADMIN_ID'); $where = [ ['have_review', '=', 2], ['status', '=', 2], ['user_id', '=', $sessionAdminId], ]; if (!empty($param['keyword'])) { $where[] = ['title', 'like', "%{$param['keyword']}%"]; } $activity = ActivityModel::where($where)->order('create_time', 'DESC')->paginate(10, false, ['query' => $param]); $this->assign('keyword', isset($param['keyword']) ? $param['keyword'] : ''); $this->assign('activity', $activity->items()); $this->assign('page', $activity->render()); return $this->fetch(); } }