feat: 优化 BeatLeader 和 ScoreSaber 数据查询逻辑,新增数据变更检测方法

This commit is contained in:
lixiangwuxian
2025-03-08 19:01:47 +08:00
parent fcc99efe7e
commit b0892412ce
5 changed files with 96 additions and 53 deletions

View File

@@ -176,6 +176,7 @@ type RecordDataLite struct {
SongSubName string `json:"songSubName" db:"song_sub_name"`
SongAuthorName string `json:"songAuthorName" db:"song_author_name"`
SongHash string `json:"songHash" db:"song_hash"`
SongId string `json:"songId" db:"song_id"`
CoverImage string `json:"coverImage" db:"cover_image"`
DifficultyRaw string `json:"difficultyRaw" db:"difficulty_raw"`
Stars float64 `json:"stars" db:"stars"`
@@ -391,6 +392,15 @@ type PlayerDataLite struct {
GeneratedTime string `json:"generatedTime" db:"generated_time"`
}
func (p PlayerDataLite) IsDiffFrom(p2 PlayerDataLite) bool {
return p.TotalScore != p2.TotalScore ||
p.TotalRankedScore != p2.TotalRankedScore ||
p.AverageRankedAccuracy != p2.AverageRankedAccuracy ||
p.TotalPlayCount != p2.TotalPlayCount ||
p.RankedPlayCount != p2.RankedPlayCount ||
p.ReplaysWatched != p2.ReplaysWatched
}
func (p PlayerData) ToString() string {
formatedStr := "玩家 %s\n" +
"区域 %s\n" +