|
@@ -1,8 +1,10 @@
|
|
|
<?php
|
|
|
namespace app\api\controller;
|
|
|
+use AlibabaCloud\SDK\Vod\V20170321\Models\GetMediaDNAResultResponseBody\DNAResult\videoDNA\detail\input;
|
|
|
use app\common\model\PlatformLike;
|
|
|
use app\common\model\PlatformSwitch;
|
|
|
use app\common\model\RecruitCate;
|
|
|
+use app\common\model\RecruitResume;
|
|
|
use app\common\model\User;
|
|
|
use app\common\model\UserCollect;
|
|
|
use app\common\model\UserSearch;
|
|
@@ -46,7 +48,7 @@ class Recruit extends Base
|
|
|
|
|
|
/**
|
|
|
* @title 获取招聘分类
|
|
|
- * @desc 两级分类
|
|
|
+ * @desc 三级分类
|
|
|
* @author qc
|
|
|
* @url /api/Recruit/getRecruitCate
|
|
|
* @method GET
|
|
@@ -64,6 +66,73 @@ class Recruit extends Base
|
|
|
|
|
|
|
|
|
/**
|
|
|
+ * @title 获取第三级分类
|
|
|
+ * @desc 获取第三级分类
|
|
|
+ * @author qc
|
|
|
+ * @url /api/Recruit/getThirdCate
|
|
|
+ * @method GET
|
|
|
+ * @header name:Authorization require:1 desc:Token
|
|
|
+ * @param name:fid type:int default:-- desc:一级分类id
|
|
|
+ * @param name:pid type:int default:-- desc:二级分类id【不传查一级分类下全部的三级分类】
|
|
|
+ * @return name:id type:int default:-- desc:分类id
|
|
|
+ * @return name:title type:string default:0 desc:分类名称
|
|
|
+ * @return name:lev type:int default:0 desc:分类等级
|
|
|
+ * @return name:children type:array default:0 desc:下级分类
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function getThirdCate()
|
|
|
+ {
|
|
|
+ $where = [];
|
|
|
+ $where[]=['is_deleted','=',0];
|
|
|
+ $where[]=['pid','=',input('fid')];
|
|
|
+ if(input('pid')) $where[] = ['id','=',input('pid')];
|
|
|
+ $list = RecruitCate::where($where)->field('id,title,pid,lev')->order('sort desc,id asc')->select()->toArray();
|
|
|
+ foreach ($list as &$v) {
|
|
|
+ $v['children'] = RecruitCate::where([['is_deleted','=',0],['pid','=',$v['id']]])->field('id,title,pid,lev')->order('sort desc,id asc')->select()->toArray();
|
|
|
+ }
|
|
|
+ $this->success('ok',['list'=>$list]);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @title 投递简历
|
|
|
+ * @desc 投递简历
|
|
|
+ * @author qc
|
|
|
+ * @url /api/Recruit/sendResume
|
|
|
+ * @method POST
|
|
|
+ * @header name:Authorization require:1 desc:Token
|
|
|
+ * @param name:recruit_id type:int default:-- desc:招聘记录id
|
|
|
+ * @param name:images type:string default:0 desc:图片(多张|隔开)
|
|
|
+ */
|
|
|
+ public function sendResume()
|
|
|
+ {
|
|
|
+ $images = input('post.images');
|
|
|
+ if(empty($images)) $this->error('请上传图片');
|
|
|
+ RecruitResume::create(['user_id'=>$this->user_id,'recruit_id'=>input('post.recruit_id'),'images'=>$images]);
|
|
|
+ $this->success('投递成功');
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @title 获取简历详情
|
|
|
+ * @desc 获取简历详情
|
|
|
+ * @author qc
|
|
|
+ * @url /api/Recruit/getResumeInfo
|
|
|
+ * @method POST
|
|
|
+ * @header name:Authorization require:1 desc:Token
|
|
|
+ * @param name:resume_id type:int default:-- desc:简历记录id
|
|
|
+ * @return name:images type:string default:-- desc:图片
|
|
|
+ * @return name:images_arr type:array default:-- desc:数组
|
|
|
+ */
|
|
|
+ public function getResumeInfo()
|
|
|
+ {
|
|
|
+ $info = RecruitResume::field('id,user_id,images,create_at')->where('id',input('get.resume_id'))->where(['user_id'=>$this->user_id,'is_deleted'=>0])->find();
|
|
|
+ if(!$info) $this->error('简历详情不存在');
|
|
|
+ $info = $info->toArray();
|
|
|
+ $info['images_arr'] = explode('|',$info['images']);
|
|
|
+ $this->success('ok',$info);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* @title 联系我们【两个二维码】(招聘详情内部)
|
|
|
* @desc 联系HR
|
|
|
* @author qc
|
|
@@ -92,7 +161,6 @@ class Recruit extends Base
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* @title 招聘推荐
|
|
|
* @desc 招聘推荐
|
|
@@ -157,53 +225,43 @@ class Recruit extends Base
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * @title 获取招聘列表
|
|
|
- * @desc 获取招聘列表
|
|
|
+ * @title 合集列表
|
|
|
+ * @desc 合集列表
|
|
|
* @author qc
|
|
|
* @method GET
|
|
|
* @url /api/Recruit/getRecruitList
|
|
|
* @header name:Authorization require:1 desc:Token
|
|
|
- * @param name:title type:string default:-- desc:标题
|
|
|
* @param name:page type:int default:0 desc:页数
|
|
|
* @param name:page_num type:int default:20 desc:每页数
|
|
|
* @param name:sort_type type:int default:1 desc:1默认2时间升序3时间降序
|
|
|
* @param name:first_classify type:int default:0 desc:一级分类id
|
|
|
* @param name:second_classify type:int default:0 desc:二级分类id
|
|
|
+ * @param name:third_classify type:int default:0 desc:三级分类id
|
|
|
*
|
|
|
* @return name:title type:string default:-- desc:标题
|
|
|
* @return name:company type:string default:-- desc:公司名
|
|
|
* @return name:cover type:string default:-- desc:公司logo
|
|
|
+ * @return name:salary type:int default:-- desc:薪资【文本】
|
|
|
* @return name:phone type:string default:-- desc:电话
|
|
|
* @return name:email type:string default:-- desc:email
|
|
|
* @return name:label_name type:array default:-- desc:标签
|
|
|
* @return name:welfare_arr type:array default:-- desc:岗位福利
|
|
|
- * @return name:education type:string default:-- desc:学历
|
|
|
- * @return name:experience_min type:int default:0 desc:最低工作年限
|
|
|
- * @return name:experience_max type:int default:0 desc:最高工作年限
|
|
|
- * @return name:price_min type:int default:-- desc:最低薪资[弃用]
|
|
|
- * @return name:price_max type:int default:-- desc:最高薪资[弃用]
|
|
|
- * @return name:salary type:int default:-- desc:薪资【文本】
|
|
|
- * @return name:content type:string default:-- desc:招聘详情
|
|
|
- * @return name:create_at type:string default:-- desc:发布时间
|
|
|
- * @return name:first_classify type:int default:-- desc:一级分类id
|
|
|
- * @return name:second_classify type:int default:-- desc:二级分类id
|
|
|
+ * @return name:principal type:string default:-- desc:HR
|
|
|
+ * @return name:hr_headimg type:string default:-- desc:HR头像
|
|
|
* @return name:province type:string default:-- desc:省名
|
|
|
* @return name:city type:string default:-- desc:市名
|
|
|
* @return name:county type:string default:-- desc:县区
|
|
|
* @return name:address type:string default:-- desc:地址
|
|
|
- * @return name:longitude type:string default:-- desc:经度
|
|
|
- * @return name:latitude type:string default:-- desc:纬度
|
|
|
* @return name:num type:int default:-- desc:招聘人数
|
|
|
* @return name:app_name type:string default:-- desc:发布方名称
|
|
|
* @return name:app_logo type:string default:-- desc:发布方头像
|
|
|
+ * @return name:follow_switch type:int default:-- desc:订阅开关状态【0关闭1开启】
|
|
|
*/
|
|
|
public function getRecruitList(){
|
|
|
- $title = input('get.title');
|
|
|
$sort_type = input('get.sort_type',1);
|
|
|
$first_classify = input('get.first_classify');
|
|
|
$second_classify = input('get.second_classify');
|
|
|
- $app_name = sysconf('app_name');
|
|
|
- $app_logo = sysconf('app_logo');
|
|
|
+ $third_classify = input('get.third_classify');
|
|
|
switch ($sort_type) {
|
|
|
case 1:
|
|
|
$order = ['sort'=>'desc','read_num'=>'desc'];
|
|
@@ -221,30 +279,22 @@ class Recruit extends Base
|
|
|
$sel_where[] = ['status','=',1];
|
|
|
if($first_classify) $sel_where[] = ['first_classify','=',$first_classify];
|
|
|
if($second_classify) $sel_where[] = ['second_classify','=',$second_classify];
|
|
|
- if($title && $this->user_id) UserSearch::saveSearchTitle($this->user_id,$title,8);
|
|
|
- $list = \app\common\model\Recruit::where($sel_where)
|
|
|
- ->when($title,function ($query)use($title){
|
|
|
- if($title) $query->where('title|label','like','%'.$title.'%');
|
|
|
- })->order($order)->limit($this->off_set,$this->page_num)->select()->toArray();
|
|
|
+ if($third_classify) $sel_where[] = ['third_classify','=',$third_classify];
|
|
|
+ $field = "id,title,num,province,city,county,address,user_id,principal,hr_headimg,label,welfare";
|
|
|
+ $list = \app\common\model\Recruit::field($field)->where($sel_where)->order($order)->limit($this->off_set,$this->page_num)->select()->toArray();
|
|
|
foreach ($list as &$v) {
|
|
|
$v['label_name'] = $v['label']? explode(',',trim($v['label'],',')) : null;
|
|
|
$v['welfare_arr'] = explode(',',trim($v['welfare'],','));
|
|
|
- if(!$v['user_id']){
|
|
|
- $v['app_name'] = $app_name;
|
|
|
- $v['app_logo'] = $app_logo;
|
|
|
- }else{
|
|
|
- $user_info = User::where('id',$v['user_id'])->field('name,headimg')->find();
|
|
|
- $v['app_name'] = $user_info ? $user_info->name : '';
|
|
|
- $v['app_logo'] = $user_info ? $user_info->headimg : '';
|
|
|
- }
|
|
|
+ $auth_info = \app\common\model\Recruit::getAuth($v['user_id'],APPNAME,APPLOGO);
|
|
|
+ $v['app_name'] = $auth_info['app_name'];
|
|
|
+ $v['app_logo'] = $auth_info['app_logo'];
|
|
|
}
|
|
|
- $total_num = \app\common\model\Recruit::where($sel_where)
|
|
|
- ->when($title,function ($query)use($title){
|
|
|
- if($title) $query->where('title|label','like','%'.$title.'%');
|
|
|
- })->count();
|
|
|
- $this->success('ok',['list'=>$list,'total_num'=>$total_num]);
|
|
|
+ $total_num = \app\common\model\Recruit::where($sel_where)->count();
|
|
|
+ $follow_switch = PlatformSwitch::checkSwitch($this->user_id,$third_classify,6);
|
|
|
+ $this->success('ok',['list'=>$list,'follow_switch'=>$follow_switch,'total_num'=>$total_num,'total_count'=>$total_num,'page_num'=>$this->page_num]);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* @title 获取招聘详情
|
|
|
* @desc 获取招聘详情
|
|
@@ -257,8 +307,8 @@ class Recruit extends Base
|
|
|
* @return name:company type:string default:-- desc:公司名
|
|
|
* @return name:cover type:string default:-- desc:公司logo
|
|
|
* @return name:company_label type:array default:-- desc:公司标签
|
|
|
- * @return name:principal type:string default:-- desc:联系人
|
|
|
- * @return name:hr_headimg type:string default:-- desc:联系人头像
|
|
|
+ * @return name:principal type:string default:-- desc:RH
|
|
|
+ * @return name:hr_headimg type:string default:-- desc:RH头像
|
|
|
* @return name:phone type:string default:-- desc:电话
|
|
|
* @return name:email type:string default:-- desc:email
|
|
|
* @return name:label_name type:array default:-- desc:标签
|
|
@@ -266,18 +316,15 @@ class Recruit extends Base
|
|
|
* @return name:education type:string default:-- desc:学历
|
|
|
* @return name:experience_min type:int default:0 desc:最低工作年限
|
|
|
* @return name:experience_max type:int default:0 desc:最高工作年限
|
|
|
- * @return name:price_min type:int default:-- desc:最低薪资[弃用]
|
|
|
- * @return name:price_max type:int default:-- desc:最高薪资[弃用]
|
|
|
- * @return name:salary type:int default:-- desc:薪资【文本】
|
|
|
+ * @return name:salary type:string:-- desc:薪资【文本】
|
|
|
* @return name:content type:string default:-- desc:招聘详情
|
|
|
* @return name:create_at type:string default:-- desc:发布时间
|
|
|
- * @return name:first_classify type:int default:-- desc:一级分类id
|
|
|
- * @return name:second_classify type:int default:-- desc:二级分类id
|
|
|
* @return name:praise_num type:int default:-- desc:点赞量
|
|
|
* @return name:is_praise type:int default:-- desc:是否点赞【0否1是】
|
|
|
* @return name:is_collect type:int default:-- desc:是否收藏【0否1是】
|
|
|
* @return name:collect_num type:int default:-- desc:收藏量
|
|
|
* @return name:transmit_num type:int default:-- desc:转发量
|
|
|
+ * @return name:read_num type:int default:-- desc:阅读量
|
|
|
* @return name:province type:string default:-- desc:省名
|
|
|
* @return name:city type:string default:-- desc:市名
|
|
|
* @return name:county type:string default:-- desc:县区
|
|
@@ -286,6 +333,7 @@ class Recruit extends Base
|
|
|
* @return name:latitude type:string default:-- desc:纬度
|
|
|
* @return name:num type:int default:-- desc:招聘人数
|
|
|
* @return name:hr_code type:int default:-- desc:二维码
|
|
|
+ * @return name:follow_switch type:int default:-- desc:订阅开关状态【0关闭1开启】
|
|
|
*/
|
|
|
public function getRecruitDetail()
|
|
|
{
|
|
@@ -305,14 +353,6 @@ class Recruit extends Base
|
|
|
$this->success('ok',['detail'=>$detail]);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * @title 以下接口调用验证登录【需要header传Authorization】
|
|
|
- * @desc 以下接口调用验证登录
|
|
|
- * @author qc
|
|
|
- * @method
|
|
|
- * @url /api/Recruit/needLogin()
|
|
|
- */
|
|
|
- public function needLogin(){}
|
|
|
|
|
|
/**
|
|
|
* @title 点赞||取消点赞
|