From 6d73dad88ed5e36c7fd81bde652406147f5905f2 Mon Sep 17 00:00:00 2001 From: liangzai <2440983361@qq.com> Date: Tue, 2 Dec 2025 12:24:09 +0800 Subject: [PATCH] fix document version --- .../product/entities/product_documentation.go | 37 +++++++++++++++++-- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/internal/domains/product/entities/product_documentation.go b/internal/domains/product/entities/product_documentation.go index fe4da35..f30cd70 100644 --- a/internal/domains/product/entities/product_documentation.go +++ b/internal/domains/product/entities/product_documentation.go @@ -58,13 +58,42 @@ func (pd *ProductDocumentation) UpdateContent(requestURL, requestMethod, basicIn // IncrementVersion 增加版本号 func (pd *ProductDocumentation) IncrementVersion() { - // 简单的版本号递增逻辑,实际项目中可能需要更复杂的版本管理 if pd.Version == "" { pd.Version = "1.0" - } else { - // 这里可以实现更复杂的版本号递增逻辑 - pd.Version = pd.Version + ".1" + return } + + // 解析版本号 major.minor + parts := strings.Split(pd.Version, ".") + if len(parts) < 2 { + // 如果格式不正确,重置为 1.0 + pd.Version = "1.0" + return + } + + // 解析 major 和 minor + var major, minor int + _, err := fmt.Sscanf(parts[0], "%d", &major) + if err != nil { + pd.Version = "1.0" + return + } + _, err = fmt.Sscanf(parts[1], "%d", &minor) + if err != nil { + pd.Version = "1.0" + return + } + + // 递增 minor + minor++ + // 如果 minor 达到 10,则 major +1,minor 重置为 0 + if minor >= 10 { + major++ + minor = 0 + } + + // 更新版本号 + pd.Version = fmt.Sprintf("%d.%d", major, minor) } // Validate 验证文档完整性