Browse Source

update: optimization stat user

tokumeikoi 3 years ago
parent
commit
af2f6a31da
4 changed files with 15 additions and 8 deletions
  1. 1 3
      app/Jobs/StatUserJob.php
  2. 4 5
      database/install.sql
  3. 10 0
      database/update.sql
  4. 0 0
      public/assets/admin/umi.js

+ 1 - 3
app/Jobs/StatUserJob.php

@@ -52,7 +52,7 @@ class StatUserJob implements ShouldQueue
         }
 
         $data = StatUser::where('record_at', $recordAt)
-            ->where('server_id', $this->server->id)
+            ->where('server_rate', $this->server->rate)
             ->where('user_id', $this->userId)
             ->first();
         if ($data) {
@@ -67,8 +67,6 @@ class StatUserJob implements ShouldQueue
         } else {
             if (!StatUser::create([
                 'user_id' => $this->userId,
-                'server_id' => $this->server->id,
-                'server_type' => $this->protocol,
                 'server_rate' => $this->server->rate,
                 'u' => $this->u,
                 'd' => $this->d,

+ 4 - 5
database/install.sql

@@ -297,8 +297,6 @@ DROP TABLE IF EXISTS `v2_stat_user`;
 CREATE TABLE `v2_stat_user` (
                                 `id` int(11) NOT NULL AUTO_INCREMENT,
                                 `user_id` int(11) NOT NULL,
-                                `server_id` int(11) NOT NULL,
-                                `server_type` char(11) NOT NULL,
                                 `server_rate` decimal(10,2) NOT NULL,
                                 `u` bigint(20) NOT NULL,
                                 `d` bigint(20) NOT NULL,
@@ -307,9 +305,10 @@ CREATE TABLE `v2_stat_user` (
                                 `created_at` int(11) NOT NULL,
                                 `updated_at` int(11) NOT NULL,
                                 PRIMARY KEY (`id`),
-                                KEY `server_id` (`server_id`),
+                                UNIQUE KEY `server_rate_user_id_record_at` (`server_rate`,`user_id`,`record_at`),
                                 KEY `user_id` (`user_id`),
-                                KEY `record_at` (`record_at`)
+                                KEY `record_at` (`record_at`),
+                                KEY `server_rate` (`server_rate`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
 
@@ -377,4 +376,4 @@ CREATE TABLE `v2_user` (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 
--- 2022-03-17 05:35:39
+-- 2022-03-29 06:56:01

+ 10 - 0
database/update.sql

@@ -524,3 +524,13 @@ ADD `handling_fee_percent` decimal(5,2) NULL AFTER `handling_fee_fixed`;
 
 ALTER TABLE `v2_order`
     ADD `handling_amount` int(11) NULL AFTER `total_amount`;
+
+ALTER TABLE `v2_stat_user`
+    ADD UNIQUE `server_rate_user_id_record_at` (`server_rate`, `user_id`, `record_at`),
+    ADD INDEX `server_rate` (`server_rate`),
+DROP INDEX `server_id_user_id_record_at`,
+DROP INDEX `server_id`;
+
+ALTER TABLE `v2_stat_user`
+DROP `server_id`,
+DROP `server_type`;

File diff suppressed because it is too large
+ 0 - 0
public/assets/admin/umi.js


Some files were not shown because too many files changed in this diff