diff --git a/README.md b/README.md index 0539a75..622e886 100644 --- a/README.md +++ b/README.md @@ -9,4 +9,8 @@ goctl rpc protoc .\dw_server\dw_server.proto --go-grpc_out .\dw_server\ --go_out goctl model mysql datasource -c -dir .\game_open_api\model\ --url 'root:youtu!0113@tcp(127.0.0.1:3306)/ecpm' -t game_score -style go_zero docker exec -i mysql mysqldump -uroot -p'youtu!0113' ecpm > ecpm_backup.sql + +docker build -t youtu_server -f game_open_api/Dockerfile . + +docker save youtu_server -o ./images.tar ``` \ No newline at end of file diff --git a/game_open_api/Dockerfile b/game_open_api/Dockerfile index 41f18ad..24353b3 100644 --- a/game_open_api/Dockerfile +++ b/game_open_api/Dockerfile @@ -18,7 +18,7 @@ COPY . . RUN go build -ldflags="-s -w" -o /app/game_open_api ./game_open_api/game_open_api.go -FROM scratch +FROM alpine COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /usr/share/zoneinfo/Asia/Shanghai diff --git a/gorm-gen/dao/query/game_score.gen.go b/gorm-gen/dao/query/game_score.gen.go index 7b37933..bb9aa63 100644 --- a/gorm-gen/dao/query/game_score.gen.go +++ b/gorm-gen/dao/query/game_score.gen.go @@ -191,19 +191,24 @@ type IGameScoreDo interface { // FROM // game_score // WHERE -// game_score.t = ? -// AND game_score.app_account = ? +// game_score.t = @t +// AND game_score.app_account = @appId // ) AS gs // LEFT JOIN app_user ON app_user.id = gs.app_user_id // WHERE -// gs.app_user_id = ? +// gs.app_user_id = @userId // LIMIT 1; func (g gameScoreDo) GetUserRank(appId uint32, userId uint64, t uint32) (result querier.RankingData, err error) { + var params []interface{} + var generateSQL strings.Builder + params = append(params, t) + params = append(params, appId) + params = append(params, userId) generateSQL.WriteString("SELECT app_user.nickname, app_user.avatar, gs.score, gs.app_user_id, gs.t_rank FROM ( SELECT game_score.score, game_score.app_user_id, game_score.app_account, rank() OVER (ORDER BY game_score.score DESC) t_rank FROM game_score WHERE game_score.t = ? AND game_score.app_account = ? ) AS gs LEFT JOIN app_user ON app_user.id = gs.app_user_id WHERE gs.app_user_id = ? LIMIT 1; ") var executeSQL *gorm.DB - executeSQL = g.UnderlyingDB().Raw(generateSQL.String()).Take(&result) // ignore_security_alert + executeSQL = g.UnderlyingDB().Raw(generateSQL.String(), params...).Take(&result) // ignore_security_alert err = executeSQL.Error return diff --git a/gorm-gen/querier/querier.go b/gorm-gen/querier/querier.go index 1d9fbd3..256e8b4 100644 --- a/gorm-gen/querier/querier.go +++ b/gorm-gen/querier/querier.go @@ -30,12 +30,12 @@ type GameScoreQuerier interface { FROM game_score WHERE - game_score.t = ? - AND game_score.app_account = ? + game_score.t = @t + AND game_score.app_account = @appId ) AS gs LEFT JOIN app_user ON app_user.id = gs.app_user_id WHERE - gs.app_user_id = ? + gs.app_user_id = @userId LIMIT 1; */ GetUserRank(appId uint32, userId uint64, t uint32) (resp RankingData, err error)