AgentUserRegistJob.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace App\Jobs;
  3. use App\Repositories\ConfigRepoistory;
  4. use Hyperf\AsyncQueue\Job;
  5. use Hyperf\Guzzle\ClientFactory;
  6. /**
  7. * 代理系统用户注册
  8. */
  9. class AgentUserRegistJob extends Job
  10. {
  11. public $params;
  12. public function __construct($params)
  13. {
  14. // 这里最好是普通数据,不要使用携带 IO 的对象,比如 PDO 对象
  15. $this->params = $params;
  16. }
  17. public function handle()
  18. {
  19. $agentConf = make(ConfigRepoistory::class)->pickByKeys(['agent_url', 'app_uid', 'agent_token'], 'sys');
  20. $url = $agentConf['agent_url']['svalue'] . 'user/inc';
  21. $data = [
  22. [
  23. 'ip' => $this->params['ip'] ?? '',
  24. 'uid' => $this->params['code'],
  25. 'user_uid' => $this->params['id'],
  26. 'created_at' => $this->params['created_at'],
  27. 'channel_uid' => $this->params['channel_id'] ?? '',
  28. 'app_version' => $this->params['version'],
  29. 'mobile' => $this->params['mobile'] ?? '',
  30. 'device_type' => $this->params['device_type'],
  31. 'device_no' => $this->params['device_no'] ?? '',
  32. 'share_code' => $this->params['parent_uid'] ?? '',
  33. 'nick' => $this->params['nick'],
  34. 'mom_app_uid' => $agentConf['app_uid']['svalue'] ?? '',
  35. ]
  36. ];
  37. $options = array(
  38. 'timeout' => 20, // 超时,单位秒.
  39. 'verify' => false, // 是否校验SSL证书.
  40. 'http_errors' => false, // 如果跟随http异常头部是否中断.
  41. 'debug' => false, // 是否启用调试模式.
  42. 'allow_redirects' => true, // 不跟随301/302跳转.
  43. );
  44. $client = make(ClientFactory::class)->create($options);
  45. try {
  46. $params = [
  47. 'headers' => [
  48. 'Content-Type'=>'application/json',
  49. 'X-TOKEN' => $agentConf['agent_token']['svalue']
  50. ],
  51. 'json'=>$data,
  52. ];
  53. $result = $client->post($url, $params);
  54. $code = $result->getStatusCode();
  55. if ($code == 200) {
  56. return $result->getBody()->getContents();
  57. } else {
  58. logger('AgentUserRegistJob', ['代理系统登陆失败', $data]);
  59. }
  60. } catch (\Exception $exception) {
  61. logger('AgentUserRegistJob', [$exception->getMessage(), $data]);
  62. }
  63. }
  64. }