VolunteerController.php 5.8 KB
<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/6/25
 * Time: 11:43
 */

namespace app\admin\controller;


use cmf\controller\AdminBaseController;
use think\Validate;
use think\Db;
use EasyWeChat\Foundation\Application;
use think\Image;

class VolunteerController extends AdminBaseController
{
    public function index(){
        $where=[];
        $param = $this->request->param();
        $startTime = empty($param['start_time']) ? 0 : strtotime($param['start_time']);
        $endTime   = empty($param['end_time']) ? 0 : strtotime($param['end_time']);
        if (!empty($startTime) && !empty($endTime)) {
            $where['create_time'] = [['>= time', $startTime], ['<= time', $endTime]];
        } else {
            if (!empty($startTime)) {
                $where['create_time'] = ['>= time', $startTime];
            }
            if (!empty($endTime)) {
                $where['create_time'] = ['<= time', $endTime];
            }
        }
        $category = empty($param['category']) ? '' : $param['category'];
        if (!empty($category)) {
            $where['status'] = ['eq', "$category"];
        }
        $type = empty($param['type']) ? '' : $param['type'];
        if (!empty($type)) {
            $where['type'] = ['eq', "$type"];
        }
        $keyword = empty($param['keyword']) ? '' : $param['keyword'];
        if (!empty($keyword)) {
            $where['name|province|city|county|email|move_phone|fixed_phone|card_number|school|postcode|nation|politics|sex|urgency_phone|qq'] = ['like', "%$keyword%"];
        }
        $data=Db::name('volunteer')
            ->where('delete_time',0)
            ->where($where)
            ->order('create_time desc')
            ->paginate(10);
        $data->appends($param);
        $this->assign([
            'data'=>$data,
            'page'=>$data->render(),
        ]);
        $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('category', isset($param['category']) ? $param['category'] : '');
        $this->assign('type', isset($param['type']) ? $param['type'] : '');
        return $this->fetch();
    }
    //编辑
    public function edit(){
        $id=$this->request->param('id', 0, 'intval');
        if($this->request->isPost()){
            $param=$this->request->param();
            /*更新级别*/
            $level_map['min']=['<=',$param['work_time']];
            $level_map['max']=['>',$param['work_time']];
            $level=db('level')->where($level_map)->value('level');
            $param['level']=$level;
            Db::name('volunteer')
                ->where('id',$id)
                ->update($param);

            $this->success('更新成功!');
        }else{
            $data=Db::name('volunteer')
                ->where('id',$id)
                ->find();
            $this->assign([
                'data'=>$data,
            ]);
            return $this->fetch();
        }
    }
    //删除
    public function delete(){
        $param = $this->request->param();

        if (isset($param['id'])) {
            $id = $this->request->param('id', 0, 'intval');
            $resultPortal = Db::name('volunteer')
                ->where(['id' => $id])
                ->delete();
            if($resultPortal){
                $this->success("删除成功!", '');
            }else{
                $this->error("删除失败!", '');
            }

        }

        if (isset($param['ids'])) {
            $ids = $this->request->param('ids/a');
            $result = Db::name('volunteer')
                ->where(['id' => ['in', $ids]])
                ->delete();
            if ($result) {
                $this->success("删除成功!", '');
            }else{
                $this->error("删除失败!", '');
            }
        }
    }
    //发布
    public function publish(){
        $param=$this->request->param();
        $ids = $this->request->param('ids/a');
        if(!empty($ids)&&!empty($param['yes'])){
            Db::name('volunteer')->where(['id'=>['in',$ids]])->update(array('status'=>2));
            $this->success('操作成功!','');
        }else{
            Db::name('volunteer')->where(['id'=>['in',$ids]])->update(array('status'=>3));
            $this->success('操作成功!','');
        }
    }

    public function daochu(){
        $where=[];
        $param = $this->request->param();
        $startTime = empty($param['start_time']) ? 0 : strtotime($param['start_time']);
        $endTime   = empty($param['end_time']) ? 0 : strtotime($param['end_time']);
        if (!empty($startTime) && !empty($endTime)) {
            $where['create_time'] = [['>= time', $startTime], ['<= time', $endTime]];
        } else {
            if (!empty($startTime)) {
                $where['create_time'] = ['>= time', $startTime];
            }
            if (!empty($endTime)) {
                $where['create_time'] = ['<= time', $endTime];
            }
        }
        $category = empty($param['category']) ? '' : $param['category'];
        if (!empty($category)) {
            $where['status'] = ['eq', "$category"];
        }
        $type = empty($param['type']) ? '' : $param['type'];
        if (!empty($type)) {
            $where['type'] = ['eq', "$type"];
        }
        $keyword = empty($param['keyword']) ? '' : $param['keyword'];
        if (!empty($keyword)) {
            $where['name|province|city|county|email|move_phone|fixed_phone|card_number|school|postcode|nation|politics|sex|urgency_phone|qq'] = ['like', "%$keyword%"];
        }
        $data=Db::name('volunteer')
            ->where('delete_time',0)
            ->where($where)
            ->order('create_time desc')
           ->select();
        dump($data);

    }
}