MemberRealnameCommand.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace App\Console\Commands;
  3. use App\Models\Member;
  4. use App\Servers\ESign\ESignServer;
  5. use Illuminate\Console\Command;
  6. /**
  7. * 用户实名认证任务
  8. * Class MemberRealnameCommand
  9. * @package App\Console\Commands
  10. */
  11. class MemberRealnameCommand extends Command
  12. {
  13. /**
  14. * The name and signature of the console command.
  15. *
  16. * @var string
  17. */
  18. protected $signature = 'member:realname';
  19. /**
  20. * The console command description.
  21. *
  22. * @var string
  23. */
  24. protected $description = '查找最后一条未实名用户并执行实名认证流程';
  25. /**
  26. * Create a new command instance.
  27. *
  28. * @return void
  29. */
  30. public function __construct()
  31. {
  32. parent::__construct();
  33. }
  34. /**
  35. * Execute the console command.
  36. *
  37. * @return mixed
  38. */
  39. public function handle()
  40. {
  41. //查找最后一条未实名的用户
  42. $member = Member::where('realnameStatus',0)->where('is_del',0)->where('authType','PSN')->orderBy('id','desc')->first();
  43. if (empty($member)){
  44. $this->info('没有未实名的用户');
  45. return;
  46. }
  47. $this->info('处理用户:id='.$member->{'id'}.',姓名='.$member->{'name'}.',手机号='.$member->{'phone'});
  48. //调用接口查询用户是否已经完成实名认证
  49. $realnameStatus = ESignServer::creatServer()->personsidentityinfo($member->{'id'},$member->{'phone'},$member->{'name'},$member->{'id_number'});
  50. if ($realnameStatus == 1){
  51. $this->info('用户已完成实名认证,无需处理');
  52. return;
  53. }
  54. //未实名认证,执行实名认证授权流程
  55. ESignServer::creatServer()->psnauthurl($member->{'id'},$member->{'phone'},$member->{'name'},$member->{'id_number'},$member->{'psnId'});
  56. $this->info('实名认证流程执行完成');
  57. }
  58. }