yunset('source',$source); $uptime=array('30'=>'一个月','60'=>'两个月','90'=>'三个月'); $datetime=array('30'=>'一个月','60'=>'两个月','90'=>'三个月'); $search_list[]=array("param"=>"uptime","name"=>'更新时间',"value"=>$uptime); $search_list[]=array("param"=>"datetime","name"=>'最新投递',"value"=>$datetime); $this->yunset("search_list",$search_list); } function index_action(){ $this->set_search(); if($_GET['sync']){ $where['sync'] = intval($_GET['sync']); $urlarr['sync'] = $_GET['sync']; }else{ $where['sync'] = '1'; } if(trim($_GET['keyword'])){ if($_GET['keytype']=="1"){ $where['name'] = array('like',trim($_GET['keyword'])); }elseif($_GET['keytype']=="2"){ $where['uname'] = array('like',trim($_GET['keyword'])); }elseif($_GET['keytype']=="3"){ $where['id'] = trim($_GET['keyword']); } $urlarr['keyword'] = $_GET['keyword']; $urlarr['keytype'] = $_GET['keytype']; } if($_GET['uptime']){ $where['lastupdate'] = array('>',strtotime('-'.intval($_GET['uptime']).' day')); $urlarr['uptime'] = $_GET['uptime']; }else{ $where['lastupdate'] = array('>',strtotime('-90 day')); } if($_GET['edu']){ if(is_array($_GET['edu'])){ $where['edu'] = array('in',pylode(',',$_GET['edu'])); $urlarr['edu'] = pylode(',',$_GET['edu']); }else{ $where['edu'] = $_GET['edu']; $urlarr['edu'] = $_GET['edu']; } } if($_GET['exp']){ if(is_array($_GET['exp'])){ $where['exp'] = array('in',pylode(',',$_GET['exp'])); $urlarr['exp'] = pylode(',',$_GET['exp']); }else{ $where['exp'] = $_GET['exp']; $urlarr['exp'] = $_GET['exp']; } } //用于查询两个月之内登录的uid $jobM = $this->MODEL('job'); $resumeM = $this->MODEL('resume'); $userinfoM = $this->MODEL('userinfo'); $mlogin = $userinfoM->getList(array('login_date'=>array('>',strtotime('-60 day')),'usertype'=>1),array('field'=>"`uid`")); if ($mlogin && is_array($mlogin)){ foreach($mlogin as $key=>$value){ $mloginids[]= $value['uid']; } //最新投递 if($_GET['datetime']){ $datetime = strtotime('-'.intval($_GET['datetime']).' day'); }else{ $datetime = strtotime('-90 day'); } $userid = $jobM->getSqJobList(array('uid'=>array('in',pylode(',',$mloginids)),'datetime'=>array('>',$datetime)),array('field'=>"`uid`")); $urlarr['datetime'] = $_GET['datetime']?$_GET['datetime']:90; if ($userid && is_array($userid)){ foreach($userid as $key=>$value){ $mids[] = $value['uid']; } $where['uid'] = array('in',pylode(',',$mids)); }else{ $where['uid'] = array('in',pylode(',',$mloginids)); } $where['orderby'] = 'id,desc'; $urlarr = $_GET; $urlarr['page'] = "{{page}}"; $pageurl = Url($_GET['m'],$urlarr,'admin'); $pageM = $this -> MODEL('page'); $pages = $pageM -> pageList('resume_expect',$where,$pageurl,$_GET['page']); if($pages['total'] > 0){ $where['limit'] = $pages['limit']; $rows = $resumeM->getList($where,array('cache'=>'1','utype'=>'admin')); unset($where['limit']); session_start(); $_SESSION['syncResume'] = $where; } } $this->yunset($this->MODEL('cache')->GetCache(array('user'))); $this->yunset(array('get_type'=>$_GET,'rows'=>$rows['list'])); $this->yunset('syncsign',time().rand(1000,9999)); $this->yuntpl(array('admin/admin_sync_resume')); } function resumeNum_action(){ $where['sync'] = $_POST['sync']; $where['lastupdate'] = array('>',strtotime('-90 day')); $userinfoM = $this->MODEL('userinfo'); $mlogin = $userinfoM->getList(array('login_date'=>array('>',strtotime('-60 day')),'usertype'=>1),array('field'=>"`uid`")); if ($mlogin && is_array($mlogin)){ foreach($mlogin as $key=>$value){ $mloginids[] = $value['uid']; } $jobM = $this->MODEL('job'); $userid = $jobM->getSqJobList(array('uid'=>array('in',pylode(',',$mloginids)),'datetime'=>array('>',strtotime('-90 day'))),array('field'=>"`uid`")); if ($userid && is_array($userid)){ foreach($userid as $key=>$value){ $mids[] = $value['uid']; } $where['uid'] = array('in',pylode(',',$mids)); }else{ $where['uid'] = array('in',pylode(',',$mloginids)); } $resumeM = $this->MODEL('resume'); $num = $resumeM->getExpectNum($where); echo json_encode(array('num'=>$num)); }else{ echo json_encode(array('num'=>0)); } } //用户同步传输 function resume_action(){ if (!$this->config['yptappid'] && !$this->config['yptsecret']){ $this->layer_msg('请先配置云平台同步秘钥',8); } if($_POST['count'] && $_POST['limit']){ $limit=intval($_POST['limit']); $count=intval($_POST['count']); $page=$_POST['page']; if(!$page){ $page = 0; } if ($limit>100){ $this->layer_msg('同步基数不能超过100',8); } if($count<$limit){ $limit=$count; } $pageSize = $page*$limit; //查询符合条件的数据 $resumeM = $this->MODEL('resume'); session_start(); if ($_SESSION['syncResume']){ //$where=str_replace(array('[',']','an d','lastUpdate',"\´","\\"),array('(',')','and','lastupdate',"'",""),$_POST['where']); $where = $_SESSION['syncResume'] ? $_SESSION['syncResume'] : array('orderby'=>'id'); $where['limit'] = $pageSize.','.$limit; $expectAll = $resumeM->getSimpleList($where); }else{ $this->layer_msg('系统正忙',8); } //清除用户UID if(is_array($expectAll)){ foreach($expectAll as $key=>$value){ $uid[] = $value['uid']; $exceptList[$value['uid']] = $value; $expectid[] = $value['id']; } $uids = array_unique($uid); //查询关联企业信息 $resumeList = $resumeM->getResumeList(array('uid'=>array('in',pylode(',',$uids)))); //查询关联工作经历 $workList = $this->getList('resume_work',$expectid); //教育经历 $eduList = $this->getList('resume_edu',$expectid); //培训经历 $trainList = $this->getList('resume_train',$expectid); //职业技能 $skillList = $this->getList('resume_skill',$expectid); //项目经历 $projectList = $this->getList('resume_project',$expectid); //其他 $otherList = $this->getList('resume_other',$expectid); } if(is_array($resumeList)){ include PLUS_PATH."/job.cache.php"; include PLUS_PATH."/user.cache.php"; include PLUS_PATH."/city.cache.php"; $cacheM=$this->MODEL('cache'); $cacheList=$cacheM->GetCache('user'); $this->yunset("arr_data",$cacheList); foreach($resumeList as $key=>$value){ $jsonvalue = array(); $jsonvalue['sync'] = $value['sync'];//原始UID $jsonvalue['uid'] = $value['uid'];//原始UID $jsonvalue['uname'] = $value['name'];//用户姓名 $jsonvalue['address'] = $value['address'];//现居住地址 $jsonvalue['birthday'] = $value['birthday'];//生日 $jsonvalue['height'] = $value['height'];//身高 $jsonvalue['weight'] = $value['weight'];//体重 $jsonvalue['idcard'] = $value['idcard'];//身份证 $jsonvalue['nationality'] = $value['nationality'];//民族 $jsonvalue['description'] = $value['description'];//个人简介 $jsonvalue['living'] = $value['living'];//现居住地 $jsonvalue['domicile'] = $value['domicile'];//户籍地址 $jsonvalue['telphone'] = $value['telphone'];//联系电话 $jsonvalue['telhome'] = $value['telhome'];//家庭电话 $jsonvalue['email'] = $value['email'];//联系邮件 $jsonvalue['homepage'] = $value['homepage'];//个人主页 $jsonvalue['sex'] = $cacheList['user_sex'][$value['sex']];//性别 $jsonvalue['marriage'] = $userclass_name[$value['marriage']];//婚姻 $jsonvalue['edu'] = $userclass_name[$value['edu']];//学历 $jsonvalue['exp'] = $userclass_name[$value['exp']];//工作经验 /****************************求职意向*******************************/ $exceptValue = $exceptList[$value['uid']]; $resumevalue = array(); $resumevalue['id'] = $exceptValue['id']; $resumevalue['name'] = $exceptValue['name'];//简历名称 if($exceptValue['job_classid']){ $jobclassid_name=array(); foreach(@explode(',',$exceptValue['job_classid']) as $k=>$v){ $jobclassid_name[] = $job_name[$v]; } $resumevalue['job_classid'] = @implode(',',$classid_name); } if($exceptValue['city_classid']){ $cityclassid_name=array(); foreach(@explode(',',$exceptValue['city_classid']) as $k=>$v){ $cityclassid_name[] = $city_name[$v]; } $resumevalue['city_classid']= @implode(',',$cityclassid_name); } if ($exceptValue['minsalary']>0 || $exceptValue['maxsalary']>0){ $resumevalue['salary'] = $exceptValue['minsalary'].'-'.$exceptValue['maxsalary'];//薪资待遇 } $resumevalue['jobstatus'] = $userclass_name[$exceptValue['jobstatus']];//求职状态 $resumevalue['type'] = $userclass_name[$exceptValue['type']];//工作性质 $resumevalue['exp'] = $userclass_name[$exceptValue['exp']];//工作经验 $resumevalue['edu'] = $userclass_name[$exceptValue['edu']];//最高学历 $resumevalue['report'] = $userclass_name[$exceptValue['report']];//到岗时间 $resumevalue['lastupdate'] = $exceptValue['lastupdate'];//更新日期 $jsonvalue['expect'] = $resumevalue; /*************************************工作经历**************************************/ $jsonvalue['worklist'] = $workList[$exceptValue['id']]; $jsonvalue['edulist'] = $eduList[$exceptValue['id']]; $jsonvalue['projectlist'] = $projectList[$exceptValue['id']]; $jsonvalue['otherlist'] = $otherList[$exceptValue['id']]; $jsonvalue['trainlist'] = $trainList[$exceptValue['id']]; $Arr[] = $jsonvalue; } //转化JSON $Crmjson['syncjson'] = $Arr; $Crmjson['appid'] = $this->config['yptappid']; $Crmjson['secret'] = $this->config['yptsecret']; $Crmjson['syncsign'] = $_POST['syncsign']; //CURL POST 数据 $url = 'http://api.ypt.com/sync/';//接收地址 if ($_POST['sync']==1){ $url.='?c=newresume'; }elseif ($_POST['sync']==2){ $url.='?c=oldresume'; } $return = CurlPost($url,json_encode($Crmjson)); $response = json_decode($return); if($response->state == '1'){ if($response->eids != ''){ //已同步的简历,处理返回简历id $eids = @explode(',', $response->eids); $synceids = array(); foreach ($eids as $v){ if (is_numeric($v)){ $synceids[]=$v; } } if (count($synceids)>0){ $resumeM -> upInfo(array('id'=>array('in',pylode(',', $synceids))),array('eData'=>array('sync'=>'2'))); } } if(($_POST['page']+1)>=$page){//转换结束 echo json_encode(array('error'=>'2')); }else{ //当前批次结束 继续下一批次转换 echo json_encode(array('error'=>'1','reptelnum'=>$response->reptelnum,'page'=>($_POST['page']+1),'count'=>($_POST['page']+1)*$_POST['limit'])); } die; }else{ echo json_encode(array('error'=>'0','msg'=>$response->errmsg));die; } } }else{ echo json_encode(array('error'=>'0'));die; } } function getList($table,$expectid){ $resumeM = $this->MODEL('resume'); $List = $resumeM->getFbList($table,array('eid'=>array('in',pylode(',',$expectid)))); if(is_array($List)){ foreach($List as $key=>$value){ if(is_array($value)){ foreach($value as $k=>$v){ $value[$k] = $v; } } $newkList[$value['eid']][] = $value; } } return $newkList; } } ?>