Bladeren bron

代码生成新增配置是否允许文件覆盖到本地

RuoYi 5 maanden geleden
bovenliggende
commit
adf61988fe

+ 16 - 2
ruoyi-generator/src/main/java/com/ruoyi/generator/config/GenConfig.java

@@ -21,12 +21,15 @@ public class GenConfig
     /** 生成包路径 */
     public static String packageName;
 
-    /** 自动去除表前缀,默认是false */
+    /** 自动去除表前缀 */
     public static boolean autoRemovePre;
 
-    /** 表前缀(类名不会包含表前缀) */
+    /** 表前缀 */
     public static String tablePrefix;
 
+    /** 是否允许生成文件覆盖到本地(自定义路径) */
+    public static boolean allowOverwrite;
+
     public static String getAuthor()
     {
         return author;
@@ -70,4 +73,15 @@ public class GenConfig
     {
         GenConfig.tablePrefix = tablePrefix;
     }
+
+    public static boolean isAllowOverwrite()
+    {
+        return allowOverwrite;
+    }
+
+    @Value("${allowOverwrite}")
+    public void setAllowOverwrite(boolean allowOverwrite)
+    {
+        GenConfig.allowOverwrite = allowOverwrite;
+    }
 }

+ 5 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java

@@ -32,6 +32,7 @@ import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.security.PermissionUtils;
 import com.ruoyi.common.utils.sql.SqlUtil;
+import com.ruoyi.generator.config.GenConfig;
 import com.ruoyi.generator.domain.GenTable;
 import com.ruoyi.generator.domain.GenTableColumn;
 import com.ruoyi.generator.service.IGenTableColumnService;
@@ -259,6 +260,10 @@ public class GenController extends BaseController
     @ResponseBody
     public AjaxResult genCode(@PathVariable("tableName") String tableName)
     {
+        if (!GenConfig.isAllowOverwrite())
+        {
+            return AjaxResult.error("【系统预设】不允许生成文件覆盖到本地");
+        }
         genTableService.generatorCode(tableName);
         return AjaxResult.success();
     }

+ 3 - 1
ruoyi-generator/src/main/resources/generator.yml

@@ -8,4 +8,6 @@ gen:
   # 自动去除表前缀,默认是false
   autoRemovePre: false
   # 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
-  tablePrefix: sys_
+  tablePrefix: sys_
+  # 是否允许生成文件覆盖到本地(自定义路径),默认不允许
+  allowOverwrite: false