| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- <?php
- namespace App\Jobs;
- use App\Model\CoinsOrderModel;
- use App\Model\PaymentModel;
- use App\Model\VipOrderModel;
- use App\Repositories\CoinsRepository;
- use App\Repositories\Service\Payment\PaymentInterface;
- use App\Repositories\VipRepository;
- use Hyperf\AsyncQueue\Job;
- class GetPayTradeNoJob extends Job
- {
- public $params;
- public function __construct($params)
- {
- // 这里最好是普通数据,不要使用携带 IO 的对象,比如 PDO 对象
- $this->params = $params;
- }
- public function handle()
- {
- try {
- //获取通道商户号
- $paymentInfo = PaymentModel::query()->where('pay_code', $this->params['gateway'])->first(['partner_id']);
- $tradeNo = PaymentInterface::factory($this->params['gateway'])->queryRradeNo($this->params['orderSn'], $paymentInfo->partner_id);
- if (empty($tradeNo)) {
- return true;
- }
- if ($this->params['type'] == 1) {
- VipOrderModel::where('order_sn', $this->params['orderSn'])->update(['trade_no' => $tradeNo]);
- } else {
- CoinsOrderModel::where('order_sn', $this->params['orderSn'])->update(['trade_no' => $tradeNo]);
- }
- } catch (\Exception $exception) {
- logger('GetPayTradeNoJob', [$exception->getMessage()]);
- }
- }
- }
|