jingcai-php/app/Console/Commands/Lq/SyncJclqResult.php

109 lines
4.2 KiB
PHP
Executable File

<?php
namespace App\Console\Commands\Lq;
use App\Jobs\RefreshOrderJclqResult;
use App\Model\Lq\JclqCompetition;
use App\Model\Lq\JclqOdds;
use App\Model\Lq\JclqResult;
use App\Service\External\AlStatService;
use Illuminate\Console\Command;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Log;
class SyncJclqResult extends Command
{
/**
* 这个就是命令名称
*/
protected $signature = 'lq:sync_jclq_result';
/**
* 命令的说明描述
* @var string
*/
protected $description = '';
/**
* 创建命令的构造方法。
* @param string $words 传入的字符参数
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* 命令的具体执行触发方法
* @return mixed
*/
public function handle()
{
Log::info('SyncJclqOdds 篮球开奖结果');
/** @var AlStatService $alStatService */
$alStatService = app(AlStatService::class);
$results = $alStatService->getLqResult();
if (!$results) {
return;
}
foreach ($results as $item) {
$id = $item['jclqOddId'];
$result = JclqResult::where('odds_id', $id)->first();
if ($result) {
continue;
}
$issueNum = strval(Arr::get($item, 'issueNum'));
$issueNumArr = explode('/', $issueNum);
$odds = JclqOdds::where('odds_id', $id)->first();
$result = new JclqResult();
$result->jclq_odds_id = $odds ? $odds->id : 0;
$result->odds_id = $id;
$result->match_id = intval(Arr::get($item, 'matchId'));
$result->issue_num = $issueNum;
$result->issue_date = strval(Arr::get($issueNumArr, 0));
$result->play_num = intval(Arr::get($item, 'playNum'));
$result->is_reverse = intval(Arr::get($item, 'isReverse'));
$result->home_score = intval(Arr::get($item, 'homeScore'));
$result->away_score = intval(Arr::get($item, 'awayScore'));
$result->q1home_score = intval(Arr::get($item, 'q1homeScore'));
$result->q1away_score = intval(Arr::get($item, 'q1awayScore'));
$result->q2home_score = intval(Arr::get($item, 'q2homeScore'));
$result->q2away_score = intval(Arr::get($item, 'q2awayScore'));
$result->q3home_score = intval(Arr::get($item, 'q3homeScore'));
$result->q3away_score = intval(Arr::get($item, 'q3awayScore'));
$result->q4home_score = intval(Arr::get($item, 'q4homeScore'));
$result->q4away_score = intval(Arr::get($item, 'q4awayScore'));
$result->othome_score = intval(Arr::get($item, 'othomeScore'));
$result->otaway_score = intval(Arr::get($item, 'otawayScore'));
$result->lottery_state = strval(Arr::get($item, 'lottState'));
$result->lottery_time = Arr::get($item, 'lotteryTime');
$result->sf_field = strval(Arr::get($item, 'sfResult.resultField'));
$result->sf_name = strval(Arr::get($item, 'sfResult.resultName'));
$result->sf_odds = floatval(Arr::get($item, 'sfResult.resultOdds'));
$result->rf_handicap = floatval(Arr::get($item, 'rfResult.handicap'));
$result->rf_field = strval(Arr::get($item, 'rfResult.resultField'));
$result->rf_name = strval(Arr::get($item, 'rfResult.resultName'));
$result->rf_odds = floatval(Arr::get($item, 'rfResult.resultOdds'));
$result->sfc_field = strval(Arr::get($item, 'sfcResult.resultField'));
$result->sfc_name = strval(Arr::get($item, 'sfcResult.resultName'));
$result->sfc_odds = floatval(Arr::get($item, 'sfcResult.resultOdds'));
$result->dxf_total_score = floatval(Arr::get($item, 'dxfResult.totalScore'));
$result->dxf_field = strval(Arr::get($item, 'dxfResult.resultField'));
$result->dxf_name = strval(Arr::get($item, 'dxfResult.resultName'));
$result->dxf_odds = floatval(Arr::get($item, 'dxfResult.resultOdds'));
$result->save();
// 派发任务
RefreshOrderJclqResult::dispatch($result->id);
}
}
}