| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590 | <?phpnamespace 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]));            }        }    }}
 |