| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- namespace App\Jobs;
- use App\Repositories\ConfigRepoistory;
- use Hyperf\AsyncQueue\Job;
- use Hyperf\Guzzle\ClientFactory;
- /**
- * 代理系统新增订单
- */
- class AgentOrderIncJob 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'] . 'pay/inc';
- $data = [
- [
- 'created_at' => $this->params['created_at'],
- 'updated_at' => $this->params['updated_at'],
- 'paid_at' => $this->params['updated_at'],
- 'channel_uid' => $this->params['user_info']['channel_id'],
- 'invite_uid' => $this->params['user_info']['parent_uid'],
- 'device_type' => $this->params['user_info']['device_type'],
- 'user_uid' => $this->params['user_info']['code'],
- 'order_sn' => $this->params['order_sn'],
- 'pay_type' => $this->params['pay_type'] ?? '',
- 'order_amount' => $this->params['order_amount'],
- 'real_amount' => $this->params['real_amount'],
- 'transaction_no' => $this->params['trade_no'],
- 'order_type' => $this->params['order_type'] ?? 2, //1 vip; 2金币类型订单
- 'buy_gold_num' => $this->params['coins'] ?? 0,
- 'package_info' => $this->params['package_info'],
- 'pay_status' => $this->params['status'],
- 'order_status' => $this->params['status'],
- '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('AgentOrderIncJob', ['代理系统新增订单', $data]);
- }
- } catch (\Exception $exception) {
- logger('AgentOrderIncJob', [$exception->getMessage(), $data]);
- }
- }
- }
|