MemberController.php 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. namespace App\Http\Controllers\AdminApi;
  3. use App\Http\Controllers\AdminController;
  4. use App\Models\Member;
  5. use App\Servers\ESign\ESignServer;
  6. use App\Servers\System\CommonServer;
  7. class MemberController extends AdminController
  8. {
  9. /**
  10. * 获取用户列表
  11. * @return \Illuminate\Http\JsonResponse
  12. */
  13. function getMemberList(){
  14. $where = [['is_del',0]];
  15. $list = Member::where($where)
  16. ->select(['id','name','phone','id_number','psnId','realnameStatus','authorizeUserInfo','created_at'])
  17. ->paginate(10);
  18. return $this->apiResponseSuccess('获取列表成功', [
  19. 'items' => $list->items(),
  20. 'total' => $list->total(),
  21. 'limit' => 10,
  22. ]);
  23. }
  24. /**
  25. * 添加&编辑用户
  26. * @return \Illuminate\Http\JsonResponse
  27. * @throws \Throwable
  28. */
  29. function saveMember(){
  30. $id=request()->input('id','');//id
  31. $name=request()->input('name','');//姓名
  32. $phone=request()->input('phone','');//电话
  33. $id_number=request()->input('id_number','');//身份证号
  34. if (empty($name)) return $this->apiResponseError('请填写姓名');
  35. if (mb_strlen($name) > 100) return $this->apiResponseError('姓名最大100');
  36. if (empty($phone)) return $this->apiResponseError('请填写手机号');
  37. if (!CommonServer::creatServer()->verifyPhoneNumber($phone)) return $this->apiResponseError('手机号错误');
  38. if (empty($id_number)) return $this->apiResponseError('请填写身份证号');
  39. //检查该身份证号是否存在
  40. $member = Member::where('id_number',$id_number)->where('is_del',0)->select(['id'])->first();
  41. if (!empty($member)){
  42. return $this->apiResponseError('身份证号已存在');
  43. }
  44. $authType = 'PSN';
  45. $data = compact('name','phone','id_number','authType');
  46. if(empty($id)){//不存在id就创建
  47. $res = Member::create($data);
  48. }else{//存在就更新
  49. $info = Member::where('id',$id)->select(['id'])->first();
  50. if (empty($info)) {
  51. return $this->apiResponseError('没有找到该记录');
  52. }
  53. $res = $info->update($data);
  54. }
  55. $m_id = $res->{'id'};
  56. //查询个人认证信息
  57. ESignServer::creatServer()->personsidentityinfo($m_id,$phone,$name,$id_number);
  58. if ($res) {
  59. return $this->apiResponseSuccess('操作成功');
  60. } else {
  61. return $this->apiResponseError('操作失败');
  62. }
  63. }
  64. /**
  65. * 获取详情
  66. * @return \Illuminate\Http\JsonResponse
  67. */
  68. function getMemberInfo()
  69. {
  70. $id = request()->input('id','');//获取需要删除的id
  71. if(empty($id)) return $this->apiResponseError('缺少必要参数');
  72. $info = Member::where('id',$id)->where('is_del',0)->select(['name','phone','id_number','id'])->first();
  73. if (empty($info)) {
  74. return $this->apiResponseError('没有找到该记录');
  75. }
  76. return $this->apiResponseSuccess('成功',$info);
  77. }
  78. }