thirdpayment
parent
383b30c391
commit
e363a30efc
@ -0,0 +1,74 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Command;
|
||||||
|
|
||||||
|
use App\Model\Order;
|
||||||
|
use App\Service\PaymentService;
|
||||||
|
use App\Service\RequestService;
|
||||||
|
use Hyperf\Command\Annotation\Command;
|
||||||
|
use Hyperf\Command\Command as HyperfCommand;
|
||||||
|
use Hyperf\Contract\ContainerInterface;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Command
|
||||||
|
*/
|
||||||
|
class PaymentCommand extends HyperfCommand
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var ContainerInterface
|
||||||
|
*/
|
||||||
|
protected $container;
|
||||||
|
|
||||||
|
protected $admin;
|
||||||
|
|
||||||
|
public function __construct(ContainerInterface $container)
|
||||||
|
{
|
||||||
|
$this->container = $container;
|
||||||
|
|
||||||
|
parent::__construct('payment');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function configure(): void
|
||||||
|
{
|
||||||
|
parent::configure();
|
||||||
|
$this->setDescription('支付');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function handle(): void
|
||||||
|
{
|
||||||
|
$this->confirmPay();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function confirmPay()
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var PaymentService $paymentService
|
||||||
|
*/
|
||||||
|
$paymentService = $this->container->make(PaymentService::class);
|
||||||
|
$fiveMinute = date('Y-m-d H:i:s', time() - 6*60);
|
||||||
|
$orders = Order::where('updated_at', '<=', $fiveMinute)->where('status', 'SUCCESS')->get();
|
||||||
|
foreach ($orders as $order) {
|
||||||
|
if ($order->user_id != 'ELF1990') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$userId = $order->user_id;
|
||||||
|
$requestLog = $this->createRequestLog(['userId' => $userId, 'oldOutOrderNo' => $order->out_order_no, 'amount' => $order->amount]);
|
||||||
|
$result = $paymentService->confirmPay($requestLog->getData(), $requestLog->app, $requestLog->request_token);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function createRequestLog($data) {
|
||||||
|
/**
|
||||||
|
* @var RequestService $requestService
|
||||||
|
*/
|
||||||
|
$requestService = $this->container->make(RequestService::class);
|
||||||
|
$params = [
|
||||||
|
'app_id' => '202308070000001',
|
||||||
|
'data' => json_encode($data),
|
||||||
|
];
|
||||||
|
|
||||||
|
return $requestService->createRequestLog('', $params);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue