dlt该规则

main
jcadmin 2026-02-11 10:41:59 +08:00
parent 8454b615f1
commit 38ef9679a5
2 changed files with 108 additions and 2 deletions

View File

@ -31,4 +31,14 @@ class Dlt extends BaseModel
$time = strtotime($this->close_time);
return date('Y-m-d H:i:s', $time - $earlySecond);
}
function getPrizePool() {
// 匹配"亿"单位的数字,支持"7.99亿"格式
$pattern = '/(\d+(?:\.\d+)?)亿/';
$matches = [];
if (preg_match($pattern, $this->prize, $matches)) {
return floatval($matches[1]);
}
return 0;
}
}

View File

@ -685,9 +685,105 @@ class DltService implements IJingcai
}
return $piaos;
}
public function danshiWinPrize(Dlt $dlt, $oddData, $enableAdd = 0)
{
$prizePool = $dlt->getPrizePool();
$resultQian = $dlt->qian;
$resultHou = $dlt->hou;
$qian = $oddData['qian'];
$hou = $oddData['hou'];
$qianInters = array_intersect($resultQian, $qian);
$houInters = array_intersect($resultHou, $hou);
$qianIntersCount = count($qianInters);
$houIntersCount = count($houInters);
if ($qianIntersCount == 5 && $houIntersCount == 2) {
$endPrize = $dlt->base1_prize;
if ($enableAdd) {
$endPrize += $dlt->add1_prize;
}
return [
'rank' => 1,
'prize' => $endPrize,
'prize_after_tax' => Config::getAfterTaxPrize($endPrize),
];
}
if ($qianIntersCount == 5 && $houIntersCount == 1) {
$endPrize = $dlt->base2_prize;
if ($enableAdd) {
$endPrize += $dlt->add2_prize;
}
return [
'rank' => 2,
'prize' => $endPrize,
'prize_after_tax' => Config::getAfterTaxPrize($endPrize),
];
}
if (($qianIntersCount == 5 && $houIntersCount == 0) ||
($qianIntersCount == 4 && $houIntersCount == 2)) {
$eprize = 5000;
if ($prizePool >= 8.00) {
$eprize = 6666;
}
return [
'rank' => 3,
'prize' => $eprize,
'prize_after_tax' => Config::getAfterTaxPrize($eprize),
];
}
if ($qianIntersCount == 4 && $houIntersCount == 1) {
$eprize = 300;
if ($prizePool >= 8.00) {
$eprize = 380;
}
return [
'rank' => 4,
'prize' => $eprize,
'prize_after_tax' => Config::getAfterTaxPrize($eprize),
];
}
if (($qianIntersCount == 4 && $houIntersCount == 0) ||
($qianIntersCount == 3 && $houIntersCount == 2)) {
$eprize = 150;
if ($prizePool >= 8.00) {
$eprize = 200;
}
return [
'rank' => 5,
'prize' => $eprize,
'prize_after_tax' => Config::getAfterTaxPrize($eprize),
];
}
if (($qianIntersCount == 3 && $houIntersCount == 1) ||
($qianIntersCount == 2 && $houIntersCount == 2)) {
$eprize = 15;
if ($prizePool >= 8.00) {
$eprize = 18;
}
return [
'rank' => 6,
'prize' => $eprize,
'prize_after_tax' => Config::getAfterTaxPrize($eprize),
];
}
if (($qianIntersCount == 3 && $houIntersCount == 0) ||
($qianIntersCount == 2 && $houIntersCount == 1) ||
($qianIntersCount == 1 && $houIntersCount == 2) ||
($qianIntersCount == 0 && $houIntersCount == 2)) {
$eprize = 5;
if ($prizePool >= 8.00) {
$eprize = 7;
}
return [
'rank' => 7,
'prize' => $eprize,
'prize_after_tax' => Config::getAfterTaxPrize($eprize),
];
}
return null;
}
public function danshiWinPrize_old(Dlt $dlt, $oddData, $enableAdd = 0)
{
$resultQian = $dlt->qian;
$resultHou = $dlt->hou;