wechatService = $wechatService; } public function index() { $official = $this->wechatService->getOfficialAccount(); $official->server->push(EventHandle::class, Message::EVENT); return $official->server->serve(); } public function pushMenu() { $official = $this->wechatService->getOfficialAccount(); $menu = [ [ "name" => "个人服务", "sub_button" => [ [ "type" => "click", "name" => "刷新简历", "key" => "PersonResumeRefresh", ], [ "type" => "view", "name" => "面试邀请", "url" => route('mobile.auth.thirdlogin.official') . '?redirect_url=' . urlencode(route('mobile.person.jobs_interview')), ], [ "type" => "view", "name" => "投递反馈", "url" => route('mobile.auth.thirdlogin.official') . '?redirect_url=' . urlencode(route('mobile.person.apply_jobs')), ], [ "type" => "view", "name" => "职位搜索", "url" => route('mobile.auth.thirdlogin.official') . '?redirect_url=' . urlencode(route('mobile.jobs')), ], [ "type" => "view", "name" => "个人中心", "url" => route('mobile.auth.thirdlogin.official') . '?redirect_url=' . urlencode(route('mobile.person.index')), ], ], ], [ "name" => "企业服务", "sub_button" => [ [ "type" => "click", "name" => "刷新职位", "key" => "CompanyJobRefresh", ], [ "type" => "view", "name" => "职位管理", "url" => route('mobile.auth.thirdlogin.official') . '?redirect_url=' . urlencode(route('mobile.firm.jobs.list')), ], [ "type" => "view", "name" => "应聘简历", "url" => route('mobile.auth.thirdlogin.official') . '?redirect_url=' . urlencode(route('mobile.firm.resume.apply')), ], [ "type" => "view", "name" => "简历搜索", "url" => route('mobile.auth.thirdlogin.official') . '?redirect_url=' . urlencode(route('mobile.resumes')), ], ], ], [ "name" => "更多精彩", "sub_button" => [ [ "type" => "click", "name" => "每日签到", "key" => "EverydaySignIn", ], [ "type" => "view", "name" => "账号绑定", "url" => route('mobile.auth.thirdlogin.official'), ], [ "type" => "view", "name" => "最近招聘会", "url" => route('mobile.auth.thirdlogin.official') . '?redirect_url=' . urlencode(route('mobile.jobfair.index')), ], [ "type" => "view", "name" => "进入官网", "url" => route('mobile.home'), ], ], ], ]; $official->menu->create($menu); } public function importCompany() { $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader("Xls"); // 指定为xlsx格式 $spreadsheet = $reader->load(public_path() . "/company.xls"); $sheet = $spreadsheet->getActiveSheet(); $res = []; foreach ($sheet->getRowIterator(2) as $row) { $tmp = []; foreach ($row->getCellIterator() as $cell) { $tmp[] = trim($cell->getFormattedValue()); } $res[$row->getRowIndex()] = $tmp; } foreach ($res as $v) { $this->_company($v); } return '成功'; } private $_citys = [ 624 => '青阳街道', 625 => '梅岭街道', 626 => '西园街道', 627 => '罗山街道', 628 => '新塘街道', 629 => '灵源街道', 630 => '安海街道', 631 => '磁灶镇', 632 => '陈埭镇', 633 => '池店镇', 634 => '东石镇', 635 => '内坑镇', 636 => '深沪镇', 637 => '金井镇', 638 => '龙湖镇', 639 => '永和镇', 640 => '英林镇', 641 => '紫帽镇', 642 => '西滨镇', 643 => '经济开发区', ]; private function _company($v) { //公司信息 $date = date('Y-m-d H:i:s'); $info = [ 'username' => $v[0], 'mobile' => $v[1], 'mobile_audit' => 1, 'email' => $v[2], 'reg_time' => time(), 'reg_ip' => ip2long('127.0.0.1'), 'reg_type' => 1, 'reg_source' => 1, 'reg_source_cn' => '网页端', 'companyname' => $v[3], 'password' => Hash::make($v[4]), 'nature' => 54, 'trade' => 45, 'district' => '623.' . $v[5], 'district_cn' => '晋江市/' . $this->_citys[$v[5]], 'scale' => $v[6], 'registered' => $v[7] ?: 0, 'address' => $v[8], 'contact' => $v[3], 'landline_tel' => $v[10], 'organization_code' => $v[11], 'contents' => $v[3], 'short_name' => $v[3], 'setmeal_id' => 1, 'setmeal_name' => '免费会员', 'audit' => 1, 'map_open' => 0, 'robot' => 1, 'short_desc' => $v[3], 'created_at' => $date, 'updated_at' => $date, 'certificate_img' => 'company/certificate/JE0IhhkErSZ1Zofzmynl9FPitkOHmGzHuaTORFAr.png', 'certificate_img_audit' => 1, ]; $company_id = DB::table('companys')->insertGetId($info); //操作日志 $log = [ 'log_uid' => $company_id, 'log_username' => $info['companyname'], 'log_value' => '注册成功', 'log_ip' => ip2long('127.0.0.1'), 'log_address' => '未知', 'log_utype' => 1, 'log_source' => '网页版', 'type' => 1000, 'status' => 1, 'created_at' => $date, 'updated_at' => $date, ]; DB::table('members_logs')->insert($log); //任务表 $task = []; $task_item = [ 'uid' => $company_id, 'task_id' => 17, 'utype' => 1, 'points' => 50, 'once' => 1, 'created_at' => $date, 'updated_at' => $date, ]; $task[] = $task_item; $task_item['task_id'] = 29; $task_item['points'] = 20; $task[] = $task_item; $task_item['task_id'] = 27; $task_item['points'] = 50; $task[] = $task_item; $task_item['task_id'] = 30; $task[] = $task_item; DB::table('task_logs')->insert($task); //注册赠送套餐 $members_setmeals = [ 'uid' => $company_id, 'utype' => 1, 'setmeal_id' => 1, 'setmeal_name' => '免费会员', 'jobs_meanwhile' => 999, 'refresh_jobs_free' => 9999, 'download_resume' => 9999, 'starttime' => time(), 'setmeal_img' => 'admin/images/QQ截图20200107164132.png', 'show_apply_contact' => 0, 'created_at' => $date, 'updated_at' => $date, ]; DB::table('members_setmeals')->insert($members_setmeals); $members_setmeals_record = [ 'uid' => $company_id, 'setmeal_id' => 1, 'setmeal_name' => '免费会员', 'jobs_meanwhile' => 999, 'refresh_jobs_free' => 9999, 'download_resume' => 9999, 'starttime' => time(), 'show_apply_contact' => 0, 'created_at' => $date, 'updated_at' => $date, ]; DB::table('members_setmeals_record')->insert($members_setmeals_record); $members_points = [ 'uid' => $company_id, 'utype' => 1, 'points' => 170, 'created_at' => $date, 'updated_at' => $date, ]; DB::table('members_points')->insert($members_points); $members_handsels = []; $members_handsels_item = [ 'uid' => $company_id, 'utype' => 1, 'htype' => 'reg', 'htype_cn' => '注册账号', 'operate' => 1, 'points' => 50, 'created_at' => $date, 'updated_at' => $date, ]; $members_handsels[] = $members_handsels_item; $members_handsels_item['htype'] = 'set_map'; $members_handsels_item['htype_cn'] = '开通电子地图'; $members_handsels_item['points'] = 20; $members_handsels[] = $members_handsels_item; $members_handsels_item['htype'] = 'done_profile'; $members_handsels_item['htype_cn'] = '完善企业资料'; $members_handsels_item['points'] = 50; $members_handsels[] = $members_handsels_item; $members_handsels_item['htype'] = 'license_audit'; $members_handsels_item['htype_cn'] = '上传营业执照并通过认证'; $members_handsels_item['points'] = 50; $members_handsels[] = $members_handsels_item; DB::table('members_handsels')->insert($members_handsels); //增加审核记录 $audit_reasons = [ 'type' => 8, 'status' => 1, 'type_id' => $company_id, 'audit_man' => 'admin', 'created_at' => $date, 'updated_at' => $date, ]; DB::table('audit_reasons')->insert($audit_reasons); //增加站内信 $pms = [ 'utype' => 1, 'msgtype' => 1, 'msgfromuid' => 1, 'msgfrom' => 'admin', 'msgtoname' => $info['companyname'], 'msgtouid' => $company_id, 'message' => '企业通过审核【备注】', 'started_at' => 0, 'ended_at' => 0, 'new' => 1, 'created_at' => $date, 'updated_at' => $date, ]; DB::table('pms')->insert($pms); } public function importJob() { $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader("Xls"); // 指定为xlsx格式 $spreadsheet = $reader->load(public_path() . "/job.xls"); $sheet = $spreadsheet->getActiveSheet(); $res = []; foreach ($sheet->getRowIterator(2) as $row) { $tmp = []; foreach ($row->getCellIterator() as $cell) { $tmp[] = trim($cell->getFormattedValue()); } $item = array_filter($tmp); if (!empty($item)) { $res[$row->getRowIndex()] = $tmp; } } foreach ($res as $v) { $this->_job($v); } return '成功'; } private function _job($v) { //职位信息 $date = date('Y-m-d H:i:s'); $company = DB::table('companys')->where('id', $v[0])->first(); $company = json_decode(json_encode($company), true); $info = [ 'valid' => 1, 'jobs_name' => $v[1], 'company_id' => $company['id'], 'company_name' => $company['companyname'], 'company_addtime' => $company['reg_time'], 'company_audit' => $company['audit'], 'nature' => $v[2], 'sex' => 0, 'age' => '-', 'amount' => $v[10], 'topclass' => $v[3], 'category' => $v[4], 'subclass' => $v[5], 'trade' => $company['trade'], 'scale' => $company['scale'], 'district' => '623.' . $v[6], 'wage' => $v[7], 'wage_max' => $v[9] ?: 0, 'wage_min' => $v[8] ?: 0, 'jobs_content' => $v[11], 'deadline' => 1644311483, 'refresh_time' => time(), 'setmeal_id' => 1, 'setmeal_name' => '免费会员', 'audit' => 1, 'robot' => 1, 'created_at' => $date, 'updated_at' => $date, ]; $info = array_filter($info); $job_id = DB::table('jobs')->insertGetId($info); //记录套餐使用 $members_setmeal_logs = [ 'log_uid' => $company['id'], 'log_utype' => 1, 'log_username' => $company['companyname'], 'log_value' => '发布了职位' . $info['jobs_name'], 'log_ip' => ip2long('127.0.0.1'), 'log_address' => '未知', 'log_leave' => 998, 'log_source' => '网页版', 'created_at' => $date, 'updated_at' => $date, ]; $members_setmeal_logs = array_filter($members_setmeal_logs); DB::table('members_setmeal_logs')->insert($members_setmeal_logs); //分站 $subsite_jobs = [ 'subsite_id' => 0, 'jobs_id' => $job_id, 'created_at' => $date, 'updated_at' => $date, ]; $subsite_jobs = array_filter($subsite_jobs); DB::table('subsite_jobs')->insert($subsite_jobs); //添加联系人信息 $jobs_contact = [ 'job_id' => $job_id, 'contact' => $company['contact'], 'telephone' => $company['mobile'], 'email' => $company['email'], 'landline_tel' => $company['landline_tel'], 'address' => $company['address'], 'contact_show' => 1, 'telephone_show' => 1, 'email_show' => 1, 'landline_tel_show' => 1, 'created_at' => $date, 'updated_at' => $date, ]; $jobs_contact = array_filter($jobs_contact); DB::table('jobs_contacts')->insert($jobs_contact); //添加日志 $members_log = [ 'log_uid' => $company['id'], 'log_username' => $company['companyname'], 'log_value' => '发布了职位(id:' . $job_id . ')', 'log_ip' => ip2long('127.0.0.1'), 'log_address' => '未知', 'log_utype' => 1, 'log_source' => '网页版', 'subsite_id' => 0, 'type' => 1002, 'status' => 1, 'created_at' => $date, 'updated_at' => $date, ]; $members_log = array_filter($members_log); DB::table('members_logs')->insert($members_log); //增加审核记录 $audit_reasons = [ 'type' => 3, 'status' => 2, 'type_id' => $job_id, 'audit_man' => 'admin', 'created_at' => $date, 'updated_at' => $date, ]; $audit_reasons = array_filter($audit_reasons); DB::table('audit_reasons')->insert($audit_reasons); //增加站内信 $pms = [ 'utype' => 1, 'msgtype' => 1, 'msgfromuid' => 1, 'msgfrom' => 'admin', 'msgtoname' => $company['companyname'], 'msgtouid' => $company['id'], 'message' => '职位ID:' . $job_id . ',职位名称:' . $info['jobs_name'] . ',通过审核,【备注】', 'started_at' => 0, 'ended_at' => 0, 'new' => 1, 'created_at' => $date, 'updated_at' => $date, ]; $pms = array_filter($pms); DB::table('pms')->insert($pms); } public function importData() { $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader("Xlsx"); // 指定为xlsx格式 $spreadsheet = $reader->load(public_path() . "/1.xlsx"); $sheet = $spreadsheet->getActiveSheet(); $res = []; foreach ($sheet->getRowIterator(2) as $row) { $tmp = []; foreach ($row->getCellIterator() as $cell) { $tmp[] = trim($cell->getFormattedValue()); } $item = array_filter($tmp); if (!empty($item)) { $res[$row->getRowIndex()] = $tmp; } } foreach ($res as $v) { $this->_dealData($v); } return '成功'; } private function _dealData($v) { $arr = [ 'avatar' => '头像', 'idcard_just' => '身份证正面', 'idcard_back' => '身份证反面', 'graduate' => '毕业证书', 'degree' => '学位证书', 'el_degree' => '学信网《教育部学历证书电子注册备案表》', 'qualification1' => '职(执)业资格证书、专业技术资格(职务)证书扫描件1', 'qualification2' => '职(执)业资格证书、专业技术资格(职务)证书扫描件2', 'prove1' => '工作经历证明1', 'prove2' => '工作经历证明2', 'prove3' => '工作经历证明3', 'prove4' => '工作经历证明4', 'prove5' => '工作经历证明5', 'prove6' => '工作经历证明6', 'prove7' => '工作经历证明7', 'prove8' => '工作经历证明8', 'prove9' => '工作经历证明9', 'prove10' => '工作经历证明10', ]; $info = [ 'name' => $v[0], 'avatar' => $v[3], 'idcard_just' => $v[28], 'idcard_back' => $v[29], 'graduate' => $v[31], 'degree' => $v[32], 'el_degree' => $v[33], 'qualification1' => $v[34], 'qualification2' => $v[35], 'prove1' => $v[36], 'prove2' => $v[37], 'prove3' => $v[38], 'prove4' => $v[39], 'prove5' => $v[40], 'prove6' => $v[41], 'prove7' => $v[42], 'prove8' => $v[43], 'prove9' => $v[44], 'prove10' => $v[45], ]; $path = storage_path('a/' . $info['name']); foreach ($arr as $key => $value) { if (!empty($info[$key])) { $file_nane = $path . '/' . $value . '.png'; file_put_contents($file_nane, file_get_contents($info[$key])); } } } }