536 lines
16 KiB
PHP
Executable File
536 lines
16 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
|
|
use App\Console\Commands\GenerateCustomerFame;
|
|
use App\Console\Commands\GenerateCustomerHitRate;
|
|
use App\Console\Commands\GenerateCustomerProfit;
|
|
use App\Console\Commands\Lq\SyncJclqOdds;
|
|
use App\Console\Commands\Lq\SyncJclqResult;
|
|
use App\Console\Commands\Lq\SyncLqCompany;
|
|
use App\Console\Commands\Lq\SyncLqMainOdds;
|
|
use App\Console\Commands\Lq\SyncLqMatch;
|
|
use App\Console\Commands\Lq\SyncLqMatchChange;
|
|
use App\Console\Commands\Lq\SyncLqSeason;
|
|
use App\Console\Commands\Report\GenerateDayWin;
|
|
use App\Console\Commands\Zq\SyncCtzq;
|
|
use App\Console\Commands\Zq\SyncJczqOdds;
|
|
use App\Console\Commands\Zq\SyncJczqResult;
|
|
use App\Console\Commands\Zq\SyncMatch;
|
|
use App\Console\Commands\Zq\SyncMatchChange;
|
|
|
|
use App\Console\Commands\Zq\SyncZqCompany;
|
|
use App\Console\Commands\Zq\SyncZqMainOdds;
|
|
use App\Enums\LottType;
|
|
use App\Enums\PlayType;
|
|
use App\Jobs\ComputeCtzqJqcOrderPrize;
|
|
use App\Jobs\ComputeJclqOrderPrize;
|
|
use App\Jobs\ComputeJczqOrderPrize;
|
|
use App\Jobs\RefreshOrderCtzqBqcResult;
|
|
use App\Jobs\RefreshOrderCtzqJqcResult;
|
|
use App\Jobs\RefreshOrderJclqResult;
|
|
use App\Jobs\RefreshOrderJczqResult;
|
|
use App\Model\Config;
|
|
use App\Model\Customer\Customer;
|
|
use App\Model\Customer\CustomerRecharge;
|
|
use App\Model\Customer\CustomerWithdraw;
|
|
use App\Model\Lottery;
|
|
use App\Model\Lq\JclqOdds;
|
|
use App\Model\Lq\JclqMatch;
|
|
use App\Model\Order;
|
|
use App\Model\Report\ReportDayWin;
|
|
use App\Model\Seller\Seller;
|
|
use App\Model\Seller\Shop;
|
|
use App\Model\Zq\CtzqJqc;
|
|
use App\Model\Zq\CtzqJqcMatch;
|
|
use App\Model\Zq\JczqOdds;
|
|
use App\Model\Zq\ZqMatch;
|
|
use App\Service\CtzqJqcService;
|
|
use App\Service\External\AlStatService;
|
|
use App\Service\JclqService;
|
|
use App\Service\JczqService;
|
|
use App\Service\JingCaiTrait;
|
|
use App\Service\LotteryService;
|
|
use App\Service\PlayTypeService;
|
|
use App\Service\RechargeService;
|
|
use App\Utils\Helps;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Arr;
|
|
use Illuminate\Support\Facades\DB;
|
|
use App\Events\OrderTicketedEvent;
|
|
use App\Jobs\ComputeCustomerBuyLevelScore;
|
|
class TestController extends Controller
|
|
{
|
|
public function customerId() {
|
|
return 1;
|
|
}
|
|
//常 让
|
|
//
|
|
//+1
|
|
//胜->胜
|
|
//平->胜
|
|
//负-> 平,负
|
|
//
|
|
//+2+
|
|
//胜->胜
|
|
//平->胜
|
|
//负-> 胜,平,负
|
|
//
|
|
//
|
|
//-1
|
|
//胜->胜,平
|
|
//平->负
|
|
//负-> 负
|
|
//
|
|
//-2-
|
|
//胜->胜,平,负
|
|
//平->负
|
|
//负->负
|
|
public function searchMaxSpfRq($matchOdds)
|
|
{
|
|
$result = [];
|
|
|
|
|
|
$spfData = Arr::get($matchOdds, 'spf_odds');
|
|
$rqData = Arr::get($matchOdds, 'rq_odds');
|
|
if ($spfData && $rqData) {
|
|
$rqNum = Arr::get($matchOdds, 'rq_odds.handicap');
|
|
if ($rqNum !== null) {
|
|
$winArray = [];
|
|
$drawArray = [];
|
|
$lossArray = [];
|
|
|
|
Arr::get($matchOdds, 'spf_odds.win') !== null && $winArray['spf_odds']['win'] = Arr::get($matchOdds, 'spf_odds.win');
|
|
Arr::get($matchOdds, 'spf_odds.draw') !== null && $drawArray['spf_odds']['draw'] = Arr::get($matchOdds, 'spf_odds.draw');
|
|
Arr::get($matchOdds, 'spf_odds.loss') !== null && $lossArray['spf_odds']['loss'] = Arr::get($matchOdds, 'spf_odds.loss');
|
|
if ($rqNum == 1) {
|
|
foreach ($rqData as $playField => $playOdds) {
|
|
if ( $playField == 'win') {
|
|
$winArray['rq_odds'][$playField] = $playOdds;
|
|
$drawArray['rq_odds'][$playField] = $playOdds;
|
|
}
|
|
if ( $playField == 'draw') {
|
|
$lossArray['rq_odds'][$playField] = $playOdds;
|
|
}
|
|
if ( $playField == 'loss') {
|
|
$lossArray['rq_odds'][$playField] = $playOdds;
|
|
}
|
|
}
|
|
} else if ($rqNum >= 2) {
|
|
foreach ($rqData as $playField => $playOdds) {
|
|
if ( $playField == 'win') {
|
|
$winArray['rq_odds'][$playField] = $playOdds;
|
|
$drawArray['rq_odds'][$playField] = $playOdds;
|
|
$lossArray['rq_odds'][$playField] = $playOdds;
|
|
}
|
|
if ( $playField == 'draw') {
|
|
$lossArray['rq_odds'][$playField] = $playOdds;
|
|
}
|
|
if ( $playField == 'loss') {
|
|
$lossArray['rq_odds'][$playField] = $playOdds;
|
|
}
|
|
}
|
|
} else if ($rqNum == -1) {
|
|
foreach ($rqData as $playField => $playOdds) {
|
|
if ( $playField == 'win') {
|
|
$winArray['rq_odds'][$playField] = $playOdds;
|
|
}
|
|
if ( $playField == 'draw') {
|
|
$winArray['rq_odds'][$playField] = $playOdds;
|
|
}
|
|
if ( $playField == 'loss') {
|
|
$drawArray['rq_odds'][$playField] = $playOdds;
|
|
|
|
$lossArray['rq_odds'][$playField] = $playOdds;
|
|
}
|
|
}
|
|
} else if ($rqNum <= -2) {
|
|
foreach ($rqData as $playField => $playOdds) {
|
|
if ( $playField == 'win') {
|
|
$winArray['rq_odds'][$playField] = $playOdds;
|
|
}
|
|
if ( $playField == 'draw') {
|
|
$winArray['rq_odds'][$playField] = $playOdds;
|
|
}
|
|
if ( $playField == 'loss') {
|
|
$winArray['rq_odds'][$playField] = $playOdds;
|
|
$drawArray['rq_odds'][$playField] = $playOdds;
|
|
$lossArray['rq_odds'][$playField] = $playOdds;
|
|
}
|
|
}
|
|
}
|
|
|
|
dump(['win' => $winArray,
|
|
'draw' => $drawArray,
|
|
'loss' => $lossArray,
|
|
]);
|
|
}
|
|
|
|
|
|
dd($matchOdds);
|
|
return [];
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
public function appendHandicap($oddsData)
|
|
{
|
|
foreach ($oddsData as $id => &$playData) {
|
|
if (Arr::get($playData, 'rq_odds')) {
|
|
$jcodds = JczqOdds::find($id);
|
|
$playData['rq_odds']['handicap'] = $jcodds->rq_odds['handicap'];
|
|
}
|
|
}
|
|
|
|
return $oddsData;
|
|
$spfrq = [];
|
|
foreach ($oddsData as $id => $playData) {
|
|
|
|
}
|
|
|
|
|
|
$odds = JczqOdds::whereIn('id', array_keys($oddsData))->get();
|
|
}
|
|
|
|
|
|
public function index(Request $request,
|
|
PlayTypeService $playTypeService,
|
|
JczqService $jczqService,
|
|
CtzqJqcService $jqcService,
|
|
|
|
AlStatService $alStatService,
|
|
JclqService $jclqService,
|
|
RechargeService $rechargeService
|
|
)
|
|
{
|
|
|
|
$data = [
|
|
1172 => [
|
|
'spf_odds' => [
|
|
'win' => 1.1,
|
|
'draw' => 1.2,
|
|
'loss' => 1.3,
|
|
],
|
|
'rq_odds' => [
|
|
'win' => 1.4,
|
|
'draw' => 1.5,
|
|
'loss' => 1.6,
|
|
],
|
|
],
|
|
1173 => [
|
|
'spf_odds' => [
|
|
'win' => 2.1,
|
|
'draw' => 2.2,
|
|
'loss' => 2.3,
|
|
],
|
|
'rq_odds' => [
|
|
'win' => 2.4,
|
|
'draw' => 2.5,
|
|
'loss' => 2.6,
|
|
],
|
|
],
|
|
|
|
];
|
|
|
|
|
|
$data = $this->appendHandicap($data);
|
|
|
|
$this->searchMaxSpfRq($data[1172]);
|
|
$this->searchMaxOdds($data);
|
|
return;
|
|
|
|
$fdata = $jczqService->generateBetsInfo($data, ['2.1'], 1);
|
|
dd($fdata);
|
|
|
|
$cdata = Helps::getCombinationData($fdata, 2);
|
|
dd($cdata);
|
|
$betsInfos = $this->getBetsInfoFromCombinationData($cdata);
|
|
dd($betsInfos);
|
|
|
|
echo 11;exit;
|
|
// $this->dispatch(new ComputeCustomerBuyLevelScore(1));
|
|
// return;
|
|
event(new OrderTicketedEvent(1));return;
|
|
dd(JclqMatch::find(87630)->toArray());
|
|
(new GenerateCustomerHitRate())->handle();return;
|
|
// (new SyncJclqOdds())->handle();return;
|
|
// ComputeJczqOrderPrize::dispatch(8);return;
|
|
//
|
|
//// RefreshOrderJczqResult::dispatch(2);
|
|
//// RefreshOrderJczqResult::dispatch(21);return;
|
|
// /** @var JczqService $jingcaiService */
|
|
// $jingcaiService = app(JczqService::class);
|
|
// $od=Order::find(6);
|
|
// $odds = $jingcaiService->refreshOdds($od->odds);
|
|
// $computeInfo = $jingcaiService->computePrizeInfo($odds, 4, $od->pass_mode);
|
|
//
|
|
// $betsInfos = $jingcaiService->generateBetsInfo($odds,$od->pass_mode, 4);
|
|
// dd($betsInfos);
|
|
|
|
RefreshOrderCtzqBqcResult::dispatch(2);
|
|
// RefreshOrderCtzqJqcResult::dispatch(12);
|
|
// RefreshOrderCtzqJqcResult::dispatch(13);
|
|
// RefreshOrderCtzqJqcResult::dispatch(14);
|
|
return;
|
|
// ComputeJczqOrderPrize::dispatch(2);return;
|
|
//
|
|
// return;
|
|
// dd($closeTimes);
|
|
// $json = $jclqService->refreshOdds($odds);
|
|
// dump($json);
|
|
// $info = $jclqService->computePrizeInfo($json, 3, ['2.1']);
|
|
// dd($info);
|
|
// (new SyncOdds())->handle();
|
|
// return;
|
|
// $ss = $jclqService->generatePrize($data, 1);
|
|
// dd($ss);
|
|
(new SyncCtzq())->handle();return;
|
|
// (new SyncMatchChange())->handle();
|
|
// (new SyncJczqOdds())->handle();
|
|
// (new SyncZqCompany())->handle();
|
|
// (new SyncMatch())->syncMatch(1,'22/23');
|
|
// return;
|
|
|
|
// dd(str_replace('odds', '', 'ssod_odds'));
|
|
// dd(substr('sd_odds', -5));
|
|
|
|
// RefreshOrderJclqResult::dispatch(2);
|
|
// ComputeJclqOrderPrize::dispatch(17);
|
|
// return;
|
|
// dd(1%2,2%2,3%2,4%2,5%2,0%2);
|
|
// (new SyncCompetition())->handle();
|
|
// (new SyncTeam())->handle();
|
|
// (new SyncJczqOdds())->handle();
|
|
// (new SyncZqMainOdds())->handle();return;
|
|
// (new SyncLqMainOdds())->handle();return;
|
|
// (new SyncLqCompany())->handle();return;
|
|
// (new SyncLqSeason())->handle();return;
|
|
// (new \App\Console\Commands\Lq\SyncCompetition())->handle();
|
|
// (new \App\Console\Commands\Lq\SyncCompetition())->handle();
|
|
// (new SyncLqMatchChange())->handle();return;
|
|
// (new SyncLqMatch())->syncMatch(265);return;
|
|
(new SyncJczqOdds())->handle();return;
|
|
//
|
|
|
|
|
|
$res = $alStatService->getLqLeaqueTable(97003 );
|
|
echo json_encode($res);exit;
|
|
$id = '1 \' or \'1=1';
|
|
$s = Order::where('id', $id)->count();
|
|
return $s;
|
|
|
|
$ss = urlencode('../');
|
|
dump($ss);
|
|
$ss = urlencode('..\\');
|
|
dump($ss);
|
|
|
|
dd(111);
|
|
RefreshOrderCtzqJqcResult::dispatch(1);
|
|
return;
|
|
|
|
$data = json_decode('{
|
|
"1":{
|
|
"home_odds":[0,1,2,3],
|
|
"away_odds":[0,1,2,3]
|
|
},
|
|
"2":{
|
|
"home_odds":[0,1,2,3],
|
|
"away_odds":[1]
|
|
},
|
|
"3":{
|
|
"home_odds":[1],
|
|
"away_odds":[1]
|
|
},
|
|
"4":{
|
|
"home_odds":[1],
|
|
"away_odds":[1]
|
|
}
|
|
}', true);
|
|
|
|
$service->computePrizeInfo($data, 1);
|
|
return;
|
|
|
|
|
|
|
|
$odds =JclqOdds::find(1);
|
|
JclqOdds::unsetLastSuffixField($odds);
|
|
dd($odds->toArray());
|
|
|
|
$s = Shop::find(1);
|
|
// $s->phone = '13711111111';
|
|
$s->password_pay = Seller::encryPassword('111111');
|
|
$s->save();
|
|
dd($s->toArray());
|
|
dd(Helps::validIdCard('410728198710275522'));
|
|
return $this->withdrawList($request);
|
|
|
|
$with = CustomerWithdraw::find(1);
|
|
|
|
dd($with->customer->toArray());
|
|
|
|
// $seller = Seller::find(1);
|
|
// $effect = $seller->save();
|
|
// dd($effect);
|
|
// return;
|
|
//
|
|
// $order = Order::find(14);
|
|
// dd($order->pOrder->toArray());
|
|
//
|
|
// dd(OrderJczqResult::where('published', 11)->get()->pluck('id')->toArray());
|
|
|
|
|
|
ComputeOrderPrize::dispatch(18);
|
|
return;
|
|
|
|
LotteryResultEvent::dispatchResult(1,LottType::JCZQ);
|
|
LotteryResultEvent::dispatchResult(2,LottType::JCZQ);
|
|
// event(new LotteryResultEvent(1,LottType::JCZQ));
|
|
return;
|
|
|
|
$order = Order::with('unionOrder')->find(15);
|
|
|
|
|
|
dd($order->toArray());
|
|
|
|
dd(is_float(1/3));
|
|
|
|
|
|
|
|
$piaos = [
|
|
|
|
];
|
|
dump($betsInfos);
|
|
foreach ($betsInfos as $k => $betsInfo) {
|
|
|
|
$this->piaoAddBets($piaos, $betsInfo);
|
|
|
|
}
|
|
|
|
echo json_encode($piaos);
|
|
dd(['piaos' => $piaos]);
|
|
$ss = $jczqService->refreshOdds($data);
|
|
dd($data,$ss);
|
|
// $ss = config('lottery.lottery');
|
|
$ss = Lottery::find(1);
|
|
dd($ss);
|
|
|
|
$rechar = CustomerRecharge::find(1);
|
|
dd($rechar->trade);
|
|
$data = [
|
|
'pay_type' => 'alipay',
|
|
'pay_money' => 1,
|
|
];
|
|
|
|
$dd = $rechargeService->customerCreateRecharge(Customer::find(1), $data);
|
|
|
|
dd($dd);
|
|
$d = uniqid(mt_rand(100000,999999),true);
|
|
|
|
|
|
dd($d,crc32($d),strlen(crc32($d)));
|
|
|
|
$oddsData = [
|
|
1 => [
|
|
'spf' => [
|
|
'win' => 1
|
|
]
|
|
],
|
|
2 => [
|
|
'spf' => [
|
|
'win' => 2
|
|
]
|
|
],
|
|
3 => [
|
|
'spf' => [
|
|
'win' => 3
|
|
]
|
|
]
|
|
];
|
|
|
|
$ss = JingCaiTrait::generatePassModeInfo(1, PlayType::BF);
|
|
dd($ss);
|
|
$f = $jczqService->formatData($oddsData);
|
|
dump($f);
|
|
$checkedData = [[0,1,2],[2,3,4],[5,6]];
|
|
$checkedData = $f;
|
|
$ss = Helps::getCombinationData($checkedData, 2);
|
|
dd($ss);
|
|
$checkedData = [[0,1,2],[2,3,4],[5,6]];
|
|
// $checkedData = $f;
|
|
// $ss = Helps::getCombinationData($checkedData, 2);
|
|
// dd($ss);
|
|
$spf = [
|
|
'loss' => 2.25
|
|
];
|
|
$rq = [
|
|
'draw' => 2.75
|
|
];
|
|
|
|
// $dss = $jczqService->validZuHe(4, $oddsData);
|
|
// dd($dss);
|
|
|
|
|
|
/** @var JczqService $JczqService */
|
|
$JczqService = app(JczqService::class);
|
|
|
|
// dd(PlayType::asSelectArray());
|
|
|
|
|
|
|
|
$keys = ['2.1'];
|
|
$ss = $JczqService->computePrizeInfo($data, PlayType::SPF,2, $keys);
|
|
dd($ss);
|
|
|
|
|
|
$ss = JczqService::getPassMode(3, PlayType::ALL);
|
|
echo json_encode($ss);exit;
|
|
dd();
|
|
$mns = JingcaiRule::getMnInfo(3);
|
|
dd($keys, $mns);
|
|
|
|
|
|
dd($ss);
|
|
|
|
|
|
$baseColl = collect($data);
|
|
|
|
$mon = [];
|
|
foreach ($ss as $item) {
|
|
$keyArr = explode(',', $item);
|
|
foreach ($keyArr as $key) {
|
|
$keyInfo = $this->parserJczqKey($key);
|
|
|
|
$baseItemArr = $baseColl->where('id', $keyInfo['id'])->first();
|
|
$m = Arr::get($baseItemArr, $keyInfo['play'] .'.' .$keyInfo['play2'], null);
|
|
|
|
if ($m === null) {
|
|
throw new \Exception('数据有误');
|
|
}
|
|
$mon[]=$m;
|
|
}
|
|
}
|
|
|
|
dd($mon);
|
|
|
|
|
|
$checkedData = ["01","02","03","04"];
|
|
$checkedData = $f;
|
|
$data = Helps::combination($checkedData,2);//两组
|
|
// dump($data);
|
|
// $data = Helps::combination($checkedData,3);//三组
|
|
|
|
dd($data);
|
|
|
|
|
|
|
|
$l = Lottery::with('lotteryType')->find(1);
|
|
/** @var LotteryService $lotteryService */
|
|
$lotteryService = app(LotteryService::class);
|
|
// $excel_file_path = 你的 Excel 文件存放地址
|
|
$excel_file_path = '/Users/wild/Desktop/mcn.xlsx';
|
|
}
|
|
}
|