| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- namespace App\Jobs;
- use App\Repositories\ConfigRepoistory;
- use Hyperf\AsyncQueue\Job;
- use Hyperf\Guzzle\ClientFactory;
- /**
- * 代理系统用户注册
- */
- class AgentUserRegistJob extends Job
- {
- public $params;
- public function __construct($params)
- {
- // 这里最好是普通数据,不要使用携带 IO 的对象,比如 PDO 对象
- $this->params = $params;
- }
- public function handle()
- {
- $agentConf = make(ConfigRepoistory::class)->pickByKeys(['agent_url', 'app_uid', 'agent_token'], 'sys');
- $url = $agentConf['agent_url']['svalue'] . 'user/inc';
- $data = [
- [
- 'ip' => $this->params['ip'] ?? '',
- 'uid' => $this->params['code'],
- 'user_uid' => $this->params['id'],
- 'created_at' => $this->params['created_at'],
- 'channel_uid' => $this->params['channel_id'] ?? '',
- 'app_version' => $this->params['version'],
- 'mobile' => $this->params['mobile'] ?? '',
- 'device_type' => $this->params['device_type'],
- 'device_no' => $this->params['device_no'] ?? '',
- 'share_code' => $this->params['parent_uid'] ?? '',
- 'nick' => $this->params['nick'],
- 'mom_app_uid' => $agentConf['app_uid']['svalue'] ?? '',
- ]
- ];
- $options = array(
- 'timeout' => 20, // 超时,单位秒.
- 'verify' => false, // 是否校验SSL证书.
- 'http_errors' => false, // 如果跟随http异常头部是否中断.
- 'debug' => false, // 是否启用调试模式.
- 'allow_redirects' => true, // 不跟随301/302跳转.
- );
- $client = make(ClientFactory::class)->create($options);
- try {
- $params = [
- 'headers' => [
- 'Content-Type'=>'application/json',
- 'X-TOKEN' => $agentConf['agent_token']['svalue']
- ],
- 'json'=>$data,
- ];
- $result = $client->post($url, $params);
- $code = $result->getStatusCode();
- if ($code == 200) {
- return $result->getBody()->getContents();
- } else {
- logger('AgentUserRegistJob', ['代理系统登陆失败', $data]);
- }
- } catch (\Exception $exception) {
- logger('AgentUserRegistJob', [$exception->getMessage(), $data]);
- }
- }
- }
|