This commit is contained in:
xiabin 2025-01-26 15:40:08 +08:00
parent e5831ea5b7
commit 3fd6b6a881
2 changed files with 8 additions and 1 deletions

View File

@ -2,9 +2,11 @@ package game
import ( import (
"context" "context"
"errors"
"gitea.youtukeji.com.cn/xiabin/youtu_server/game_open_api/internal/logic/rankings" "gitea.youtukeji.com.cn/xiabin/youtu_server/game_open_api/internal/logic/rankings"
"gitea.youtukeji.com.cn/xiabin/youtu_server/game_open_api/internal/svc" "gitea.youtukeji.com.cn/xiabin/youtu_server/game_open_api/internal/svc"
"gitea.youtukeji.com.cn/xiabin/youtu_server/game_open_api/internal/types" "gitea.youtukeji.com.cn/xiabin/youtu_server/game_open_api/internal/types"
"gorm.io/gorm"
"strconv" "strconv"
"github.com/zeromicro/go-zero/core/logx" "github.com/zeromicro/go-zero/core/logx"
@ -70,7 +72,7 @@ func (l *RankingListLogic) RankingList(req *types.RankingListRequest) (resp *typ
if !flag { if !flag {
tmp, err := l.svcCtx.Query.GameScore.GetUserRank(at.AppId, at.UserId, req.Type) tmp, err := l.svcCtx.Query.GameScore.GetUserRank(at.AppId, at.UserId, req.Type)
if err != nil { if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
return nil, err return nil, err
} }
userRank = types.RankingData(tmp) userRank = types.RankingData(tmp)

View File

@ -6,6 +6,7 @@ import (
"gitea.youtukeji.com.cn/xiabin/youtu_server/game_open_api/internal/logic/rankings" "gitea.youtukeji.com.cn/xiabin/youtu_server/game_open_api/internal/logic/rankings"
"gitea.youtukeji.com.cn/xiabin/youtu_server/game_open_api/internal/svc" "gitea.youtukeji.com.cn/xiabin/youtu_server/game_open_api/internal/svc"
"gitea.youtukeji.com.cn/xiabin/youtu_server/game_open_api/internal/types" "gitea.youtukeji.com.cn/xiabin/youtu_server/game_open_api/internal/types"
"gitea.youtukeji.com.cn/xiabin/youtu_server/gorm-gen/dao/model"
"github.com/redis/go-redis/v9" "github.com/redis/go-redis/v9"
"gorm.io/gorm" "gorm.io/gorm"
@ -49,6 +50,10 @@ func (l *RankingSetScoreLogic) RankingSetScore(req *types.SetUserGameScoreReques
return return
} }
if oldScore == nil {
oldScore = new(model.GameScore)
}
// 判断是否需要更新(只保留最高分) // 判断是否需要更新(只保留最高分)
if req.Score <= oldScore.Score { if req.Score <= oldScore.Score {
return return