81 lines
2.5 KiB
PHP
Executable File
81 lines
2.5 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Console\Commands\Dlt;
|
|
|
|
use App\Enums\BoolEnum;
|
|
use App\Jobs\RefreshOrderDltResult;
|
|
use App\Model\Dlt;
|
|
use Illuminate\Console\Command;
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
class SyncDltResult extends Command
|
|
{
|
|
/**
|
|
* 这个就是命令名称
|
|
*/
|
|
protected $signature = 'dlt:sync_dlt_result';
|
|
|
|
/**
|
|
* 命令的说明描述
|
|
* @var string
|
|
*/
|
|
protected $description = '';
|
|
|
|
/**
|
|
* 创建命令的构造方法。
|
|
* @param string $words 传入的字符参数
|
|
* @return void
|
|
*/
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
}
|
|
|
|
/**
|
|
* 命令的具体执行触发方法
|
|
* @return mixed
|
|
*/
|
|
public function handle()
|
|
{
|
|
Log::info('SyncDltResult 开始同步大乐透的开奖结果');
|
|
$url = 'https://trade.500.com/static/info/prizeinfo/newxml/dlt/list5.json?t=' . time();
|
|
|
|
try {
|
|
$content = file_get_contents($url);
|
|
$data = json_decode($content, true);
|
|
foreach ($data as $item) {
|
|
$dlt = Dlt::where('issue_num', $item['expect'])->first();
|
|
if ($dlt && $dlt->state == BoolEnum::YES) {
|
|
continue;
|
|
}
|
|
if (!$dlt) {
|
|
$dlt = new Dlt();
|
|
}
|
|
$dlt->state = BoolEnum::YES;
|
|
$dlt->enable = BoolEnum::NO;
|
|
$dlt->issue_num = $item['expect'];
|
|
$dlt->qian = explode(',', $item['foreresult']);
|
|
$dlt->hou = explode(',', $item['backresult']);
|
|
$dlt->base1_num = $item['basenum1'];
|
|
$dlt->base2_num = $item['basenum2'];
|
|
$dlt->base3_num = $item['basenum3'];
|
|
$dlt->base1_prize = $item['basemoney1'];
|
|
$dlt->base2_prize = $item['basemoney2'];
|
|
$dlt->base3_prize = $item['basemoney3'];
|
|
$dlt->add1_num = $item['additionnum1'];
|
|
$dlt->add2_num = $item['additionnum2'];
|
|
$dlt->add3_num = $item['additionnum3'];
|
|
$dlt->add1_prize = $item['additionmoney1'];
|
|
$dlt->add2_prize = $item['additionmoney2'];
|
|
$dlt->add3_prize = $item['additionmoney3'];
|
|
$dlt->save();
|
|
|
|
// 派发任务
|
|
RefreshOrderDltResult::dispatch($dlt->id);
|
|
}
|
|
} catch (\Exception $exception) {
|
|
Log::error('SyncDltResult error:' . $exception->getMessage());
|
|
}
|
|
}
|
|
}
|