Ken 1 dag geleden
bovenliggende
commit
a0c881ce31
3 gewijzigde bestanden met toevoegingen van 62 en 15 verwijderingen
  1. 2 0
      app/Jobs/FiveSecondTaskJob.php
  2. 12 12
      app/Services/IssueService.php
  3. 48 3
      app/Services/PcIssueService.php

+ 2 - 0
app/Jobs/FiveSecondTaskJob.php

@@ -46,7 +46,9 @@ class FiveSecondTaskJob implements ShouldQueue
     {
         try {
             Log::error('🚀 开始执行15秒任务: ' . now());
+            //自定义开奖
             PcIssueService::index();
+
             IssueService::syncCountdownIssue(); // 提前20秒提醒
 
             IssueService::syncCloseIssue(); // 同步停止

+ 12 - 12
app/Services/IssueService.php

@@ -63,9 +63,9 @@ class IssueService extends BaseService
         if (isset($search['status']) && !empty($search['status'])) {
             $where[] = ['status', '=', $search['status']];
         }
-        if(isset($search['abnormal']) && !empty($search['abnormal'])){
-            $where[] = ['end_time' ,'<' ,date('Y-m-d H:i:s',time() - 1800)];
-            $where[] = ['status' ,'!=' ,self::model()::STATUS_DRAW];
+        if (isset($search['abnormal']) && !empty($search['abnormal'])) {
+            $where[] = ['end_time', '<', date('Y-m-d H:i:s', time() - 1800)];
+            $where[] = ['status', '!=', self::model()::STATUS_DRAW];
         }
         return $where;
     }
@@ -236,7 +236,6 @@ class IssueService extends BaseService
             self::asyncBettingGroupNotice($text, $buttons, $image);
         }
 
-        
 
         return ['code' => self::YES, 'msg' => '封盘成功'];
     }
@@ -245,7 +244,7 @@ class IssueService extends BaseService
      * @description: 开奖失败
      * @param {*} $id
      * @return {*}
-     */    
+     */
     public static function lotteryDrawFail($id)
     {
 
@@ -272,7 +271,6 @@ class IssueService extends BaseService
             DB::rollBack();
             return ['code' => self::NOT, 'msg' => '投注退回失败'];
         }
-        
 
 
         if ($result) {
@@ -750,11 +748,11 @@ class IssueService extends BaseService
                 //     'text' => lang("暂无开奖记录"),
                 // ]);
                 // }
-                return 
-                [
-                    'chat_id' => $memberId,
-                    'text' => lang("暂无开奖记录"),
-                ];
+                return
+                    [
+                        'chat_id' => $memberId,
+                        'text' => lang("暂无开奖记录"),
+                    ];
 
             }
 
@@ -872,7 +870,9 @@ class IssueService extends BaseService
 
                 $id = $res['key'] ?? 0;
                 if ($id) {
-                    self::betting($id); // 开始下注
+                    $pc28Switch = Config::where('field', 'pc28_switch')->first()->val;
+                    if ($pc28Switch == 0) self::betting($id); // 开始下注
+
                 }
                 Cache::set('new_issue_no', $new_issue_no, 10); // 缓存
             }

+ 48 - 3
app/Services/PcIssueService.php

@@ -158,17 +158,18 @@ class PcIssueService extends BaseService
             BetService::betSettled($info->issue_no, $awards);
             DB::commit();
             return ['code' => self::YES, 'msg' => '开奖成功'];
-        }catch (\Exception $e) {
+        } catch (\Exception $e) {
             DB::rollBack();
             Log::error('开奖失败: ' . $e->getMessage() . $winning_numbers);
             return ['code' => self::NOT, 'msg' => '开奖失败'];
         }
     }
 
+
     // 生成开奖图片
     private static function lotteryImage($issue_no)
     {
-        $list = PcIssue::where('issue_no', '<=', $issue_no)->where('status' , PcIssue::STATUS_DRAW)->orderBy('issue_no', 'desc')->take(20)->get();
+        $list = PcIssue::where('issue_no', '<=', $issue_no)->where('status', PcIssue::STATUS_DRAW)->orderBy('issue_no', 'desc')->take(20)->get();
         $records = $list->toArray();
 
         foreach ($records as $k => $v) {
@@ -208,6 +209,7 @@ class PcIssueService extends BaseService
 
     }
 
+    //创建新的一期
     private static function createIssueNo()
     {
         $issue = PcIssue::orderByDesc('id')->first();
@@ -225,6 +227,8 @@ class PcIssueService extends BaseService
                 'start_time' => $issue->end_time,
                 'end_time' => date('Y-m-d H:i:s', $end_time),
             ]);
+            $pc28Switch = Config::where('field', 'pc28_switch')->first()->val;
+            if ($pc28Switch == 1) static::betTing($new_str);
             //预测
             PcPrediction::prediction($new_str);
             if (strtotime($issue->end_time) <= $now) {
@@ -235,6 +239,48 @@ class PcIssueService extends BaseService
 
     }
 
+    //群通知,发送玩法规则和开始下注的通知
+    private static function betTing($issue_no): array
+    {
+        $info = PcIssue::where('issue_no', $issue_no)->first();
+        if (!$info) {
+            return ['code' => self::NOT, 'msg' => '期号不存在'];
+        }
+
+        if (!in_array($info->status, [PcIssue::STATUS_DRAFT, PcIssue::STATUS_BETTING])) {
+            return ['code' => self::NOT, 'msg' => '期号状态不正确'];
+        }
+
+        $info->status = PcIssue::STATUS_BETTING;
+        $info->save();
+        $replyInfo = KeyboardService::findOne(['button' => '玩法规则']);
+        if ($replyInfo) {
+            $text = $replyInfo->reply;
+            $buttons = json_decode($replyInfo->buttons, true);
+            $image = $replyInfo->image;
+            if ($image) {
+                $image = url($image);
+            }
+            if (empty($buttons)) {
+                $buttons = self::getOperateButton();
+            }
+            self::asyncBettingGroupNotice($text, $buttons, $image);
+        }
+
+        $replyInfo = KeyboardService::findOne(['button' => '开始下注']);
+        if ($replyInfo) {
+            $text = $replyInfo->reply;
+            $buttons = json_decode($replyInfo->buttons, true);
+            $image = $replyInfo->image;
+            if ($image) {
+                $image = url($image);
+            }
+            self::asyncBettingGroupNotice($text, $buttons, $image);
+        }
+
+        return ['code' => self::YES, 'msg' => '开始下注'];
+    }
+
     //获取随机的20个数字
     private static function getKeno(): array
     {
@@ -258,7 +304,6 @@ class PcIssueService extends BaseService
         return $winningNumbers;
     }
 
-
     //根据指定0-27的数字 得到20个数字
     public static function getMatchingNumbers($target): array|null
     {