ApplicationAgentController.php 5.3 KB
<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/1/5
 * Time: 15:21
 */

namespace app\admin\controller;


use cmf\controller\AdminBaseController;
use think\Db;
use think\Validate;

class ApplicationAgentController 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['a_a.create_time'] = [['>= time', $startTime], ['<= time', $endTime]];
        } else {
            if (!empty($startTime)) {
                $where['a_a.create_time'] = ['>= time', $startTime];
            }
            if (!empty($endTime)) {
                $where['a_a.create_time'] = ['<= time', $endTime];
            }
        }
        $keyword = empty($param['keyword']) ? '' : $param['keyword'];
        if (!empty($keyword)) {
            $where['u.nickname'] = ['like', "%$keyword%"];
        }
        $status = empty($param['status']) ? '' : $param['status'];
        if (!empty($status)) {
            $where['a_a.status'] = ['eq', "%$status%"];
        }
        $data=Db::name('application_agent')
            ->alias('a_a')
            ->field('a_a.*,u.user_nickname')
            ->join('cmf_user u','u.id = a_a.user_id')
            ->where('a_a.delete_time',0)
            ->where($where)
            ->order('a_a.create_time desc')
            ->paginate(10);
        $data->appends($param);
        $list=$data->items();
        $this->assign([
            'data'=>$list,
            'page'=>$data->render(),
            'start_time'=>isset($param['start_time']) ? $param['start_time'] : '',
            'end_time'=>isset($param['end_time']) ? $param['end_time'] : '',
            'keyword'=>isset($param['keyword']) ? $param['keyword'] : '',
        ]);
        return $this->fetch();
    }
    //编辑
    public function edit(){
        $id=$this->request->param('id', 0, 'intval');
        if($this->request->isPost()){
            $param=$this->request->param();
            $validate = new Validate([
                'status' => 'require',
            ]);
            $validate->message([
                'status' => '请选择审核状态!',
            ]);
            if (!$validate->check($param)) {
                $this->error($validate->getError());
            }
            Db::name('application_agent')
                ->where('id',$id)
                ->update($param);
            $agent = Db::name('application_agent')->where('id',$id)->find();
            if($param['status'] == 2){
                Db::name('user')->where('id',$agent['user_id'])->update(array('type'=>2,'agent_name'=>$agent['name'],'mobile2'=>$agent['phone']));
            }else{
                Db::name('user')->where('id',$agent['user_id'])->update(array('type'=>1,'agent_name'=>null,'mobile2'=>null));
            }
            $this->success('更新成功!');
        }else{
            $data=Db::name('application_agent')
                ->alias('a_a')
                ->field('a_a.*,u.user_nickname')
                ->join('cmf_user u','u.id = a_a.user_id')
                ->where('a_a.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('application_agent')
                ->where(['id' => $id])
                ->update(['delete_time' => time()]);
            if($resultPortal){
                $this->success("删除成功!", '');
            }else{
                $this->error("删除失败!", '');
            }

        }

        if (isset($param['ids'])) {
            $ids = $this->request->param('ids/a');
            $result = Db::name('application_agent')
                ->where(['id' => ['in', $ids]])
                ->update(['delete_time' => time()]);
            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('application_agent')->where(['id'=>['in',$ids]])->update(array('status'=>2));
            foreach($ids as $key => $i1){
                $data = Db::name('application_agent')->where('id',$i1)->find();
                Db::name('user')->where('id',$data['user_id'])->update(array('mobile2'=>$data['phone'],'type'=>2,'agent_name'=>$data['name']));
            }
            $this->success('操作成功!','');
        }else{
            Db::name('application_agent')->where(['id'=>['in',$ids]])->update(array('status'=>3));
            foreach($ids as $key => $i2){
                $data = Db::name('application_agent')->where('id',$i2)->find();
                Db::name('user')->where('id',$data['user_id'])->update(array('mobile2'=>null,'type'=>1,'agent_name'=>null));
            }
            $this->success('操作成功!','');
        }
    }
}