UnionidValidator.php 886 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace App\Module\User\Validator;
  3. use UCore\Validator;
  4. use App\Models\Hp\User;
  5. use App\Models\Hp\UserWechat;
  6. use App\Module\User\Validation\CheckWechatOpenIdCode;
  7. /**
  8. * 验证 Unionid 是否存在,存在true
  9. *
  10. * @property CheckWechatOpenIdCode $validation
  11. */
  12. class UnionidValidator extends Validator
  13. {
  14. public function validate($value, array $data): bool
  15. {
  16. /**
  17. * @var UserWechat $userW
  18. */
  19. $userW = UserWechat::query()
  20. ->where('open_id', '=', $value)
  21. ->where('appid', '=', $this->validation->appid)
  22. ->first();
  23. if ($userW) {
  24. if($userW->user){
  25. $this->validationSet('user',$userW->user);
  26. // $this->validation->user = $userW->user;
  27. return true;
  28. }
  29. }
  30. return false;
  31. }
  32. }