| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- <?php
- namespace App\Http\Controllers\AdminApi;
- use App\Http\Controllers\AdminController;
- use App\Models\Member;
- use App\Servers\ESign\ESignServer;
- use App\Servers\System\CommonServer;
- use App\Servers\System\JobServer;
- class MemberController extends AdminController
- {
- /**
- * 获取用户列表
- * @return \Illuminate\Http\JsonResponse
- */
- function getMemberList(){
- $where = [['is_del',0]];
- $list = Member::where($where)
- ->select(['id','name','phone','id_number','psnId','authUrl','authShortUrl','realnameStatus','authorizeUserInfo','created_at'])
- ->orderBy('id','desc')
- ->paginate(10);
- return $this->apiResponseSuccess('获取列表成功', [
- 'items' => $list->items(),
- 'total' => $list->total(),
- 'limit' => 10,
- ]);
- }
- /**
- * 通知用户认证
- * @return \Illuminate\Http\JsonResponse
- */
- function noticeMemberAuth(){
- $id=request()->input('id','');//id
- if(empty($id)) return $this->apiResponseError('缺少必要参数');
- $info = Member::where('id',$id)->first();
- if (empty($info)) {
- return $this->apiResponseError('没有找到该记录');
- }
- //查询个人认证信息
- ESignServer::creatServer()->personsidentityinfo($id,$info->{'phone'},$info->{'name'},$info->{'id_number'});
- return $this->apiResponseSuccess('成功');
- }
- /**
- * 添加&编辑用户
- * @return \Illuminate\Http\JsonResponse
- * @throws \Throwable
- */
- function saveMember(){
- $id=request()->input('id','');//id
- $name=request()->input('name','');//姓名
- $phone=request()->input('phone','');//电话
- $id_number=request()->input('id_number','');//身份证号
- if (empty($name)) return $this->apiResponseError('请填写姓名');
- if (mb_strlen($name) > 100) return $this->apiResponseError('姓名最大100');
- if (empty($phone)) return $this->apiResponseError('请填写手机号');
- if (!CommonServer::creatServer()->verifyPhoneNumber($phone)) return $this->apiResponseError('手机号错误');
- if (empty($id_number)) return $this->apiResponseError('请填写身份证号');
- $authType = 'PSN';
- $data = compact('name','phone','id_number','authType');
- $phoneChanged = false;//手机号是否发生变更
- if(empty($id)){//不存在id就创建
- //检查该身份证号是否存在
- $member = Member::where('id_number',$id_number)->where('is_del',0)->select(['id'])->first();
- if (!empty($member)){
- return $this->apiResponseError('身份证号已存在');
- }
- $res = Member::create($data);
- $m_id = $res->{'id'};
- }else{//存在就更新
- $info = Member::where('id',$id)->select(['id','phone'])->first();
- if (empty($info)) {
- return $this->apiResponseError('没有找到该记录');
- }
- //检查该身份证号是否存在
- $member = Member::where('id_number',$id_number)->where('id','<>',$id)->where('is_del',0)->select(['id'])->first();
- if (!empty($member)){
- return $this->apiResponseError('身份证号已存在');
- }
- $phoneChanged = $info->{'phone'} != $phone;
- $data['authUrl']='';
- $data['authShortUrl']='';
- $res = $info->update($data);
- $m_id = $id;
- }
- if ($phoneChanged) {
- //手机号变更:同步e签宝侧账号手机号(重新下发实名认证链接,用户完成认证后换绑)
- ESignServer::creatServer()->psnphonechange($m_id,$phone,$name,$id_number);
- } else {
- //查询个人认证信息
- ESignServer::creatServer()->personsidentityinfo($m_id,$phone,$name,$id_number);
- }
- if ($res) {
- return $this->apiResponseSuccess('操作成功');
- } else {
- return $this->apiResponseError('操作失败');
- }
- }
- /**
- * 获取详情
- * @return \Illuminate\Http\JsonResponse
- */
- function getMemberInfo()
- {
- $id = request()->input('id','');//获取需要删除的id
- if(empty($id)) return $this->apiResponseError('缺少必要参数');
- $info = Member::where('id',$id)->where('is_del',0)->select(['name','phone','id_number','id'])->first();
- if (empty($info)) {
- return $this->apiResponseError('没有找到该记录');
- }
- return $this->apiResponseSuccess('成功',$info);
- }
- }
|