Spring1Controller.php 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <?php
  2. namespace App\Http\Controllers\Mobile\Active;
  3. use App\Http\Controllers\Mobile\MobileBaseController;
  4. use App\Services\Company\SpringCompanyService;
  5. use App\Services\Company\SpringJobService;
  6. use Illuminate\Http\Request;
  7. use App\Models\Category;
  8. use Illuminate\Support\Facades\DB;
  9. use App\Services\Common\CategoryService;
  10. use Illuminate\Support\Facades\Storage;
  11. use App\Validators\PersonValidatorRequest;
  12. use App\Services\Person\ResumeService;
  13. use App\Services\Company\JobsService;
  14. use App\Services\Common\SmsService;
  15. use Illuminate\Support\Facades\Cache;
  16. use Illuminate\Support\Facades\Hash;
  17. use App\Services\Common\MembersSetmealService;
  18. class Spring1Controller extends MobileBaseController
  19. {
  20. protected $springJobService;
  21. protected $springCompanyService;
  22. protected $categoryService;
  23. protected $resumeService;
  24. protected $jobsService;
  25. protected $smsService;
  26. private $membersSetmealService;
  27. public function __construct(SpringJobService $springJobService,SpringCompanyService $springCompanyService,CategoryService $categoryService,ResumeService $resumeService,JobsService $jobsService, SmsService $smsService, MembersSetmealService $membersSetmealService)
  28. {
  29. $this->springJobService = $springJobService;
  30. $this->springCompanyService = $springCompanyService;
  31. $this->categoryService = $categoryService;
  32. $this->resumeService = $resumeService;
  33. $this->jobsService = $jobsService;
  34. $this->smsService = $smsService;
  35. $this->membersSetmealService = $membersSetmealService;
  36. }
  37. public function enterprise(Request $request)
  38. {
  39. if($request->isMethod('post'))
  40. {
  41. $data['company_name'] = $request->input('company_name');
  42. $data['company_type'] = $request->input('company_type');
  43. $data['company_trade'] = $request->input('company_trade');
  44. $data['company_desc'] = $request->input('company_desc');
  45. $data['company_address'] = $request->input('company_address');
  46. $data['date'] = "2020-".$request->input('time');
  47. $data['real_name'] = $request->input('real_name');
  48. $data['phone'] = $request->input('phone');
  49. $data['attachment'] = $request->input('attachment');
  50. $data['license'] = empty($request->input('license')) ? '' : $request->input('license');
  51. $data['scene'] = implode(",",$request->input('scene'));
  52. $id = $this->springCompanyService->saveCompany($data);
  53. $jobs_name = $request->input('job_name');
  54. $jobs_type = $request->input('job_type');
  55. $jobs_num = $request->input('job_num');
  56. $jobs_salary = $request->input('job_salary');
  57. $jobs_desc = $request->input('job_desc');
  58. $jobs = [];
  59. foreach ($jobs_name as $k => $v){
  60. $item = [];
  61. $item['company_id'] = $id->id;
  62. $item['job_name'] = $jobs_name[$k];
  63. $item['job_type'] = $jobs_type[$k];
  64. $item['job_num'] = $jobs_num[$k];
  65. $item['job_salary'] = $jobs_salary[$k];
  66. $item['job_desc'] = $jobs_desc[$k];
  67. array_push($jobs,$item);
  68. }
  69. DB::table('spring_jobs')->insert($jobs);
  70. return $this->sendSuccessResponse(['msg'=>'登记成功']);
  71. }else{
  72. $result = $this->categoryService->getAllJobsCategory();
  73. $companyType = [];
  74. foreach (Category::categoryType('AIX_company_type') as $k => $v){
  75. $item = [
  76. 'name' => $v,
  77. 'value' => $k
  78. ];
  79. array_push($companyType,$item);
  80. }
  81. $companyTrade = [];
  82. foreach (Category::categoryType('AIX_trade') as $k => $v){
  83. $item = [
  84. 'name' => $v,
  85. 'value' => $k
  86. ];
  87. array_push($companyTrade,$item);
  88. }
  89. return view('mobile.app.active.enterprise')->with([
  90. 'jobs' => json_encode($result),
  91. 'companyType' => $companyType,
  92. 'companyTrade' => $companyTrade
  93. ]);
  94. }
  95. }
  96. public function uploadfile(Request $request)
  97. {
  98. $res['status'] = 1;
  99. $res['filename'] = '1.xls';
  100. $res['path'] = "/storage/1.xls";
  101. return response()->json($res);
  102. $file = $request->file('files');
  103. if($file ->isValid()) { //判断文件是否存在
  104. //获取文件的扩展名
  105. $ext = $file->getClientOriginalExtension();
  106. if (!in_array($ext,['doc','docx','pdf'])) {
  107. return response()->json(['status'=>0,'msg'=>'只能上传word或者pdf文件']);
  108. }
  109. //获取文件的绝对路径
  110. $path = $file->getRealPath();
  111. $oldname= $file->getClientOriginalName();
  112. //定义文件名
  113. $filename = date('Y-m-d-h-i-s').'.'.$ext;
  114. //存储文件。disk里面的public。总的来说,就是调用disk模块里的public配置
  115. Storage::disk('public')->put($filename, file_get_contents($path));
  116. }
  117. $res['status'] = 1;
  118. $res['filename'] = $oldname;
  119. $res['path'] = "/storage/".$filename;
  120. return response()->json($res);
  121. }
  122. public function job(){
  123. $user = auth('web-member')->user();
  124. if(!$user){
  125. $is_login = 0;
  126. }else{
  127. $is_login = 1;
  128. }
  129. $district = $this->categoryService->getDefaultDistrict();
  130. return view('mobile.app.active.job',[
  131. 'is_login'=>$is_login,
  132. 'user'=>$user,
  133. 'defaultCity'=>$district->defaultCity,
  134. 'disCity'=>$district->disCity,
  135. 'disHan'=>$district->disHan,
  136. 'wap_title'=>'新春招聘会报名登记表'
  137. ]);
  138. }
  139. public function jobHunterRegister(PersonValidatorRequest $request){
  140. //添加基础信息
  141. $resume_res = $this->resumeService->activeResumeCreate($request->except(['add_tag','_token']), auth('web-member')->user());
  142. if ($resume_res['code']==1) {
  143. return $this->sendSuccessResponse(['id'=>'登记成功','tag'=>$request->add_tag]);
  144. } else {
  145. return $this->sendErrorResponse('更新简历失败', '', 400);
  146. }
  147. }
  148. public function getCompanyList(Request $request){
  149. $trade = Category::categoryType('AIX_trade');
  150. $type = Category::categoryType('AIX_company_type');
  151. $title = $request->input('title');
  152. $status = $request->input('status');
  153. $list = $this->springCompanyService->list($title, $status,10);
  154. $result = [];
  155. foreach ($list as $k => $v) {
  156. $item = [];
  157. $item['id'] = $v['id'];
  158. $item['name'] = $v['company_name'];
  159. $item['type'] = $type[$v['company_type']];
  160. $item['trade'] = $trade[$v['company_trade']];
  161. $item['realname'] = $v['real_name'];
  162. $item['phone'] = $v['phone'];
  163. $item['address'] = $v['company_address'];
  164. $item['desc'] = $v['company_desc'];
  165. $item['url'] = 'http://www.jucai.gov.cn'.$v['license'];
  166. $item['attachment'] = 'http://www.jucai.gov.cn'.$v['attachment'];
  167. $item['scene'] = $v['scene'];
  168. $item['status'] = $v['status'];
  169. array_push($result,$item);
  170. }
  171. $msg['status'] = 'ok';
  172. $msg['msg'] = '数据获取成功';
  173. $msg['total'] = $list->total();
  174. $msg['data'] = $result;
  175. echo json_encode($msg);
  176. }
  177. public function verifyCompany(Request $request){
  178. $id = $request->input('id');
  179. $res = $this->springCompanyService->registerCompany($id);
  180. $list = DB::table('spring_jobs')->where(array('company_id'=>$res['id']))->get();
  181. $this->membersSetmealService->addMemberSetmeal($res['company'], config('aix.companyset.setmeal_com.setmeal_com_set.reg_service'));
  182. foreach ($list as $k => $v){
  183. $this->jobsService->jobSaveBySpring($v,$res['company']->id);
  184. }
  185. $msg['status'] = 'ok';
  186. echo json_encode($msg);
  187. }
  188. public function verify(){
  189. return view('mobile.app.active.verify');
  190. }
  191. public function test(){
  192. $this->smsService->sendSms('18060002035','sms_custom',array('username'=>'测试','phone'=>'18060002035','content'=>'聚才网'));
  193. }
  194. }