fix: 版本检测统一查询所有版本(含已失效)用于匹配和计算最新版本
This commit is contained in:
@@ -62,9 +62,9 @@ func handleAppCheckUpdate(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询该应用的所有已发布版本,按ID降序(创建顺序)
|
// 查询该应用的所有版本(包括已失效的),按ID降序(创建顺序)
|
||||||
var allVersions []model.Version
|
var allVersions []model.Version
|
||||||
if err := database.DB.Where("application_id = ? AND publish_status = ?", app.ID, "published").
|
if err := database.DB.Where("application_id = ?", app.ID).
|
||||||
Order("id DESC").
|
Order("id DESC").
|
||||||
Preload("Files").
|
Preload("Files").
|
||||||
Find(&allVersions).Error; err != nil {
|
Find(&allVersions).Error; err != nil {
|
||||||
@@ -72,17 +72,6 @@ func handleAppCheckUpdate(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 同时查询所有版本(包括已失效的),用于匹配客户端版本号
|
|
||||||
var allVersionsIncludingExpired []model.Version
|
|
||||||
if clientVersion != "" {
|
|
||||||
if err := database.DB.Where("application_id = ?", app.ID).
|
|
||||||
Order("id DESC").
|
|
||||||
Find(&allVersionsIncludingExpired).Error; err != nil {
|
|
||||||
response.Error(c, 500, "获取版本列表失败")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 没有任何版本
|
// 没有任何版本
|
||||||
if len(allVersions) == 0 {
|
if len(allVersions) == 0 {
|
||||||
response.Success(c, gin.H{
|
response.Success(c, gin.H{
|
||||||
@@ -161,11 +150,11 @@ func handleAppCheckUpdate(c *gin.Context) {
|
|||||||
|
|
||||||
clientVersionClean := cleanVersion(clientVersion)
|
clientVersionClean := cleanVersion(clientVersion)
|
||||||
|
|
||||||
// 找到客户端当前版本对应的版本记录(包含已失效版本)
|
// 找到客户端当前版本对应的版本记录
|
||||||
var clientVersionRecord *model.Version
|
var clientVersionRecord *model.Version
|
||||||
for i := range allVersionsIncludingExpired {
|
for i := range allVersions {
|
||||||
if cleanVersion(allVersionsIncludingExpired[i].Version) == clientVersionClean {
|
if cleanVersion(allVersions[i].Version) == clientVersionClean {
|
||||||
clientVersionRecord = &allVersionsIncludingExpired[i]
|
clientVersionRecord = &allVersions[i]
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user