MemberController.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Http\Controllers\ApiController;
  4. use App\Models\Member;
  5. use App\Servers\ESign\ESignServer;
  6. use App\Servers\System\CommonServer;
  7. use App\Servers\System\JobServer;
  8. class MemberController extends ApiController
  9. {
  10. /**
  11. * 添加用户
  12. * @return \Illuminate\Http\JsonResponse
  13. * @throws \Throwable
  14. */
  15. function createMember(){
  16. $name=request()->input('name','');//姓名
  17. $phone=request()->input('phone','');//电话
  18. $id_number=request()->input('id_number','');//身份证号
  19. if (empty($name)) return $this->apiResponseError('请填写姓名');
  20. if (mb_strlen($name) > 100) return $this->apiResponseError('姓名最大100');
  21. if (empty($phone)) return $this->apiResponseError('请填写手机号');
  22. if (!CommonServer::creatServer()->verifyPhoneNumber($phone)) return $this->apiResponseError('手机号错误');
  23. if (empty($id_number)) return $this->apiResponseError('请填写身份证号');
  24. $authType = 'PSN';
  25. $data = compact('name','phone','id_number','authType');
  26. //检查该身份证号是否存在
  27. $member = Member::where('id_number',$id_number)->where('is_del',0)->select(['id'])->first();
  28. if (!empty($member)){
  29. return $this->apiResponseError('身份证号已存在');
  30. }
  31. $res = Member::create($data);
  32. $m_id = $res->{'id'};
  33. //查询个人认证信息
  34. ESignServer::creatServer()->personsidentityinfo($m_id,$phone,$name,$id_number);
  35. if ($res) {
  36. return $this->apiResponseSuccess('操作成功');
  37. } else {
  38. return $this->apiResponseError('操作失败');
  39. }
  40. }
  41. /**
  42. * 获取用户信息
  43. * @return \Illuminate\Http\JsonResponse
  44. */
  45. function getMemberInfo()
  46. {
  47. $id_number=request()->input('id_number','');//身份证号
  48. if (empty($id_number)) return $this->apiResponseError('请填写身份证号');
  49. $member = Member::where('id_number',$id_number)->where('is_del',0)->select(['id_number','realnameStatus'])->first();
  50. if (empty($member)){
  51. return $this->apiResponseError('该用户不存在');
  52. }
  53. return $this->apiResponseSuccess('成功',$member);
  54. }
  55. /**
  56. * e签宝个人认证
  57. * @return void
  58. */
  59. function authUser()
  60. {
  61. // 获取当前URL
  62. $current_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  63. //获取链接参数
  64. $parts = parse_url($current_url);
  65. $query = isset($parts['query']) ? $parts['query'] : '';
  66. // 根据需求修改URL
  67. $new_url = 'https://smlt.esign.cn/'.$query; // 自定义URL
  68. // 执行重定向
  69. header("Location: $new_url");
  70. }
  71. /**
  72. * e签宝企业认证
  73. * @return void
  74. */
  75. function authFirm()
  76. {
  77. // 获取当前URL
  78. $current_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  79. //获取链接参数
  80. $parts = parse_url($current_url);
  81. $query = isset($parts['query']) ? $parts['query'] : '';
  82. // 根据需求修改URL
  83. $new_url = 'https://smlt.esign.cn/'.$query; // 自定义URL
  84. // 执行重定向
  85. header("Location: $new_url");
  86. }
  87. }