memberRepository = $memberRepository; $this->companyRepository = $companyRepository; $this->memberLogRepository = $memberLogRepository; $this->memberInfoRepository = $memberInfoRepository; $this->organizationRepository = $organizationRepository; } /** * 检查字段惟一 * @param $utype 1企业,2个人 * @param $key * @param $value * @return bool */ public function checkUnique($utype, $key, $value) { if (empty($value)) { return true; } if ($utype == 1) { if (config('aix.companyset.comset.other_set.company_repeat', 0) == 1 && $key == 'companyname') { return true; } return $this->companyRepository->checkUniaue($key, $value); } if ($utype == 2 && $key == 'id_card') { if (isset(request()->vail) && !empty(request()->vail)) { if (isCreditNo($value)) { return true; } } else { if ($this->memberInfoRepository->checkUniaue($key, $value)) { return true; } } } else { if ($this->memberRepository->checkUniaue($key, $value)) { return true; } } return false; } /** * 企业注册 * @param array $data * @return mixed * @throws \ErrorException * @throws \Prettus\Validator\Exceptions\ValidatorException */ public function registerCompany(array $data) { $data = array_only($data, ['companyname', 'contact', 'company_mobile', 'username', 'email', 'company_password', 'utype', 'reg_type', 'reg_source', 'landline_tel']); $data['reg_source_cn'] = $this->getRegSource($data['reg_source']); $data['reg_time'] = time(); $data['short_name'] = \Illuminate\Support\Str::substr($data['companyname'], 0, 25); $data['last_login_time'] = time(); $data['refresh_time'] = time(); $data['mobile'] = $data['company_mobile']; unset($data['company_mobile']); $data['reg_ip'] = ip2long(request()->ip()); $data['password'] = Hash::make($data['company_password']); unset($data['company_password']); $data['subsite_id'] = get_subsite_id(); $company = $this->companyRepository->create($data); $this->memberLogRepository->createLog($company, 1000, []); return $company; } public function registerCompany1(array $data) { $data = array_only($data, ['orgname', 'contact', 'mobile', 'username', 'email', 'password', 'utype', 'reg_type', 'reg_source', 'landline_tel']); $data['reg_source_cn'] = $this->getRegSource($data['reg_source']); $data['reg_time'] = time(); $data['short_name'] = \Illuminate\Support\Str::substr($data['orgname'], 0, 25); $data['companyname'] = $data['orgname']; unset($data['orgname']); $data['last_login_time'] = time(); $data['refresh_time'] = time(); $data['reg_ip'] = ip2long(request()->ip()); $data['subsite_id'] = get_subsite_id(); $data['utype'] = 1; $data['mobile_audit'] = 1; $company = $this->companyRepository->create($data); $this->memberLogRepository->createLog($company, 1000, []); return $company; } /** * 机构注册 zmw * @param array $data * @return mixed * @throws \ErrorException * @throws \Prettus\Validator\Exceptions\ValidatorException */ public function registerOrg(array $data) { $data = array_only($data, ['orgname', 'contact', 'org_mobile', 'username', 'email', 'org_password', 'utype', 'reg_type', 'reg_source', 'landline_tel']); $data['reg_source_cn'] = $this->getRegSource($data['reg_source']); $data['reg_time'] = time(); $data['short_name'] = \Illuminate\Support\Str::substr($data['orgname'], 0, 25); $data['last_login_time'] = time(); $data['refresh_time'] = time(); $data['mobile'] = $data['org_mobile']; unset($data['org_mobile']); $data['reg_ip'] = ip2long(request()->ip()); $data['password'] = Hash::make($data['org_password']); unset($data['org_password']); $data['subsite_id'] = get_subsite_id(); $org = $this->organizationRepository->create($data); $this->memberLogRepository->createLog($org, 1000, []); return $org; } /** * 个人注册 * @param array $data * @return mixed * @throws \Prettus\Validator\Exceptions\ValidatorException * @throws \ErrorException */ public function registerPerson(array $data) { $talent = $data; if ($data['reg_type'] == 1) {//手机号码注册 // $id_card = $data['id_card']; $data = array_only($data, ['mobile', 'password', 'utype', 'reg_type', 'reg_source', 'member_status']); $data['reg_source_cn'] = $this->getRegSource($data['reg_source']); $data['mobile_audit'] = 1; $data['username'] = $this->getRandomName(); $data['reg_time'] = time(); $data['last_login_time'] = time(); $data['reg_ip'] = ip2long(request()->ip()); $data['password'] = Hash::make($data['password']); // $data['subsite_id']=get_subsite_id(); // unset($data['id_card']); $member = $this->memberRepository->create($data); if (false != $member) { // $member_info_data['id_card'] = $id_card; $member_info_data['card_t_cn'] = 306; // $sex = get_sex($id_card); // $member_info_data['sex'] = $sex == '男' ? 1 : 2; // $member_info_data['sex_cn'] = $sex; // $member_info_data['birthday'] = get_birthday($id_card); $member_info_data['uid'] = $member->id; $member_info_data['phone'] = $data['mobile']; $this->memberInfoRepository->createInfo($member_info_data); } } elseif ($data['reg_type'] == 2) {//邮箱注册 // $id_card = $data['id_card']; $data = array_only($data, ['username', 'email', 'password', 'utype', 'reg_type', 'reg_source', 'member_status']); $data['reg_source_cn'] = $this->getRegSource($data['reg_source']); $data['reg_time'] = time(); $data['username'] = $this->getRandomName(); $data['reg_ip'] = ip2long(request()->ip()); $data['password'] = Hash::make($data['password']); // $data['subsite_id']=get_subsite_id(); // unset($data['id_card']); $member = $this->memberRepository->create($data); if (false != $member) { // $member_info_data['id_card'] = $id_card; $member_info_data['card_t_cn'] = 306; // $sex = get_sex($id_card); // $member_info_data['sex'] = $sex == '男' ? 1 : 2; // $member_info_data['sex_cn'] = $sex; // $member_info_data['birthday'] = get_birthday($id_card); $member_info_data['uid'] = $member->id; $member_info_data['email'] = $data['email']; $this->memberInfoRepository->createInfo($member_info_data); } } elseif ($data['reg_type'] == 3) {//身份证注册--平板。 $data = array_only($data, ['username', 'password', 'utype', 'reg_type', 'reg_source', 'member_status']); $data['reg_source_cn'] = $this->getRegSource($data['reg_source']); $data['reg_time'] = time(); $data['reg_ip'] = ip2long(request()->ip()); $data['password'] = Hash::make($data['password']); // $data['subsite_id']=get_subsite_id(); $member = $this->memberRepository->create($data); } //人才注册 if (!empty($data['member_status']) && $data['member_status'] == 3) { $talent = array_only($talent, ['realname', 'card_t_cn', 'id_card']); $this->memberInfoRepository->updateInfo($talent, $member->id); } //绑定微信和中奖 $open_id = Session::get('open_id'); if (!empty($open_id)) { $union_id = Session::get('union_id', ''); $data = [ 'uid' => $member->id, 'utype' => 2, 'type' => 3, 'openid' => $open_id, 'unionid' => $union_id, ]; Thirdlogin::create($data); $prize_id = Session::get('prize_id', 0); if (!empty($prize_id)) { $win = new LotteryWin(); $win->member_id = $member->id; $win->prize_id = $prize_id; $win->created_at = date('Y-m-d H:i:s'); $win->save(); } Session::forget('open_id'); Session::forget('union_id'); Session::forget('prize_id'); Session::save(); } $this->memberLogRepository->createLog($member, 1000, []); return $member; } public function registerPersonScrm(array $data){ $data = array_only($data, ['mobile', 'avatars', 'email', 'realname', 'sex','weixin']); $data['reg_type'] = 1; $data['utype'] = 2; $data['reg_source_cn'] = 'SCRM注册'; $data['mobile_audit'] = 0; $data['username'] = $this->getRandomName(); $data['reg_time'] = time(); $data['last_login_time'] = time(); $data['reg_ip'] = ip2long(request()->ip()); $data['password'] = Hash::make(time()); $member = $this->memberRepository->create($data); if (false != $member) { $member_info_data['card_t_cn'] = 306; $member_info_data['uid'] = $member->id; $member_info_data['phone'] = $data['mobile']; $member_info_data['email'] = $data['email']; $member_info_data['realname'] = array_key_exists('realname',$data) ? $data['realname'] : ''; if(array_key_exists('sex',$data)){ $member_info_data['sex'] = $data['sex'] == '男' ? 1 : 0; $member_info_data['sex_cn'] = $data['sex']; } $member_info_data['weixin'] = array_key_exists('weixin',$data) ? $data['weixin'] : ''; $this->memberInfoRepository->createInfo($member_info_data); } return $member; } /** * @param $source_id * @return mixed */ private function getRegSource($source_id) { $data = [ 1 => '网页端', 2 => '手机端', 3 => '微信小程序', ]; return $data[$source_id]; } private function getRandomName() { //str_replace(substr($data['mobile'], 3, 4), "****", $data['mobile']); return uniqid(); } public function valiLand($company_mobile, $landline_tel) { if (is_null($company_mobile) && is_null($landline_tel)) { return false; } return true; } }