123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- <?php
- namespace app\operate\controller;
- use app\common\model\ChinaArea;
- use app\common\model\User;
- use library\Controller;
- use think\Db;
- /**
- * 招聘
- * Class Activity
- * @package app\operate\controller
- */
- class Recruit extends Controller
- {
- protected $table = 'Recruit';
- /**
- * 列表
- * @auth true
- * @menu true
- * @throws \think\Exception
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\ModelNotFoundException
- * @throws \think\exception\DbException
- * @throws \think\exception\PDOException
- */
- public function index()
- {
- $this->title = '列表';
- $where = [];
- $where[] = ['f.is_deleted','=',0];
- if($title = input('title')) $where[] = ['f.title','like','%'.$title.'%'];
- $query = $this->_query($this->table)->alias('f')
- ->field('f.*')
- ->where($where)
- ->order('sort desc,f.id desc ')->page();
- }
- /**
- * 添加
- * @auth true
- * @menu true
- * @throws \think\Exception
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\ModelNotFoundException
- * @throws \think\exception\DbException
- * @throws \think\exception\PDOException
- */
- public function add()
- {
- $this->title = '添加';
- $this->_form($this->table, 'form');
- }
- /**
- * 编辑
- * @auth true
- * @menu true
- * @throws \think\Exception
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\ModelNotFoundException
- * @throws \think\exception\DbException
- * @throws \think\exception\PDOException
- */
- public function edit()
- {
- $this->title = '编辑';
- if(input('test'))
- {
- $this->_form($this->table, 'form3');
- }else{
- $this->_form($this->table, 'form');
- }
- }
- /**
- * 删除
- * @auth true
- * @throws \think\Exception
- * @throws \think\exception\PDOException
- */
- public function del()
- {
- \app\common\model\Recruit::where('id',input('id'))->update(['is_deleted'=>1]);
- \app\common\model\Recruit::esAdd(input('id'));
- \app\common\model\TopSearch::saveData(input('id'),'recruit');
- $this->success('操作成功');
- }
- /**
- * 删除
- * @auth true
- * @throws \think\Exception
- * @throws \think\exception\PDOException
- */
- public function remove()
- {
- $ids = input('id');
- foreach (explode(',',$ids) as $id) {
- \app\common\model\Recruit::where('id',$id)->update(['is_deleted'=>1]);
- \app\common\model\Recruit::esAdd($id);
- \app\common\model\TopSearch::saveData($id,'recruit');
- }
- $this->success('已删除!');
- }
- /**
- * 表单数据处理
- * @param array $data
- */
- protected function _form_filter(&$data)
- {
- // if($this->request->isPost()) $this->error('页面调试中');
- $this->education = ['不限','高中及以上','专科及以上','本科及以上','研究生及以上'];
- $all_area = $all_area = ChinaArea::where('level','<=',3)->select();
- $this->all_area = make_tree($all_area);
- $all_cate = \app\common\model\RecruitCate::where(['is_deleted'=>0])->order('sort desc ,id desc')->select();
- $this->cate_tree = make_tree($all_cate);
- if ($this->request->isGet() && $this->request->action() == 'add') {
- $this->isAddMode = 1;
- $this->ladder = [];
- }
- if ($this->request->isGet() && $this->request->action() == 'edit') {
- $this->isAddMode = 0;
- $this->ladder = isset_full($data,'ladder') ? json_decode($data['ladder'],true):[];
- }
- if($this->request->isGet()) {
- $third_classify = input('third_classify');
- if($third_classify) {
- if($third_classify) $data['third_classify'] = $third_classify;
- $third_info = \app\common\model\RecruitCate::where('id',$third_classify)->find()->toArray();
- if($third_classify) $data['second_classify'] = $third_info['pid'];
- $data['first_classify'] = \app\common\model\RecruitCate::where('id',$data['second_classify'])->value('pid');
- }
- }
- if($this->request->isPost())
- {
- list($post,$ladder_data) = [$this->request->post(),[]];
- if(!$data['longitude'] || !$data['latitude']) $this->error('请选择地图坐标');
- if(!$data['release_time']) $data['release_time'] = date("Y-m-d H:i:s");
- if($data['hot_num'] != $data['hot_num_old']) $data['hot_time'] = date("Y-m-d H:i:s");
- if(!empty($post['user_phone'])) {
- $user_id = User::where('phone|email',$post['user_phone'])->value('id');
- if(!$user_id) $this->error('账号未注册');
- $data['user_id'] = $user_id;
- }else{
- $data['user_id'] = '';
- }
- }
- }
- protected function _form_result(&$data)
- {
- \app\common\model\Recruit::esAdd($data);
- \app\common\model\TopSearch::saveData($data,'recruit');
- $this->success('操作成功', 'javascript:history.back()');
- }
- /**
- * 上架
- * @auth true
- * @menu true
- * @throws \think\Exception
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\ModelNotFoundException
- * @throws \think\exception\DbException
- * @throws \think\exception\PDOException
- */
- public function up()
- {
- \app\common\model\Recruit::where('id',input('id'))->update(['status'=>1]);
- \app\common\model\Recruit::esAdd(input('id'));
- \app\common\model\TopSearch::saveData(input('id'),'recruit');
- $this->success('操作成功');
- }
- /**
- * 取消
- * @auth true
- * @menu true
- * @throws \think\Exception
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\ModelNotFoundException
- * @throws \think\exception\DbException
- * @throws \think\exception\PDOException
- */
- public function down()
- {
- \app\common\model\Recruit::where('id',input('id'))->update(['status'=>0]);
- \app\common\model\Recruit::esAdd(input('id'));
- \app\common\model\TopSearch::saveData(input('id'),'recruit');
- $this->success('操作成功');
- }
- }
|