MemberController.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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','phone','name','id_number','realnameStatus','updated_at'])->first();
  50. if (empty($member)){
  51. return $this->apiResponseError('该用户不存在');
  52. }
  53. $updated_time = strtotime($member->updated_at);
  54. if (bcsub(time(),$updated_time) > 3600){
  55. //查询个人认证信息
  56. ESignServer::creatServer()->personsidentityinfo($member->{'id'},$member->{'phone'},$member->{'name'},$member->{'id_number'});
  57. }
  58. $data['id_number'] = $member->{'id_number'};
  59. $data['realnameStatus'] = $member->{'realnameStatus'};
  60. return $this->apiResponseSuccess('成功',$data);
  61. }
  62. /**
  63. * e签宝个人认证
  64. * @return void
  65. */
  66. function authUser()
  67. {
  68. // 获取当前URL
  69. $current_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  70. //获取链接参数
  71. $parts = parse_url($current_url);
  72. $query = isset($parts['query']) ? $parts['query'] : '';
  73. // 根据需求修改URL
  74. $new_url = 'https://t.esign.cn/'.$query; // 自定义URL
  75. // 执行重定向
  76. header("Location: $new_url");
  77. }
  78. /**
  79. * e签宝企业认证
  80. * @return void
  81. */
  82. function authFirm()
  83. {
  84. // 获取当前URL
  85. $current_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  86. //获取链接参数
  87. $parts = parse_url($current_url);
  88. $query = isset($parts['query']) ? $parts['query'] : '';
  89. // 根据需求修改URL
  90. $new_url = 'https://t.esign.cn/'.$query; // 自定义URL
  91. // 执行重定向
  92. header("Location: $new_url");
  93. }
  94. /**
  95. * e签宝签署合同
  96. * @return void
  97. */
  98. function signContract()
  99. {
  100. // 获取当前URL
  101. $current_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  102. //获取链接参数
  103. $parts = parse_url($current_url);
  104. $query = isset($parts['query']) ? $parts['query'] : '';
  105. // 根据需求修改URL
  106. $new_url = 'https://t.esign.cn/'.$query; // 自定义URL
  107. // 执行重定向
  108. header("Location: $new_url");
  109. }
  110. }