Fix(Tool): Fix bug in tool update version number verification

Fix bug in tool update version number verification
This commit is contained in:
2024-04-22 00:14:34 +08:00
parent b6db0793cd
commit fcfd76d60c

View File

@@ -111,16 +111,16 @@ class EditServiceImpl(
} }
val originalVersion = originalTool.ver!! val originalVersion = originalTool.ver!!
if (originalVersion.split(".").map(String::toLong).joinToString(".") == toolUpgradeParam.ver!!.split(".") val originalVersionNumberList = originalVersion.split(".").map(String::toLong)
.map(String::toLong).joinToString(".") val newVersionNumberList = toolUpgradeParam.ver!!.split(".").map(String::toLong)
) { if (!newVersionNumberList.foldIndexed(false) { index: Int, acc: Boolean, version: Long ->
if (!acc && originalVersionNumberList[index] > version) {
throw IllegalVersionException() throw IllegalVersionException()
} }
originalVersion.split(".").forEachIndexed { index, s -> if (originalVersionNumberList[index] < version) true else acc
if ((toolUpgradeParam.ver.split(".")[index].toLong() < s.toLong())) { }) {
throw IllegalVersionException() throw IllegalVersionException()
} }
}
val newSource = ToolData().apply { data = originalTool.source!!.data } val newSource = ToolData().apply { data = originalTool.source!!.data }
val newDist = ToolData().apply { data = "" } val newDist = ToolData().apply { data = "" }
@@ -134,7 +134,7 @@ class EditServiceImpl(
description = originalTool.description description = originalTool.description
baseId = originalTool.base!!.id baseId = originalTool.base!!.id
authorId = WebUtil.getLoginUserId()!! authorId = WebUtil.getLoginUserId()!!
ver = toolUpgradeParam.ver.split(".").map(String::toLong).joinToString(".") ver = newVersionNumberList.joinToString(".")
keywords = originalTool.keywords keywords = originalTool.keywords
sourceId = newSource.id sourceId = newSource.id
distId = newDist.id distId = newDist.id