Ken 1 주 전
부모
커밋
e6cca0115d

+ 9 - 0
app/Http/Controllers/api/Issue.php

@@ -9,11 +9,20 @@ class Issue extends BaseController
 
     public function index()
     {
+        $page = request()->input('page', 1);
+        $limit = request()->input('limit', 10);
         $params = [
+            'page' => $page,
+            'limit' => $limit
 //            'status'=>3
         ];
         $res = IssueService::paginate($params);
         return $this->success($res);
     }
 
+    public function cao()
+    {
+
+    }
+
 }

+ 36 - 0
app/Models/Cao.php

@@ -0,0 +1,36 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Builder;
+use Illuminate\Foundation\Auth\User as Authenticatable;
+use Illuminate\Notifications\Notifiable;
+use Laravel\Sanctum\HasApiTokens;
+
+/**
+ * Admin
+ * @mixin Builder
+ * @method static Builder|static where($column, $operator = null, $value = null, $boolean = 'and')
+ */
+class Cao extends Authenticatable
+{
+    use HasApiTokens, Notifiable;
+    protected $table = 'cao';
+    protected $hidden = ['created_at', 'updated_at'];
+    protected $fillable = ['field', 'val'];
+
+
+    static function updateData(array $awards)
+    {
+        foreach ($awards as $field) {
+            $cao = static::where('field', $field)->first();
+            if (!$cao) {
+                $cao = new Cao();
+                $cao->field = $field;
+                $cao->save();
+            }
+            $cao->increment('val');
+        }
+    }
+
+}

+ 3 - 4
app/Models/Issue.php

@@ -22,12 +22,11 @@ class Issue extends Authenticatable
     protected $appends = [
         'award',
         'winning_array',
-        'end_timestamp'
-
-
+        'end_timestamp',
     ];
 
-    function getEndTimestampAttribute(){
+    function getEndTimestampAttribute()
+    {
         return strtotime($this->end_time);
     }
 

+ 2 - 0
app/Services/IssueService.php

@@ -3,6 +3,7 @@
 
 namespace App\Services;
 
+use App\Models\Cao;
 use App\Models\Prediction;
 use App\Services\BaseService;
 use App\Models\Issue;
@@ -261,6 +262,7 @@ class IssueService extends BaseService
             $oddOrEven = in_array("双", $awards);
             $oddOrEven = $oddOrEven ? "双" : "单";
             Prediction::result($info->issue_no, $size, $oddOrEven, $info->winning_numbers);
+            Cao::updateData($awards);
 
 
             $replyInfo = KeyboardService::findOne(['button' => '本期开奖']);

+ 33 - 0
database/migrations/2025_11_07_162109_create_cao.php

@@ -0,0 +1,33 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('cao', function (Blueprint $table) {
+            $table->id();
+            $table->string('field')->unique()->comment("字段");
+            $table->integer('val')->default(0)->comment("值");
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('cao');
+    }
+};

+ 398 - 0
database/migrations/2025_11_07_162239_insert_cao.php

@@ -0,0 +1,398 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Support\Facades\DB;
+
+return new class extends Migration {
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        DB::table('cao')->insert([
+            [
+                'field' => '大',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ],
+            [
+                'field' => '小',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ],
+            [
+                'field' => '单',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ],
+            [
+                'field' => '双',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ],
+            [
+                'field' => '大单',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '大双',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '小单',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '小双',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '极大',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '极小',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '豹子',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '对子',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '顺子',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '0操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '1操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '2操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '3操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '4操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '5操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '6操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '7操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '8操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '9操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '10操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '11操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '12操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '13操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '14操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '15操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '16操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '17操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '18操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '19操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '20操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '21操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '22操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '23操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '24操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '25操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '26操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '27操',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '尾大',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '尾小',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '尾单',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '尾双',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '尾大单',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '尾大双',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '尾小单',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '尾小双',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => 'A大',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => 'A小',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => 'A单',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => 'A双',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '0A',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '1A',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '2A',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '3A',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '4A',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '5A',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '6A',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '7A',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '8A',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '9A',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => 'B大',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => 'B小',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => 'B单',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => 'B双',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '0B',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '1B',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '2B',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '3B',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '4B',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '5B',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '6B',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '7B',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '8B',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '9B',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => 'C大',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => 'C小',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => 'C单',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => 'C双',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '0C',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '1C',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '2C',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '3C',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '4C',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '5C',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '6C',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '7C',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '8C',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ], [
+                'field' => '9C',
+                'created_at' => now(),
+                'updated_at' => now(),
+            ],
+        ]);
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        //
+    }
+};

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
sql/sql_prod.sql


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.