jingcai-php/app/Console/Commands/Qxc/SyncQxcResult.php

74 lines
2.1 KiB
PHP
Executable File

<?php
namespace App\Console\Commands\Qxc;
use App\Enums\BoolEnum;
use App\Jobs\RefreshOrderQxcResult;
use App\Model\Qxc;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Log;
class SyncQxcResult extends Command
{
/**
* 这个就是命令名称
*/
protected $signature = 'qxc:sync_qxc_result';
/**
* 命令的说明描述
* @var string
*/
protected $description = '';
/**
* 创建命令的构造方法。
* @param string $words 传入的字符参数
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* 命令的具体执行触发方法
* @return mixed
*/
public function handle()
{
Log::info('SyncQxcResult 开始同步七星彩的开奖结果');
$url = 'https://trade.500.com/static/info/prizeinfo/newxml/qx/list5.json?t=' . time();
try {
$content = file_get_contents($url);
$data = json_decode($content, true);
foreach ($data as $item) {
$qxc = Qxc::where('issue_num', $item['expect'])->first();
if ($qxc && $qxc->state == BoolEnum::YES) {
continue;
}
if (!$qxc) {
$qxc = new Qxc();
}
$qxc->state = BoolEnum::YES;
$qxc->enable = BoolEnum::NO;
$qxc->issue_num = $item['expect'];
$qxc->result = explode(',', $item['foreresult']);
$qxc->base1_num = $item['basenum1'];
$qxc->base2_num = $item['basenum2'];
$qxc->base3_num = $item['basenum3'];
$qxc->base1_prize = $item['basemoney1'];
$qxc->base2_prize = $item['basemoney2'];
$qxc->base3_prize = $item['basemoney3'];
$qxc->save();
// 派发任务
RefreshOrderQxcResult::dispatch($qxc->id);
}
} catch (\Exception $exception) {
Log::error('SyncQxcResult error:' . $exception->getMessage());
}
}
}