diff --git a/internal/handler/download/additional.go b/internal/handler/download/additional.go index e4ebfe7..7b254b1 100644 --- a/internal/handler/download/additional.go +++ b/internal/handler/download/additional.go @@ -13,9 +13,10 @@ import ( ) type PkgInfo struct { - Id int `xorm:"pkg_id"` - Order int `xorm:"pkg_order"` - Size int `xorm:"pkg_size"` + PkgType int `xorm:"pkg_type"` + PkgID int `xorm:"pkg_id"` + Order int `xorm:"pkg_order"` + Size int `xorm:"pkg_size"` } func additional(ctx *gin.Context) { @@ -32,7 +33,6 @@ func additional(ctx *gin.Context) { pkgType, pkgId := downloadReq.PackageType, downloadReq.PackageID var pkgInfo []PkgInfo err = ss.MainEng.Table("download_m").Where("pkg_type = ? AND pkg_id = ? AND pkg_os = ?", pkgType, pkgId, downloadReq.TargetOs). - Cols("pkg_id,pkg_order,pkg_size"). OrderBy("pkg_id ASC, pkg_order ASC").Find(&pkgInfo) if ss.CheckErr(err) { return @@ -42,7 +42,7 @@ func additional(ctx *gin.Context) { pkgList = append(pkgList, downloadschema.AdditionalData{ Size: pkg.Size, URL: fmt.Sprintf("%s/%s/archives/%d_%d_%d.zip", - config.Conf.Settings.CdnServer, downloadReq.TargetOs, pkgType, pkg.Id, pkg.Order), + config.Conf.Settings.CdnServer, downloadReq.TargetOs, pkg.PkgType, pkg.PkgID, pkg.Order), }) } diff --git a/internal/handler/download/batch.go b/internal/handler/download/batch.go index a3d1da8..4153adf 100644 --- a/internal/handler/download/batch.go +++ b/internal/handler/download/batch.go @@ -25,10 +25,13 @@ func batch(ctx *gin.Context) { pkgList := []downloadschema.BatchData{} if downloadReq.ClientVersion == config.PackageVersion { - pkgType := downloadReq.PackageType + // 直接使用 downloadReq.PackageType 会导致下载数据量计算错误 + pkgType := 4 + var pkgInfo []PkgInfo - err := ss.MainEng.Table("download_m").Where(builder.NotIn("pkg_id", downloadReq.ExcludedPackageIds)).Where("pkg_type = ? AND pkg_os = ?", pkgType, downloadReq.Os). - Cols("pkg_id,pkg_order,pkg_size"). + err := ss.MainEng.Table("download_m"). + Where(builder.NotIn("pkg_id", downloadReq.ExcludedPackageIds)). + Where("pkg_type = ? AND pkg_os = ?", pkgType, downloadReq.Os). OrderBy("pkg_id ASC, pkg_order ASC").Find(&pkgInfo) if ss.CheckErr(err) { return @@ -38,7 +41,7 @@ func batch(ctx *gin.Context) { pkgList = append(pkgList, downloadschema.BatchData{ Size: pkg.Size, URL: fmt.Sprintf("%s/%s/archives/%d_%d_%d.zip", - config.Conf.Settings.CdnServer, downloadReq.Os, pkgType, pkg.Id, pkg.Order), + config.Conf.Settings.CdnServer, downloadReq.Os, pkg.PkgType, pkg.PkgID, pkg.Order), }) } } diff --git a/internal/handler/download/update.go b/internal/handler/download/update.go index eae2ef0..78bb175 100644 --- a/internal/handler/download/update.go +++ b/internal/handler/download/update.go @@ -33,7 +33,6 @@ func update(ctx *gin.Context) { pkgType := 99 var pkgInfo []PkgInfo err := ss.MainEng.Table("download_m").Where("pkg_type = ? AND pkg_os = ?", pkgType, downloadReq.TargetOs). - Cols("pkg_id,pkg_order,pkg_size"). OrderBy("pkg_id ASC, pkg_order ASC").Find(&pkgInfo) if ss.CheckErr(err) { return @@ -41,7 +40,7 @@ func update(ctx *gin.Context) { pkgMap := map[string]int{} for _, pkg := range pkgInfo { - fileName := fmt.Sprintf("%d_%d_%d.zip", pkgType, pkg.Id, pkg.Order) + fileName := fmt.Sprintf("%d_%d_%d.zip", pkg.PkgType, pkg.PkgID, pkg.Order) url := fmt.Sprintf("%s/%s/archives/%s", config.Conf.Settings.CdnServer, downloadReq.TargetOs, fileName)