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

136 lines
4.3 KiB
PHP
Executable File

<?php
namespace App\Console\Commands\Lq;
use App\Model\Lq\JclqZhishuDaxiao;
use App\Model\Lq\JclqZhishuOu;
use App\Model\Lq\JclqZhishuRf;
use App\Service\External\AlStatService;
use Illuminate\Console\Command;
use Illuminate\Support\Arr;
class SyncLqMainOdds extends Command
{
/**
* 这个就是命令名称
*/
protected $signature = 'lq:sync_lq_main_odds';
/**
* 命令的说明描述
* @var string
*/
protected $description = '';
/**
* 创建命令的构造方法。
* @param string $words 传入的字符参数
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* 命令的具体执行触发方法
* @return mixed
*/
public function handle()
{
/** @var AlStatService $alStatService */
$alStatService = app(AlStatService::class);
$date = date('Ymd');
$mainOdds = $alStatService->getLqMainOdds();
if (!$mainOdds) {
return;
}
foreach ($mainOdds as $item) {
$this->syncZhiShuOu($item['matchId'],$date, Arr::get($item, 'ouzhiOdds'));
$this->syncZhiShuRf($item['matchId'], $date,Arr::get($item, 'rfOdds'));
$this->syncZhiShuDaXiao($item['matchId'],$date, Arr::get($item, 'daxiaoOdds'));
}
}
protected function syncZhiShuOu($matchId,$date, $data) {
if (!$data) {
return;
}
foreach ($data as $item) {
$companyId = intval(Arr::get($item, 'companyId'));
$type = intval(Arr::get($item, 'type'));
$zhishu = JclqZhishuOu::where('cdate', $date)
->where('company_id', $companyId)
->where('match_id', $matchId)
->where('type', $type)
->first();
if (!$zhishu) {
$zhishu = new JclqZhishuOu();
}
$zhishu->match_id = $matchId;
$zhishu->cdate = $date;
$zhishu->company_id = $companyId;
$zhishu->type = $type;
$zhishu->win = floatval(Arr::get($item, 'win'));
$zhishu->loss = floatval(Arr::get($item, 'loss'));
$zhishu->change_time = Arr::get($item, 'changeTime');
$zhishu->save();
}
}
protected function syncZhiShuRf($matchId, $date,$data) {
if (!$data) {
return;
}
foreach ($data as $item) {
$companyId = intval(Arr::get($item, 'companyId'));
$type = intval(Arr::get($item, 'type'));
$zhishu = JclqZhishuRf::where('cdate', $date)
->where('company_id', $companyId)
->where('match_id', $matchId)
->where('type', $type)
->first();
if (!$zhishu) {
$zhishu = new JclqZhishuRf();
}
$zhishu->match_id = $matchId;
$zhishu->cdate = $date;
$zhishu->company_id = $companyId;
$zhishu->type = $type;
$zhishu->handicap = floatval(Arr::get($item, 'handicap'));
$zhishu->home = floatval(Arr::get($item, 'home'));
$zhishu->away = floatval(Arr::get($item, 'away'));
$zhishu->change_time = Arr::get($item, 'changeTime');
$zhishu->save();
}
}
protected function syncZhiShuDaXiao($matchId, $date,$data) {
if (!$data) {
return;
}
foreach ($data as $item) {
$companyId = intval(Arr::get($item, 'companyId'));
$type = intval(Arr::get($item, 'type'));
$zhishu = JclqZhishuDaxiao::where('cdate', $date)
->where('company_id', $companyId)
->where('match_id', $matchId)
->where('type', $type)
->first();
if (!$zhishu) {
$zhishu = new JclqZhishuDaxiao();
}
$zhishu->match_id = $matchId;
$zhishu->cdate = $date;
$zhishu->company_id = $companyId;
$zhishu->type = $type;
$zhishu->handicap = floatval(Arr::get($item, 'handicap'));
$zhishu->over = floatval(Arr::get($item, 'over'));
$zhishu->under = floatval(Arr::get($item, 'under'));
$zhishu->change_time = Arr::get($item, 'changeTime');
$zhishu->save();
}
}
}