|
@@ -77,64 +77,68 @@ class PcIssueService extends BaseService
|
|
|
$now = time();
|
|
$now = time();
|
|
|
foreach ($list as $index => $item) {
|
|
foreach ($list as $index => $item) {
|
|
|
if (strtotime($item->end_time) <= $now) {
|
|
if (strtotime($item->end_time) <= $now) {
|
|
|
- $keno = static::getKeno();
|
|
|
|
|
- $item->keno = json_encode($keno);
|
|
|
|
|
- $winningNumbers = static::getWinningNumbers($keno);
|
|
|
|
|
- $item->winning_numbers = implode(',', $winningNumbers);
|
|
|
|
|
- $item->save();
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- $winArr = array_map('intval', $winningNumbers);
|
|
|
|
|
- // 组合
|
|
|
|
|
- $sum = array_sum($winArr);
|
|
|
|
|
- $combo = [];
|
|
|
|
|
- $sumSize = IssueService::calculateSumSize($sum); // 总和大小
|
|
|
|
|
- $combo[] = $sumSize;
|
|
|
|
|
|
|
+ DB::beginTransaction();
|
|
|
|
|
+ try {
|
|
|
|
|
+ $keno = static::getKeno();
|
|
|
|
|
+ $item->keno = json_encode($keno);
|
|
|
|
|
+ $winningNumbers = static::getWinningNumbers($keno);
|
|
|
|
|
+ $item->winning_numbers = implode(',', $winningNumbers);
|
|
|
|
|
+ $item->save();
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ $winArr = array_map('intval', $winningNumbers);
|
|
|
|
|
+ // 组合
|
|
|
|
|
+ $sum = array_sum($winArr);
|
|
|
|
|
+ $combo = [];
|
|
|
|
|
+ $sumSize = IssueService::calculateSumSize($sum); // 总和大小
|
|
|
|
|
+ $combo[] = $sumSize;
|
|
|
|
|
+
|
|
|
|
|
+ $sumOddEven = IssueService::calculateOddEven($sum); // 总和单双
|
|
|
|
|
+ $combo[] = $sumOddEven;
|
|
|
|
|
+ $sumExtremeSize = IssueService::calculateSumExtremeSize($sum); // 总和极值
|
|
|
|
|
+ if ($sumExtremeSize) {
|
|
|
|
|
+ $combo[] = $sumExtremeSize;
|
|
|
|
|
+ }
|
|
|
|
|
+ $sumBaoZi = IssueService::isBaoZi($winArr[0], $winArr[1], $winArr[2]); // 豹子
|
|
|
|
|
+ if ($sumBaoZi) {
|
|
|
|
|
+ $combo[] = $sumBaoZi;
|
|
|
|
|
+ }
|
|
|
|
|
+ $sumPair = IssueService::isPair($winArr[0], $winArr[1], $winArr[2]); // 对子
|
|
|
|
|
+ if ($sumPair) {
|
|
|
|
|
+ $combo[] = $sumPair;
|
|
|
|
|
+ }
|
|
|
|
|
+ $sumStraight = IssueService::isStraight($winArr[0], $winArr[1], $winArr[2]); // 顺子
|
|
|
|
|
+ if ($sumStraight) {
|
|
|
|
|
+ $combo[] = $sumStraight;
|
|
|
|
|
+ }
|
|
|
|
|
+ $tail = IssueService::getLastDigit($sum); // 总和尾数
|
|
|
|
|
+ if ($tail != 0 && $tail != 9) {
|
|
|
|
|
+ $combo[] = '尾' . $tail; // 尾数
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- $sumOddEven = IssueService::calculateOddEven($sum); // 总和单双
|
|
|
|
|
- $combo[] = $sumOddEven;
|
|
|
|
|
- $sumExtremeSize = IssueService::calculateSumExtremeSize($sum); // 总和极值
|
|
|
|
|
- if ($sumExtremeSize) {
|
|
|
|
|
- $combo[] = $sumExtremeSize;
|
|
|
|
|
- }
|
|
|
|
|
- $sumBaoZi = IssueService::isBaoZi($winArr[0], $winArr[1], $winArr[2]); // 豹子
|
|
|
|
|
- if ($sumBaoZi) {
|
|
|
|
|
- $combo[] = $sumBaoZi;
|
|
|
|
|
- }
|
|
|
|
|
- $sumPair = IssueService::isPair($winArr[0], $winArr[1], $winArr[2]); // 对子
|
|
|
|
|
- if ($sumPair) {
|
|
|
|
|
- $combo[] = $sumPair;
|
|
|
|
|
- }
|
|
|
|
|
- $sumStraight = IssueService::isStraight($winArr[0], $winArr[1], $winArr[2]); // 顺子
|
|
|
|
|
- if ($sumStraight) {
|
|
|
|
|
- $combo[] = $sumStraight;
|
|
|
|
|
- }
|
|
|
|
|
- $tail = IssueService::getLastDigit($sum); // 总和尾数
|
|
|
|
|
- if ($tail != 0 && $tail != 9) {
|
|
|
|
|
- $combo[] = '尾' . $tail; // 尾数
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
|
|
+ $key = 'lottery_numbers_' . $item->issue_no;
|
|
|
|
|
+ $combo = implode(' ', $combo);
|
|
|
|
|
|
|
|
- $key = 'lottery_numbers_' . $item->issue_no;
|
|
|
|
|
- $combo = implode(' ', $combo);
|
|
|
|
|
|
|
+ if (Cache::add($key, $item->winning_numbers, 100)) {
|
|
|
|
|
+ self::lotteryDraw($item->issue_no, $item->winning_numbers, $combo, '', $index);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- if (Cache::add($key, $item->winning_numbers, 100)) {
|
|
|
|
|
- self::lotteryDraw($item->issue_no, $item->winning_numbers, $combo, '', $index);
|
|
|
|
|
|
|
+ $pc28Switch = Config::where('field', 'pc28_switch')->first()->val;
|
|
|
|
|
+ //更新游戏开关的切换
|
|
|
|
|
+ if ($pc28Switch == 1) Config::setPc28Switch();
|
|
|
|
|
+
|
|
|
|
|
+ $awards = IssueService::award(explode(',', $item->winning_numbers));
|
|
|
|
|
+ //预测结果
|
|
|
|
|
+ PcPrediction::result($item->issue_no, $item->winning_numbers, $awards);
|
|
|
|
|
+ //自开奖以来的结果统计
|
|
|
|
|
+ PcCao::updateData($awards);
|
|
|
|
|
+ //每天开奖结果统计
|
|
|
|
|
+ PcCaoHistory::updateData($awards);
|
|
|
|
|
+ DB::commit();
|
|
|
|
|
+ } catch (\Exception $e) {
|
|
|
|
|
+ Db::rollBack();
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- $pc28Switch = Config::where('field', 'pc28_switch')->first()->val;
|
|
|
|
|
- //更新游戏开关的切换
|
|
|
|
|
- if ($pc28Switch == 1) Config::setPc28Switch();
|
|
|
|
|
-
|
|
|
|
|
- $awards = IssueService::award(explode(',', $item->winning_numbers));
|
|
|
|
|
- //预测结果
|
|
|
|
|
- PcPrediction::result($item->issue_no, $item->winning_numbers, $awards);
|
|
|
|
|
- //自开奖以来的结果统计
|
|
|
|
|
- PcCao::updateData($awards);
|
|
|
|
|
- //每天开奖结果统计
|
|
|
|
|
- PcCaoHistory::updateData($awards);
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|