Explorar el Código

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

RuoYi hace 4 meses
padre
commit
9a51563144

+ 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

@@ -30,6 +30,7 @@ import com.ruoyi.common.core.text.Convert;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.SecurityUtils;
 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;
@@ -213,6 +214,10 @@ public class GenController extends BaseController
     @GetMapping("/genCode/{tableName}")
     public AjaxResult genCode(@PathVariable("tableName") String tableName)
     {
+        if (!GenConfig.isAllowOverwrite())
+        {
+            return AjaxResult.error("【系统预设】不允许生成文件覆盖到本地");
+        }
         genTableService.generatorCode(tableName);
         return success();
     }

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

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