123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590 |
- <?php
- namespace App\Http\Controllers\Api\Wechat;
- use App\Http\Controllers\Api\ApiBaseController;
- use App\Services\Common\WechatService;
- use App\Wechat\Official\EventHandle;
- use EasyWeChat\Kernel\Messages\Message;
- use Illuminate\Support\Facades\Cache;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Hash;
- class TestController extends ApiBaseController
- {
- /**
- * @var WechatService
- */
- private $wechatService;
- /**
- * OfficialController constructor.
- * @param WechatService $wechatService
- */
- public function __construct(WechatService $wechatService)
- {
- $this->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]));
- }
- }
- }
- }
|