From 4e642cc7c18ef8a0a688c9b56e23e32c1b40bc56 Mon Sep 17 00:00:00 2001 From: Sean Du Date: Sat, 6 Jun 2026 18:27:30 +0800 Subject: [PATCH] fixup! Correct package size calculation in batch download Signed-off-by: Sean Du --- internal/handler/download/batch.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/internal/handler/download/batch.go b/internal/handler/download/batch.go index be2d75f..9c24cfa 100644 --- a/internal/handler/download/batch.go +++ b/internal/handler/download/batch.go @@ -25,8 +25,16 @@ func batch(ctx *gin.Context) { pkgList := []downloadschema.BatchData{} if downloadReq.ClientVersion == config.PackageVersion { - // 直接使用 downloadReq.PackageType 会导致下载数据量计算错误 - pkgType := 4 + pkgType := downloadReq.PackageType + + // 首次下载时客户端发送的 downloadReq.PackageType = 0 但是实际下载的是 [0,4] + // 此时直接使用 downloadReq.PackageType 会导致下载数据量计算错误 + // 游戏会自动将 [0,4] 的包大小合并计算 + // downloadReq.PackageType = 0 的包已经在 /download/additional 中获取 + // 所以这里只需要返回 downloadReq.PackageType = 4 的包即可 + if downloadReq.PackageType == 0 { + pkgType = 4 + } var pkgInfo []PkgInfo err := ss.MainEng.Table("download_m").