db,$this->def); $cache = $cacheM -> GetCache($options); return $cache; } } /** * 查询全部信息 * @param 表:once_job * @param 功能说明:获取once_job表里面所有店铺信息 * @param 引用字段:$whereData:条件 2:$data:查询字段 * */ public function getOnceList($whereData,$data=array()){ $OnceNew = array(); $field = $data['field'] ? $data['field'] : '*'; $List = $this -> select_all('once_job',$whereData,$field); $cache = $this -> getClass(array('city')); if(!empty($List) && $List){ foreach($List as $k=>$v){ $List[$k]['ctime_n'] = date("Y-m-d",$v['ctime']); $List[$k]['linkman'] = mb_substr($v['linkman'], 0,5,'utf-8'); if($v['edate'] < time()){ $List[$k]['status'] = 2; } if($v['provinceid']){ $List[$k]['city_n'] = $cache['city_name'][$v['provinceid']]; } if($v['cityid']){ $List[$k]['city_n'].= '-'.$cache['city_name'][$v['cityid']]; } if($v['three_cityid']){ $List[$k]['city_n'].= '-'.$cache['city_name'][$v['three_cityid']]; } //图片显示 $List[$k]['pic_n'] = checkpic($v['pic'],$this->config['sy_once_icon']); } } return $List; } /** * 查询单条信息 * @param 查询表:once_job * @param 功能说明:根据条$id 获取once_job表里面 单条信息 * @param 引用字段:$id :条件 2:$data:查询字段 * */ public function getOnceInfo($where,$data=array()) { $select = $data['field'] ? $data['field'] : '*'; $Info = $this -> select_once('once_job', $where, $select); if($Info && is_array($Info)){ $cache = $this -> getClass(array('city')); if (!empty($Info['pic'])){ $Info['pic_n'] = checkpic($Info['pic'],$this->config['sy_once_icon']); } if($Info['require']){ $Info['require_n'] = str_replace("\r\n","
",$Info['require']); $Info['require_n'] = str_replace("\n","
",$Info['require_n']); } if($Info['ctime']){ $Info['ctime_n'] = date("Y-m-d",$Info['ctime']); } if($Info['edate']){ //有效期天数 if($Info['edate']>time()){ $Info['day_n'] = ceil(($Info['edate']-time())/86400); } $Info['edate_n'] = date("Y-m-d",$Info['edate']); } if($Info['provinceid']){ $Info['city_n'] = $cache['city_name'][$Info['provinceid']]; } if($Info['cityid']){ $Info['city_n'].= '-'.$cache['city_name'][$Info['cityid']]; } if($Info['three_cityid']){ $Info['city_n'].= '-'.$cache['city_name'][$Info['three_cityid']]; } } return $Info; } /** * @desc 查询店铺招聘数目 * @param array $where * @return boolean|string|void */ public function getOnceNum($where = array()) { return $this -> select_num('once_job', $where); } /** * 删除信息 * @param 表:once_job * @param 功能说明:根据条件$id 删除once_job表里面信息 * @param 引用字段:$id :条件 2:$data:字段 * */ public function delOnce($id,$data=array()){ if(!empty($id)){ if(is_array($id)){ $ids = $id; $return['layertype'] = 1; }else{ $ids = @explode(',', $id); $return['layertype'] = 0; } $id = pylode(',', $ids); $return['id'] = $this -> delete_all('once_job',array('id' => array('in',$id)),''); if($return['id']){ $return['msg'] = '店铺招聘(ID:'.$id.')删除成功'; $return['errcode'] = '9'; }else{ $return['msg'] = '店铺招聘(ID:'.$id.')删除失败'; $return['errcode'] = '8'; } }else{ $return['msg'] = '系统繁忙'; $return['errcode'] = '8'; $return['layertype'] = 0; } return $return; } /** * 审核信息 * @param 表:once_job * @param 功能说明:根据条件$id 审核once_job表里面信息 * @param 引用字段:$id :条件 2:$data['status']:审核状态 * */ public function setOnceStatus($id,$data = array()){ if(!empty($id)){ $where['id'] = array('in',pylode(',',$id)); $updata = array( 'status' => $data['status']==2?1:$data['status'], ); if($data['status']==2){ $this -> update_once('company_order',array('order_state'=>2),array('once_id'=>array('in',pylode(",",$id)),'order_state'=>1)); $this -> update_once('once_job',array('pay'=>'2'),array('id'=>array('in',pylode(",",$id)),'pay'=>1)); } $wfpay = $this->select_all('once_job',array('id'=>array('in',pylode(",",$id)),'pay'=>'1')); if($wfpay){ $return['status'] = 3; }else{ $nid = $this -> update_once('once_job',$updata,$where); if($nid){ $return['status'] = $data['status']==2?1:$data['status']; } } if($nid){ include_once('log.model.php'); $logM = new log_model($this->db, $this->def); $logM->addAdminLog('店铺(ID:'.$id.')审核成功'); } return $return; } } /** * 更新信息 * @param 表:once_job * */ public function upOnce($upData = array(),$whereData = array()){ return $this -> update_once('once_job',$upData,$whereData); } /** * 添加、更新信息 * @param 表:once_job * @param 功能说明:根据条件$id 修改once_job表里面信息 * @param 引用字段:$id :条件 2:$data:引用字段名称 * @param $data['password'] :密码是否修改 * */ public function addOnceInfo($data = array(),$type=''){ $post = $data['post']; $id = intval($data['id']); include_once ('cache.model.php'); $cacheM = new cache_model($this->db, $this->def); $cache = $cacheM -> GetCache('city'); $citymsg = false; if(!empty($cache['city_type'])){ if($post['cityid']==''){ $citymsg = true; } }else{ if($post['provinceid']==''){ $citymsg = true; } } if($post['title']==''){ return array('msg'=>'请填写职位名称!','errcode'=>8); } if ($post['title'] && mb_strlen($post['title'],'utf8')>30){ return array('msg'=>'我想招聘标题最多30个字!','errcode'=>8); } if($post['salary']==''){ return array('msg'=>'请填写工资!','errcode'=>8); } if($post['edate']==''){ return array('msg'=>'请填写有效期!','errcode'=>8); } if($citymsg){ return array('msg'=>'请选择工作地区!','errcode'=>8); } if($post['address']==''){ return array('msg'=>'请选择工作地点!','errcode'=>8); } if($post['require']==''){ return array('msg'=>'请填写招聘要求!','errcode'=>8); } if($post['companyname']==''){ return array('msg'=>'请填写店铺名称!','errcode'=>8); } if($post['phone']==''){ return array('msg'=>'请填写联系电话!','errcode'=>8); } if($post['linkman']==''){ return array('msg'=>'请填写联系人!','errcode'=>8); } include_once ('notice.model.php'); $noticeM = new notice_model($this->db, $this->def); //短信验证 if ($this->config['sy_msg_isopen']==1) { if (isset($data['moblie_code']) && !empty($data['moblie_code'])) { $companywhere['check'] = $post['phone']; $companywhere['type'] = 2; $companywhere['orderby'] = array('ctime,desc'); include_once('company.model.php'); $CompanyM = new company_model($this->db, $this->def); $cert_arr = $CompanyM->getCertInfo($companywhere); if (is_array($cert_arr)) { $checkTime = $noticeM->checkTime($cert_arr['ctime']); if ($checkTime) { $res = $data['moblie_code'] == $cert_arr['check2'] ? true : false; if ($res == false) { return array('msg' => '短信验证码错误!', 'errcode' => '8'); } } else { return array('msg' => '验证码验证超时,请重新点击发送验证码!', 'errcode' => '8'); } } else { return array('msg' => '验证码发送不成功,请重新点击发送短信验证码!', 'errcode' => '8'); } } }else{ if($type!='admin' && $type!='wxapp'){ if ($this->config['code_kind'] ==1) { $result = $noticeM->jycheck($_POST['authcode'], '店铺招聘'); if (!empty($result)) { return array('msg' => $result['msg'], 'errcode' => 8); } } } } if($post['password']){ $post['password'] = md5($post['password']); }else{ unset($post['password']); } if($post['file']['tmp_name'] || $post['base']){ $upArr = array( 'file' => $post['file'], 'dir' => 'once', 'base' => $post['base'], 'preview' => $post['preview'] ); $result = $this -> upload($upArr); if (!empty($result['msg'])){ $return['msg'] = $result['msg']; $return['errcode'] = 8; return $return; }elseif (!empty($result['picurl'])){ $pictures = $result['picurl']; } } unset($post['file']); unset($post['base']); unset($post['preview']); if(isset($pictures)){ $post['pic'] = $pictures; } if(!empty($id)){ if($type!='admin'){ $arr = $this->getOnceInfo(array('id'=>$id,'password'=>$post['password'])); if(empty($arr)){ if($data['utype']=='wap'){ $return['url'] = Url('wap',array('c'=>'once','a'=>'show','id'=>$id)); } $return['msg'] = '密码不正确'; $return['errcode'] = 8; return $return; } } $nid = $this -> update_once('once_job',$post,array('id'=>$id)); if($nid){ if($this->config['com_fast_status']=="0" && $type !='admin'){ require_once('admin.model.php'); $adminM = new admin_model($this->db,$this->def); $adminM->sendAdminMsg(array('first'=>'有新的店铺招聘《'.$post['title'].'》需要审核','type'=>17)); $msg="修改成功,等待审核!"; }else{ $msg="修改成功!"; } if($data['utype']=='wap'){ $return['url']=Url('wap',array('c'=>'once')); }else{ $return['url']=Url('once'); } $return['msg'] = $msg; $return['errcode'] = 9; }else{ $return['msg'] = '修改失败!'; $return['errcode'] = 8; } }else{ if($this->config['once_pay_price'] != "0" && $this->config['once_pay_price'] != "" && $type != 'admin'){ $post['pay'] = '1'; }else{ $post['pay'] = '2'; } $s_time = strtotime(date('Y-m-d 00:00:00')); //今天开始时间 $m_once = $this->getOnceNum(array('login_ip' => fun_ip_get(),'ctime'=>array('>',$s_time))); $totalMessNum = $this->getOnceNum(array('ctime'=>array('>',$s_time)));//当天总的已发布量 if($this->config['sy_once_totalnum'] == 0 || ($this->config['sy_once_totalnum'] > $totalMessNum)) { if ($this->config['sy_once'] > $m_once || $this->config['sy_once'] < 1) { $nid = $this->insert_into('once_job', $post); $return['id'] = $nid; if ($nid) { $oldorder = $this->select_once("company_order", array('order_state' => 1, 'type' => 25, 'fast' => $data['fast'])); if (is_array($oldorder)) { $this->delete_all('once_job', array('id' => $oldorder['once_id'], 'status' => 0, 'pay' => 1)); $this->delete_all('company_order', array('order_state' => 1, 'type' => 25, 'fast' => $data['fast'])); } if ($this->config['once_pay_price'] != "0" && $this->config['once_pay_price'] != "" && $type != 'admin') { $return['msg'] = '发布信息添加完成,请付款'; $return['errcode'] = 10; if ($data['utype'] == 'wap') { $return['url'] = Url('wap', array('c' => 'once', 'a' => 'pay', 'id' => $nid, 'price' => $this->config['once_pay_price'] * $post['edate1'])); } else {//pc $return['url'] = $nid; } } else { if ($this->config['com_fast_status'] == "0" && $type != 'admin') { require_once('admin.model.php'); $adminM = new admin_model($this->db, $this->def); $adminM->sendAdminMsg(array('first' =>'有新的店铺招聘《'.$post['title'].'》需要审核', 'type' => 17)); $msg = "发布成功,等待审核!"; } else { $msg = "发布成功!"; } if ($data['utype'] == 'wap') { $return['url'] = Url('wap', array('c' => 'once')); } else { $return['url'] = Url('once'); } $return['msg'] = $msg; $return['errcode'] = 9; } } else { $return['msg'] = '发布失败!'; $return['errcode'] = 8; } } else { $return['msg'] = '一天内只能发布' . $this->config['sy_once'] . '次!'; $return['errcode'] = 8; if ($data['utype'] == 'wap') { $return['url'] = Url('wap', array('c' => 'once')); } } }else{ $return['msg'] = '网站发布店铺招聘本日已到上限,如有急需,请联系网站客服!'; $return['errcode'] = 8; } } return $return; } /** * 处理单个图片上传 * @param file/需上传文件; dir/上传目录; type/上传图片类型; base/需上传base64; preview/pc预览即上传 */ private function upload($data = array('file'=>null,'dir'=>null,'type'=>null,'base'=>null,'preview'=>null)){ include_once('upload.model.php'); $UploadM = new upload_model($this->db, $this->def); $upArr = array( 'file' => $data['file'], 'dir' => $data['dir'], 'type' => $data['type'], 'base' => $data['base'], 'preview' => $data['preview'] ); $return = $UploadM -> newUpload($upArr); return $return; } /** * 批量延迟店铺时间 * @param 表:once_job * @param 功能说明:根据条件$id * @param 引用字段:$id :条件 2:$data['edate']:延迟时间 * */ public function setOnceCtime($id,$data = array()){ $ids = @explode(',',$id); if(is_array($ids)){ $posttime = $data['endtime'] * 86400; $where['id'] = array('in',pylode(',',$ids)); $rows = $this -> getOnceList($where,array('field'=>'`id`,`edate`')); foreach($rows as $value){ if($value['edate'] < time()){ $time = time()+$posttime; }else{ $time = $value['edate']+$posttime; } $return['id'] = $this -> update_once("once_job",array('edate'=>$time),array('id'=>$value['id'])); } if($return['id']){ $return['msg'] = '店铺招聘延期(ID:'.implode(',', $id).')设置成功!'; $return['errcode'] = 9; }else{ $return['msg'] = '店铺招聘延期(ID:'.implode(',', $id).')设置失败!'; $return['errcode'] = 8; } }else{ $return['msg'] = '请选择要延期的店铺招聘!'; $return['errcode'] = 8; } return $return; } //发布店铺招聘付款 public function payOnce($data=array('from'=>'')){ $id = intval($data['id']); if(!empty($id)){ $ordernum = $this -> select_num('company_order',array('once_id'=>$id,'order_state'=>1)); if($ordernum){ $this -> delete_all('company_order',array('once_id'=>$id),''); } $row = $this->getOnceInfo(array('id'=>$id,'pay'=>1)); if(is_array($row)){ //生成相关订单 $dingdan = time().rand(10000,99999); $fast = time().rand(10000,99999); $orderData=array( 'type' => 25, 'order_id' => $dingdan, 'order_price' => $data['once_price'], 'order_time' => time(), 'order_type' => $data['pay_type'], 'order_state' => 1, 'order_remark' => '店铺招聘收费', 'did' => $data['did'], 'once_id' => $id, 'fast' => $fast ); $nid = $this -> insert_into("company_order",$orderData); if($nid && $dingdan){ if($data['from'] != 'wxapp'){ include_once('cookie.model.php'); $cookieM = new cookie_model($this->db, $this->def); $cookieM->SetCookie("fast",$fast,time() + 86400); } //订单生成成功 return array('error'=>0,'oid'=>$nid,'orderid'=>$dingdan,'id'=>$id,'fast'=>$fast); }else{ //生成失败 返回具体原因 return array('error'=>1,'msg'=>"下单失败"); } }else{ return array('error'=>1,'msg'=>"店铺数据不存在"); } } } //管理信息:刷新、修改、删除 public function setOncePassword($data = array()){ session_start(); if (!empty($data['code'])){ if(md5(strtolower($data['code'])) != $_SESSION['authcode'] || empty($_SESSION['authcode'])){//验证码错误 unset($_SESSION['authcode']); return array('msg'=>'验证码错误!','errcode'=>8,'type'=>1); } } $jobinfo = $this->getOnceInfo(array('id'=>(int)$data['id'],'password'=>md5($data['password']))); if(!is_array($jobinfo) || empty($jobinfo)){ return array('msg'=>'密码错误!','errcode'=>8,'type'=>2); }else{ $_SESSION['oncepass'] = md5($data['password']); } if($data['type']==1){//刷新 if($this->config['com_xin']>$jobinfo['sxnumber']){ $this->upOnce(array('ctime'=>time(),'sxtime'=>time(),'sxnumber'=>$jobinfo['sxnumber']+1),array('id'=>(int)$jobinfo['id'])); return array('msg'=>'刷新成功','errcode'=>9,'type'=>3); }else{ return array('msg'=>'对不起你已达到一天最多刷新次数!','errcode'=>8,'type'=>5); } }elseif($data['type']==3){//删除 $this -> delOnce((int)$jobinfo['id']); return array('msg'=>'删除成功!','errcode'=>9,'type'=>4); }else{//修改 if($data['utype']=='pc'){ $url = Url('once',array('c'=>'add','id'=>(int)$jobinfo['id'])); return array('url'=>$url); }elseif($data['utype']=='wap'){ $url = Url('wap',array('c'=>'once','a'=>'add','id'=>(int)$jobinfo['id'])); return array('url'=>$url); }else{ return array('msg'=>'密码正确!','errcode'=>9,'type'=>2); } } } } ?>