diff --git a/internal/domains/product/entities/product_documentation.go b/internal/domains/product/entities/product_documentation.go index 970cbce..ecf7ef4 100644 --- a/internal/domains/product/entities/product_documentation.go +++ b/internal/domains/product/entities/product_documentation.go @@ -59,13 +59,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 验证文档完整性