Bladeren bron

fix: 索引名称长度

CaIon 2 jaren geleden
bovenliggende
commit
2a995a5da2
1 gewijzigde bestanden met toevoegingen van 11 en 3 verwijderingen
  1. 11 3
      model/usedata.go

+ 11 - 3
model/usedata.go

@@ -3,6 +3,7 @@ package model
 import (
 	"fmt"
 	"one-api/common"
+	"sync"
 	"time"
 )
 
@@ -10,9 +11,9 @@ import (
 type QuotaData struct {
 	Id        int    `json:"id"`
 	UserID    int    `json:"user_id" gorm:"index"`
-	Username  string `json:"username" gorm:"index:index_quota_data_model_user_name,priority:2;default:''"`
-	ModelName string `json:"model_name" gorm:"index;index:index_quota_data_model_user_name,priority:1;default:''"`
-	CreatedAt int64  `json:"created_at" gorm:"bigint;index:index_quota_data_created_at,priority:2"`
+	Username  string `json:"username" gorm:"index:idx_qdt_model_user_name,priority:2;default:''"`
+	ModelName string `json:"model_name" gorm:"index;index:idx_qdt_model_user_name,priority:1;default:''"`
+	CreatedAt int64  `json:"created_at" gorm:"bigint;index:idx_qdt_created_at,priority:2"`
 	Count     int    `json:"count" gorm:"default:0"`
 	Quota     int    `json:"quota" gorm:"default:0"`
 }
@@ -34,6 +35,7 @@ func UpdateQuotaData() {
 }
 
 var CacheQuotaData = make(map[string]*QuotaData)
+var CacheQuotaDataLock = sync.Mutex{}
 
 func LogQuotaDataCache(userId int, username string, modelName string, quota int, createdAt int64) {
 	// 只精确到小时
@@ -57,10 +59,15 @@ func LogQuotaDataCache(userId int, username string, modelName string, quota int,
 }
 
 func LogQuotaData(userId int, username string, modelName string, quota int, createdAt int64) {
+	CacheQuotaDataLock.Lock()
+	defer CacheQuotaDataLock.Unlock()
 	LogQuotaDataCache(userId, username, modelName, quota, createdAt)
 }
 
 func SaveQuotaDataCache() {
+	CacheQuotaDataLock.Lock()
+	defer CacheQuotaDataLock.Unlock()
+	size := len(CacheQuotaData)
 	// 如果缓存中有数据,就保存到数据库中
 	// 1. 先查询数据库中是否有数据
 	// 2. 如果有数据,就更新数据
@@ -78,6 +85,7 @@ func SaveQuotaDataCache() {
 		}
 	}
 	CacheQuotaData = make(map[string]*QuotaData)
+	common.SysLog(fmt.Sprintf("保存数据看板数据成功,共保存%d条数据", size))
 }
 
 func GetQuotaDataByUsername(username string, startTime int64, endTime int64) (quotaData []*QuotaData, err error) {