Browse Source

加上了版本设置

李英俊ya 1 month ago
parent
commit
326d90ff84

+ 13 - 12
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRepoController.java

@@ -9,6 +9,7 @@ import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.file.FileUploadUtils;
 import com.ruoyi.system.domain.SysRepoHistory;
+import com.ruoyi.common.utils.VersionUtils;
 import com.ruoyi.common.utils.OfficeCompareUtils;
 import com.ruoyi.system.service.ISysRepoHistoryService;
 import com.ruoyi.common.utils.file.FileUtils;
@@ -78,6 +79,7 @@ public class SysRepoController extends BaseController
         sysRepo.setUpdateBy(getUsername());
         String filename = StringUtils.substringAfterLast(sysRepo.getUrl(), "/");
         sysRepo.setFileName(filename);
+        sysRepo.setVersion(VersionUtils.incrementVersion(sysRepo.getVersion()));
         return toAjax(sysRepoService.insertSysRepo(sysRepo));
     }
 
@@ -96,7 +98,7 @@ public class SysRepoController extends BaseController
             sysRepo.setUpdateBy(getUsername());
             String filename = StringUtils.substringAfterLast(sysRepo.getUrl(), "/");
             sysRepo.setFileName(filename);
-            sysRepo.setVersion("v1.1.1");
+            sysRepo.setVersion(VersionUtils.incrementVersion(sysRepo_old.getVersion()));
             SysRepoHistory sysRepoHistory = new SysRepoHistory();
             sysRepoHistory.setRepoId(sysRepo_old.getRepoId());
             sysRepoHistory.setUrl(sysRepo_old.getUrl());
@@ -110,8 +112,12 @@ public class SysRepoController extends BaseController
             if(sysRepoService.updateSysRepo(sysRepo)<1){
                 return AjaxResult.error("文件插入失败");
             }
-            Set<String> set =  OfficeCompareUtils.compare(sysRepoHistory.getUrl(),sysRepo.getUrl(),"spire");
-            return AjaxResult.success(set);
+            if(sysRepo.getRepoType().equals(".docx")){
+                Set<String> set =  OfficeCompareUtils.compare(sysRepoHistory.getUrl(),sysRepo.getUrl(),"spire");
+                return AjaxResult.success(set);
+            }
+            return success();
+
         }
     }
     /**
@@ -143,19 +149,14 @@ public class SysRepoController extends BaseController
         sysRepoHistory_repo.setFileName(sysRepo.getFileName());
         sysRepoHistory_repo.setVersion(sysRepo.getVersion());
         sysRepoHistory_repo.setRemark(sysRepo.getRemark());
-        if(sysRepoHistoryService.insertSysRepoHistory(sysRepoHistory_repo)<1){
-            return AjaxResult.error("文件插入失败");
-        }
-//        SysRepoHistory sysRepoHistory_back = sysRepoHistoryService.selectSysRepoHistory(sysRepoHistory);
-//        sysRepoHistory_back.sethId(null);
-//        if(sysRepoHistoryService.insertSysRepoHistory(sysRepoHistory_back)<1){
-//            return AjaxResult.error("文件插入失败");
-//        }
         sysRepo.setUpdateBy(getUsername());
         sysRepo.setUrl(sysRepoHistory.getUrl());
-        sysRepo.setVersion(sysRepoHistory.getVersion());
+        sysRepo.setVersion(VersionUtils.incrementVersion(sysRepo.getVersion()));
         sysRepo.setFileName(sysRepoHistory.getFileName());
         sysRepo.setRemark("回滚版本"+sysRepoHistory.getVersion());
+        if(sysRepoHistoryService.insertSysRepoHistory(sysRepoHistory_repo)<1){
+            return AjaxResult.error("文件插入失败");
+        }
         if(sysRepoService.updateSysRepo(sysRepo)<1){
             return AjaxResult.error("文件插入失败");
         }

+ 25 - 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/VersionUtils.java

@@ -0,0 +1,25 @@
+package com.ruoyi.common.utils;
+
+public class VersionUtils {
+    /**
+     * 将版本号加1
+     * @param version 当前版本号,格式为"V"后跟一个数字,例如"V1"
+     * @return 新版本号,例如传入"V1"返回"V2"
+     * @throws IllegalArgumentException 如果版本号格式不正确
+     */
+    public static String incrementVersion(String version) {
+        if (version == null || version.isEmpty()) {
+            return "V0";
+        }
+        if (!version.startsWith("V")) {
+            throw new IllegalArgumentException("版本号必须以'V'开头");
+        }
+        String numberPart = version.substring(1);
+        if (!numberPart.matches("\\d+")) {
+            throw new IllegalArgumentException("版本号格式不正确,应为'V'后跟一个数字");
+        }
+        int number = Integer.parseInt(numberPart);
+        int incrementedNumber = number + 1;
+        return "V" + incrementedNumber;
+    }
+}