| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262 | <?phpnamespace App\Models;use App\Models\Jobfair\JobfairPutJob;use App\Search\Traits\CompanySearchable;use Illuminate\Database\Eloquent\SoftDeletes;use Illuminate\Foundation\Auth\User;/** * App\Models\Organization * * @property int $id * @property string $tpl 企业模版 * @property string $username 企业登录用户名 * @property int $mobile 手机号 * @property int $mobile_audit 手机认证 1:认证通过 2:认证失败0未认证 * @property string $email 邮箱 * @property int $email_audit "邮箱认证 1:认证通过 2:认证失败0未认证" * @property int $reg_time 注册时间 * @property int $reg_ip 注册IP * @property int $last_login_time 上次登录时间 * @property int $last_login_ip 上次登录IP * @property string $reg_address 注册地址 * @property int $remind_email_time 下次邮件提醒时间 * @property int $remind_email_ex_time 已经邮件提醒次数 * @property int $reg_type 注册方式(1:手机,2:邮箱,3:微信) * @property int $reg_source 注册来源 1:网页端 2:手机端 3:微信小程序 * @property string|null $reg_source_cn 注册来源 1:网页端 2:手机端 3:微信小程序 * @property string $companyname 企业名称 * @property string $password 密码 * @property int $nature 企业性质编号 * @property int $trade 企业行业编号 * @property int $district 所在地区大类 * @property int $district_cn 所在地区大类 * @property int $street 所在街道ID * @property int $scale 企业规模ID * @property int $registered 注册资金 * @property string $currency 资金类型人民币/美元 * @property string $address 企业地址 * @property string $contact 联系人 * @property string $landline_tel 座机 * @property string|null $website 企业网址 * @property int $sms_num 短信数量 * @property string $certificate_img 营业执照 * @property string|null $logo 企业logo * @property string $organization_code 组织机构代码 * @property string|null $contents 企业介绍 * @property int $setmeal_id 套餐ID * @property string $setmeal_name 套餐名称 * @property int $audit 审核状态:1审核通过,2待审核,3审核未通过 * @property int $subsite_id 分站ID * @property int $map_open 电子地图(1:开启 0 :关闭) * @property float $map_x X坐标 * @property float $map_y Y坐标 * @property int $map_zoom 地图放大级别 * @property int $refresh_time 刷新时间 * @property int $click 点击量 * @property int $user_status 用户身份 * @property int $contact_show 是否显示联系人:1是0否 * @property int $telephone_show 是否显示联系电话:1是0否 * @property int $email_show 是否显示email:1是0否 * @property int $landline_tel_show 是否显示座机:1是0否 * @property int $robot 是否为采集信息:0人工1采集 * @property int $comment 评论数 * @property int $resume_processing 简历处理率 * @property string $tag 标签 * @property int $wzp_tpl 微信招聘模板:0否1是 * @property int $jobs 职位 * @property int $replys 回复 * @property string $qq qq * @property string $short_name 企业简称 * @property string|null $remember_token * @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $updated_at * @property string|null $deleted_at * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Jobs[] $job * @property-read \App\Models\MembersPoint $membersPoints * @property-read \App\Models\MembersSetmeal $membersSetmeal * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Order[] $orders * @property-read \App\Models\Promotion $promotion * @method static bool|null forceDelete() * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company newQuery() * @method static \Illuminate\Database\Query\Builder|\App\Models\Company onlyTrashed() * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company query() * @method static bool|null restore() * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereAddress($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereAudit($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereCertificateImg($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereClick($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereComment($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereCompanyname($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereContact($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereContactShow($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereContents($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereCurrency($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereDeletedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereDistrict($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereEmail($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereEmailAudit($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereEmailShow($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereJobs($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereLandlineTel($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereLandlineTelShow($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereLastLoginIp($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereLastLoginTime($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereLogo($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereMapOpen($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereMapX($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereMapY($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereMapZoom($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereMobile($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereMobileAudit($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereNature($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereOrganizationCode($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company wherePassword($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereQq($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereRefreshTime($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereRegAddress($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereRegIp($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereRegSource($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereRegSourceCn($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereRegTime($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereRegType($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereRegistered($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereRememberToken($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereRemindEmailExTime($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereRemindEmailTime($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereReplys($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereResumeProcessing($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereRobot($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereScale($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereSetmealId($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereSetmealName($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereShortDesc($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereShortName($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereSmsNum($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereStreet($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereSubsiteId($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereTag($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereTelephoneShow($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereTpl($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereTrade($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereUpdatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereUserStatus($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereUsername($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereWebsite($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Company whereWzpTpl($value) * @method static \Illuminate\Database\Query\Builder|\App\Models\Company withTrashed() * @method static \Illuminate\Database\Query\Builder|\App\Models\Company withoutTrashed() * @mixin \Eloquent */class Organization extends User{    use SoftDeletes, CompanySearchable;    protected $table = 'organization';    protected $guarded=[''];    static function getTableName()    {        $organization = new Organization();        return $organization->getTable();    }    public function orders()    {        return $this->hasMany(Order::class, 'uid', 'id');    }    public function service()    {        return $this->hasMany(Service::class, 'uid', 'id');    }    public function imgs()    {        return $this->hasMany(CompanyImg::class, 'company_id');    }    public function membersSetmeal()    {        return $this->hasOne(MembersSetmeal::class, 'uid');    }    public function membersPoints()    {        return $this->hasOne(MembersPoint::class, 'uid');    }    public static function companyAudit($id, $data)    {        return Company::whereIn('id', $id)->update($data);    }    public function promotion()    {        return $this->belongsTo(Promotion::class, 'id');    }    public function getTagAttribute($value)    {        return explode(',', $value);    }    public function setTagAttribute($value)    {        $this->attributes['tag'] = implode(',', $value);    }    public function resumes()    {        return $this->belongsToMany(Resume::class, 'company_favorites', 'company_id', 'resume_id')->withTimestamps();    }    public function subsites()    {        return $this->belongsTo(Subsite::class, 'subsite_id');    }    public function companyConsultant()    {        return $this->hasOne(CompanyConsultant::class,'company_id','id');    }    public function toSearchableArray()    {        $arr=$this->load(['membersSetmeal'])->toArray();        $arr['district'] = string_to_array('.', $arr['district']);        $arr['district_cn'] = string_to_array('/', $arr['district_cn']);        $arr['trade_cn'] = get_category($arr['trade']);        foreach ($arr['tag'] as $key => $val) {            $arr['tag'][$key] = (int)$val;        }        foreach ($arr['tag'] as $key => $val) {            $arr['tag_cn'][$key] =get_category($val);        }        $arr['scale_cn'] = get_category($arr['scale']);        $arr['nature_cn'] = get_category($arr['nature']);        $arr['location'] = [            'lat'=>is_numeric($arr['map_y'])?$arr['map_y']:0,            'lon'=>is_numeric($arr['map_y'])?$arr['map_y']:0        ];        $arr['subsite_ids'] =  [$arr['subsite_id']];        $audit_num = $this->job()->where(['valid'=>1,'audit'=>1,'display'=>1])->count();        $wait_audit_num = $this->job()->where(['valid'=>1,'audit'=>2,'display'=>1])->count();        $arr['job_audit_num'] = $audit_num;        $arr['job_wait_num'] = $wait_audit_num;        $arr['job_sum_num'] = (int)$wait_audit_num + (int)($audit_num);        $new_refresh_job = $this->job()->where(['audit'=>1,'valid'=>1,'display'=>1])->orderBy('refresh_time', 'desc')->first();        if ($new_refresh_job) {            $arr['job_new_refresh'] = $new_refresh_job->refresh_time;        } else {            $arr['job_new_refresh'] = null;        }        unset($arr['password']);        unset($arr['remember_token']);        unset($arr['map_x']);        unset($arr['map_y']);        unset($arr['map_zoom']);        unset($arr['map_open']);        return $arr;    }}
 |