mirror of
https://github.com/linux-do/new-api.git
synced 2025-09-17 16:06:38 +08:00
fix: 索引名称长度
This commit is contained in:
parent
bba6174745
commit
2a995a5da2
@ -3,6 +3,7 @@ package model
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"one-api/common"
|
"one-api/common"
|
||||||
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -10,9 +11,9 @@ import (
|
|||||||
type QuotaData struct {
|
type QuotaData struct {
|
||||||
Id int `json:"id"`
|
Id int `json:"id"`
|
||||||
UserID int `json:"user_id" gorm:"index"`
|
UserID int `json:"user_id" gorm:"index"`
|
||||||
Username string `json:"username" gorm:"index:index_quota_data_model_user_name,priority:2;default:''"`
|
Username string `json:"username" gorm:"index:idx_qdt_model_user_name,priority:2;default:''"`
|
||||||
ModelName string `json:"model_name" gorm:"index;index:index_quota_data_model_user_name,priority:1;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:index_quota_data_created_at,priority:2"`
|
CreatedAt int64 `json:"created_at" gorm:"bigint;index:idx_qdt_created_at,priority:2"`
|
||||||
Count int `json:"count" gorm:"default:0"`
|
Count int `json:"count" gorm:"default:0"`
|
||||||
Quota int `json:"quota" gorm:"default:0"`
|
Quota int `json:"quota" gorm:"default:0"`
|
||||||
}
|
}
|
||||||
@ -34,6 +35,7 @@ func UpdateQuotaData() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var CacheQuotaData = make(map[string]*QuotaData)
|
var CacheQuotaData = make(map[string]*QuotaData)
|
||||||
|
var CacheQuotaDataLock = sync.Mutex{}
|
||||||
|
|
||||||
func LogQuotaDataCache(userId int, username string, modelName string, quota int, createdAt int64) {
|
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) {
|
func LogQuotaData(userId int, username string, modelName string, quota int, createdAt int64) {
|
||||||
|
CacheQuotaDataLock.Lock()
|
||||||
|
defer CacheQuotaDataLock.Unlock()
|
||||||
LogQuotaDataCache(userId, username, modelName, quota, createdAt)
|
LogQuotaDataCache(userId, username, modelName, quota, createdAt)
|
||||||
}
|
}
|
||||||
|
|
||||||
func SaveQuotaDataCache() {
|
func SaveQuotaDataCache() {
|
||||||
|
CacheQuotaDataLock.Lock()
|
||||||
|
defer CacheQuotaDataLock.Unlock()
|
||||||
|
size := len(CacheQuotaData)
|
||||||
// 如果缓存中有数据,就保存到数据库中
|
// 如果缓存中有数据,就保存到数据库中
|
||||||
// 1. 先查询数据库中是否有数据
|
// 1. 先查询数据库中是否有数据
|
||||||
// 2. 如果有数据,就更新数据
|
// 2. 如果有数据,就更新数据
|
||||||
@ -78,6 +85,7 @@ func SaveQuotaDataCache() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
CacheQuotaData = make(map[string]*QuotaData)
|
CacheQuotaData = make(map[string]*QuotaData)
|
||||||
|
common.SysLog(fmt.Sprintf("保存数据看板数据成功,共保存%d条数据", size))
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetQuotaDataByUsername(username string, startTime int64, endTime int64) (quotaData []*QuotaData, err error) {
|
func GetQuotaDataByUsername(username string, startTime int64, endTime int64) (quotaData []*QuotaData, err error) {
|
||||||
|
Loading…
Reference in New Issue
Block a user