PadResumeController.php 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019/3/26
  6. * Time: 11:11
  7. */
  8. namespace App\Http\Controllers\Web\Hardware\Pad;
  9. use App\Http\Controllers\Web\WebBaseController;
  10. use App\Services\Person\MemberInfoService;
  11. use App\Services\Person\ResumeService;
  12. use App\Repositories\ResumeRepository;
  13. use Illuminate\Http\Request;
  14. use App\Services\Common\SmsService;
  15. use App\Services\Person\MemberService;
  16. use App\Services\Auth\AuthService;
  17. use Aix\Sms\Contracts\Smser;
  18. use App\Validators\PersonValidatorRequest;
  19. use App\Services\Common\CategoryService;
  20. use App\Repositories\MemberInfoRepository;
  21. use App\Repositories\CompanyRepository;
  22. class PadResumeController extends WebBaseController
  23. {
  24. private $memberInfoService;
  25. private $resumeService;
  26. protected $smsService;
  27. protected $memberService;
  28. protected $authService;
  29. protected $CategoryService;
  30. protected $resumeRepository;
  31. protected $memberInfoRepository;
  32. protected $companyRepository;
  33. /**
  34. * PadResumeController constructor.
  35. * @param MemberInfoService $memberInfoService
  36. * @param ResumeService $resumeService
  37. * @param CategoryService $CategoryService
  38. * @param ViewJobRepository $memberInfoRepository
  39. * @param CompanyRepository $companyRepository
  40. */
  41. public function __construct(MemberInfoService $memberInfoService,ResumeService $resumeService,SmsService $smsService,AuthService $authService, MemberService $memberService,CategoryService $CategoryService,ResumeRepository $resumeRepository, MemberInfoRepository $memberInfoRepository,CompanyRepository $companyRepository)
  42. {
  43. $this->memberInfoService = $memberInfoService;
  44. $this->resumeService = $resumeService;
  45. $this->smsService = $smsService;
  46. $this->authService = $authService;
  47. $this->memberService = $memberService;
  48. $this->CategoryService = $CategoryService;
  49. $this->resumeRepository = $resumeRepository;
  50. $this->memberInfoRepository = $memberInfoRepository;
  51. $this->companyRepository = $companyRepository;
  52. }
  53. public function index(){
  54. return view('app.hardware.pad.resume');
  55. }
  56. public function cardId(Request $request){
  57. $id_card = $request->cardId;
  58. $info = $this->memberInfoService->getInfo( ['id_card' => $id_card]);
  59. if(!$info){
  60. return response()->json(['status'=>0, 'msg'=>'暂无简历,请新建...']);
  61. }
  62. $resumes = $this->resumeRepository->getSuccessResume($info['uid'],getResumeStatus());
  63. if($resumes->isEmpty()){
  64. return response()->json(['status'=>0, 'msg'=>'暂无简历,请新建...']);
  65. }
  66. $html = '';
  67. $html .= '<ul id="jobsList">';
  68. foreach ($resumes as $value) {
  69. $html .= '<li class="circle_info color1">
  70. <p class="resume_name">' . $value['title'] . '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . $value['intention_jobs'] .'</p>
  71. <p class="resume_info">性别:' . $value['sex_cn'] . '&nbsp;&nbsp;&nbsp;&nbsp;经验:' . $value['experience_cn'] . '&nbsp;&nbsp;&nbsp;&nbsp;学历:' . $value['education_cn'] . '&nbsp;&nbsp;&nbsp;&nbsp;期望地区:' . $value['district_cn'] . '&nbsp;&nbsp;&nbsp;&nbsp;更新时间:' . $value['updated_at'] . '</p>
  72. <div class="right_box">
  73. <a href="'.route('hardware.pad.search.resume.show',['id'=>$value['id'],'type'=>5]).'" class="show-resume btn">查看简历</a>
  74. </div>
  75. </li>';
  76. }
  77. $html .= '</ul>';
  78. return response()->json(['status'=>1, 'msg'=>'成功','data'=>$resumes,'html'=>$html]);
  79. }
  80. public function add(Request $request){
  81. $idcard = $request->all();
  82. foreach ($idcard as &$value){
  83. if($value == 'undefined'){
  84. $value = '';
  85. }
  86. }
  87. if(isset($idcard['androidIdNo'])){
  88. $IdNo = $idcard['androidIdNo'];
  89. $idcard['year'] = substr($IdNo, 6, 4);
  90. $idcard['age'] = date('Y',time()) - $idcard['year'];
  91. $info = $this->memberInfoService->getInfo(['id_card' => $IdNo]);
  92. if($info){
  93. $idcard['phone'] = $info['phone'];
  94. $idcard['uid'] = $info['uid'];
  95. }else{
  96. $idcard['phone'] = '';
  97. $idcard['uid'] = '';
  98. }
  99. }elseif(isset($idcard['uid'])){
  100. $idcard['year'] = '';
  101. $idcard['age'] = '';
  102. }
  103. $idcard['min_wage'] = config('aix.companyset.comset.com_set.wage_min');
  104. $categorys = $this->CategoryService->getCategories(array('AIX_card_type'=>10));
  105. $idcard['card_t_cn'] = array_pop($categorys['AIX_card_type'])['id'];
  106. $district = config('aix.system.site_other.site_other.district');
  107. if($district && substr_count($district,'.') == 1){
  108. $district .= '.0';
  109. }elseif ($district && substr_count($district,'.') == 0){
  110. $district .= '.0.0';
  111. }
  112. return view('app.hardware.pad.resume_add',['idcard'=>$idcard,'district'=>$district]);
  113. }
  114. public function resumeCreate(Request $request){
  115. $data = $request->all();
  116. if(empty($data['uid']) && $this->memberInfoRepository->findMemberInfo(['email'=>$data['email']])){
  117. return response()->json(['status' => 0, 'msg' =>'该邮箱已存在!']);
  118. }
  119. if($this->companyRepository->getCompanyInfo(['email'=>$data['email']])){
  120. return response()->json(['status' => 0, 'msg' =>'该邮箱已存在!']);
  121. }
  122. if(empty($data['uid']) && $this->registerMobile($data) == false){
  123. return response()->json(['status' => 0, 'msg' =>'验证码错误']);
  124. }
  125. if(!$this->resumeService->addPadResume($data)){
  126. return response()->json(['status' => 0, 'msg' =>'新增失败']);
  127. }
  128. return response()->json(['status' => 1, 'msg' =>'新增成功']);
  129. }
  130. public function registerMobile($data)
  131. {
  132. $mobile_code =$data['mobile_code'];
  133. $mobile = $data['telephone'];
  134. $checkAuthSms = $this->smsService->checkAuthSms($mobile, Smser::TEMPLATE_AUTH_LOGIN, $mobile_code);
  135. if (!$checkAuthSms) {
  136. return false;
  137. }
  138. return true;
  139. }
  140. public function qrCode(Request $request){
  141. $res = hashid_decode($request->hashid);
  142. if(!$res){
  143. return response()->json(['status'=>-1, 'msg'=>'二维码出错,请刷新重试...']);
  144. }
  145. $info = $this->memberInfoService->getInfo(['uid' => $res['id']]);
  146. if(!$info){
  147. return response()->json(['status'=>-1, 'msg'=>'二维码出错,请刷新重试...']);
  148. }
  149. $resumes = $this->resumeRepository->getSuccessResume($info['uid'],getResumeStatus());
  150. if($resumes->isEmpty()){
  151. return response()->json(['status'=>0, 'msg'=>'暂无简历,请新建...','uid'=>$info['uid']]);
  152. }
  153. $html = '';
  154. $html .= '<ul id="jobsList">';
  155. foreach ($resumes as $value) {
  156. $html .= '<li class="circle_info color1">
  157. <p class="resume_name">' . $value['title'] . '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . $value['intention_jobs'] .'</p>
  158. <p class="resume_info">性别:' . $value['sex_cn'] . '&nbsp;&nbsp;&nbsp;&nbsp;经验:' . $value['experience_cn'] . '&nbsp;&nbsp;&nbsp;&nbsp;学历:' . $value['education_cn'] . '&nbsp;&nbsp;&nbsp;&nbsp;所在地区:' . $value['district_cn'] . '&nbsp;&nbsp;&nbsp;&nbsp;更新时间:' . $value['updated_at'] . '</p>
  159. <div class="right_box">
  160. <a href="'.route('hardware.pad.search.resume.show',['id'=>$value['id'],'type'=>5]).'" class="show-resume btn">查看简历</a>
  161. </div>
  162. </li>';
  163. }
  164. $html .= '</ul>';
  165. return response()->json(['status'=>1, 'msg'=>'成功','data'=>$resumes,'html'=>$html]);
  166. }
  167. }