123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- <?php
- namespace app\activity\controller;
- use app\activity\model\ActivityModel;
- use app\activity\model\ActivityReviewModel;
- use cmf\controller\AdminBaseController;
- class AdminActivityController extends AdminBaseController
- {
- /**
- * 活动列表
- */
- public function index()
- {
- $this->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();
- }
- }
|