fix: 版本匹配只从published和superseded状态中查找,排除draft和deprecated
This commit is contained in:
@@ -72,12 +72,12 @@ func handleAppCheckUpdate(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 同时查询所有版本(包括已失效的),用于匹配客户端版本号
|
// 同时查询已发布和已失效的版本,用于匹配客户端版本号
|
||||||
var allVersions []model.Version
|
var matchableVersions []model.Version
|
||||||
if clientVersion != "" {
|
if clientVersion != "" {
|
||||||
if err := database.DB.Where("application_id = ?", app.ID).
|
if err := database.DB.Where("application_id = ? AND publish_status IN ?", app.ID, []string{"published", "superseded"}).
|
||||||
Order("id DESC").
|
Order("id DESC").
|
||||||
Find(&allVersions).Error; err != nil {
|
Find(&matchableVersions).Error; err != nil {
|
||||||
response.Error(c, 500, "获取版本列表失败")
|
response.Error(c, 500, "获取版本列表失败")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -161,11 +161,11 @@ func handleAppCheckUpdate(c *gin.Context) {
|
|||||||
|
|
||||||
clientVersionClean := cleanVersion(clientVersion)
|
clientVersionClean := cleanVersion(clientVersion)
|
||||||
|
|
||||||
// 找到客户端当前版本对应的版本记录
|
// 找到客户端当前版本对应的版本记录(从已发布和已失效版本中匹配)
|
||||||
var clientVersionRecord *model.Version
|
var clientVersionRecord *model.Version
|
||||||
for i := range allVersions {
|
for i := range matchableVersions {
|
||||||
if cleanVersion(allVersions[i].Version) == clientVersionClean {
|
if cleanVersion(matchableVersions[i].Version) == clientVersionClean {
|
||||||
clientVersionRecord = &allVersions[i]
|
clientVersionRecord = &matchableVersions[i]
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user