From fcfd76d60cb4f9e6629465bfca07d529a5c8896d Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Mon, 22 Apr 2024 00:14:34 +0800 Subject: [PATCH] Fix(Tool): Fix bug in tool update version number verification Fix bug in tool update version number verification --- .../api/service/tool/impl/EditServiceImpl.kt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/kotlin/top/fatweb/oxygen/api/service/tool/impl/EditServiceImpl.kt b/src/main/kotlin/top/fatweb/oxygen/api/service/tool/impl/EditServiceImpl.kt index 344a198..44165cb 100644 --- a/src/main/kotlin/top/fatweb/oxygen/api/service/tool/impl/EditServiceImpl.kt +++ b/src/main/kotlin/top/fatweb/oxygen/api/service/tool/impl/EditServiceImpl.kt @@ -111,16 +111,16 @@ class EditServiceImpl( } val originalVersion = originalTool.ver!! - if (originalVersion.split(".").map(String::toLong).joinToString(".") == toolUpgradeParam.ver!!.split(".") - .map(String::toLong).joinToString(".") - ) { + val originalVersionNumberList = originalVersion.split(".").map(String::toLong) + 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() + } + if (originalVersionNumberList[index] < version) true else acc + }) { throw IllegalVersionException() } - originalVersion.split(".").forEachIndexed { index, s -> - if ((toolUpgradeParam.ver.split(".")[index].toLong() < s.toLong())) { - throw IllegalVersionException() - } - } val newSource = ToolData().apply { data = originalTool.source!!.data } val newDist = ToolData().apply { data = "" } @@ -134,7 +134,7 @@ class EditServiceImpl( description = originalTool.description baseId = originalTool.base!!.id authorId = WebUtil.getLoginUserId()!! - ver = toolUpgradeParam.ver.split(".").map(String::toLong).joinToString(".") + ver = newVersionNumberList.joinToString(".") keywords = originalTool.keywords sourceId = newSource.id distId = newDist.id