92 lines
2.8 KiB
PHP
Executable File
92 lines
2.8 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Console\Commands\Pls;
|
|
|
|
use App\Enums\BoolEnum;
|
|
use App\Jobs\RefreshOrderPlsResult;
|
|
use App\Model\Pls;
|
|
use App\Utils\Helps;
|
|
use Illuminate\Console\Command;
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
class SyncPlsResult extends Command
|
|
{
|
|
/**
|
|
* 这个就是命令名称
|
|
*/
|
|
protected $signature = 'pls:sync_pls_result';
|
|
|
|
/**
|
|
* 命令的说明描述
|
|
* @var string
|
|
*/
|
|
protected $description = '';
|
|
|
|
/**
|
|
* 创建命令的构造方法。
|
|
* @param string $words 传入的字符参数
|
|
* @return void
|
|
*/
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
}
|
|
|
|
/**
|
|
* 命令的具体执行触发方法
|
|
* @return mixed
|
|
*/
|
|
public function handle()
|
|
{
|
|
Log::info('SyncPlsResult 开始同步排列三的开奖结果');
|
|
// $url = 'https://trade.500.com/static/info/prizeinfo/newxml/pls/list5.json';
|
|
$url = 'https://trade.500.com/static/info/prizeinfo/newxml/pls/lastPrize.xml?t=' . time();
|
|
|
|
try {
|
|
$content = file_get_contents($url);
|
|
$data = Helps::xml2json($content);
|
|
$pls = Pls::where('issue_num', $data['PeriodicalNO'])->first();
|
|
|
|
if ($data['ZhixuanMoney'] <= 0 || $data['Zuxuan3Money'] <= 0 || $data['Zuxuan6Money'] <= 0) {
|
|
Log::error('SyncPlsResult 未获取到奖金', $data);
|
|
return;
|
|
}
|
|
|
|
if ($pls && $pls->state == BoolEnum::YES) {
|
|
return;
|
|
}
|
|
if (!$pls) {
|
|
$pls = new Pls();
|
|
}
|
|
$pls->state = BoolEnum::YES;
|
|
$pls->enable = BoolEnum::NO;
|
|
$pls->issue_num = $data['PeriodicalNO'];
|
|
$pls->result = explode(',', $data['OutBall']);
|
|
$pls->prize = $data['TotalMoney'];
|
|
$pls->zhixuan_num = $data['ZhixuanNum'];
|
|
$pls->zuxuan3_num = $data['Zuxuan3Num'];
|
|
$pls->zuxuan6_num = $data['Zuxuan6Num'];
|
|
$pls->zhixuan_prize = $data['ZhixuanMoney'];
|
|
$pls->zhixuan_total_prize = $data['ZhixuanTotalMoney'];
|
|
$pls->zuxuan3_prize = $data['Zuxuan3Money'];
|
|
$pls->zuxuan3_total_prize = $data['Zuxuan3TotalMoney'];
|
|
$pls->zuxuan6_prize = $data['Zuxuan6Money'];
|
|
$pls->zuxuan6_total_prize = $data['Zuxuan6TotalMoney'];
|
|
$pls->daxiao = $data['daxiao'];
|
|
$pls->jiou = $data['jiou'];
|
|
$pls->zhihe = $data['zhihe'];
|
|
$pls->hezhi = $data['hezhi'];
|
|
$pls->kuadu = $data['kuadu'];
|
|
if (isset($data['ResultTime'])) {
|
|
$pls->prize_time = $data['ResultTime'];
|
|
}
|
|
$pls->save();
|
|
|
|
RefreshOrderPlsResult::dispatch($pls->id);
|
|
|
|
} catch (\Exception $exception) {
|
|
Log::error('SyncPlsResult error:' . $exception->getMessage());
|
|
}
|
|
}
|
|
}
|