From 932777e9d6dc8dc5d9edbfc9117639ae02d96956 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 14 十月 2021 11:55:07 +0800
Subject: [PATCH] 自动化代码生成优化

---
 src/main/java/org/yeshi/utils/generater/GeneraterManager.java |   55 +++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 39 insertions(+), 16 deletions(-)

diff --git a/src/main/java/org/yeshi/utils/generater/GeneraterManager.java b/src/main/java/org/yeshi/utils/generater/GeneraterManager.java
index 30f5916..68e1912 100644
--- a/src/main/java/org/yeshi/utils/generater/GeneraterManager.java
+++ b/src/main/java/org/yeshi/utils/generater/GeneraterManager.java
@@ -21,6 +21,7 @@
 import org.yeshi.utils.mybatis.BaseMapper;
 
 import java.io.File;
+import java.io.IOException;
 import java.lang.annotation.Annotation;
 
 /**
@@ -62,7 +63,25 @@
         if (!f.exists()) {
             f.mkdirs();
         }
-        return new File(f.getAbsolutePath(), packageName.replace(".", "/")).getAbsolutePath();
+        f = new File(f.getAbsolutePath(), packageName.replace(".", "/"));
+        if (!f.exists()) {
+            f.mkdirs();
+        }
+        return f.getAbsolutePath();
+    }
+
+    /**
+     * @return void
+     * @author hxh
+     * @description 淇濆瓨鏂囦欢
+     * @date 10:06 2021/10/14
+     * @param: data
+     * @param: path
+     **/
+    private void saveFile(String data, String path) throws IOException {
+        if (!new File(path).exists())
+            new File(path).createNewFile();
+        FileUtil.saveAsFileByte(data.getBytes("UTF-8"), path);
     }
 
     public void createException(String packageName, Class base) {
@@ -71,7 +90,7 @@
             ExceptionVO vo = new ExceptionVO.Builder().setEntity(entity).setPackageName(packageName).setBase(new ClassInfo(base.getSimpleName(), base.getName())).build();
             String result = GeneraterUtil.createException(vo);
             //淇濆瓨
-            FileUtil.saveAsFileByte(result.getBytes("UTF-8"), path);
+            saveFile(result, path);
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -93,7 +112,7 @@
                 .setEntity(entity).build();
         String result = GeneraterUtil.createMongoDBDao(vo);
         //淇濆瓨
-        FileUtil.saveAsFileByte(result.getBytes("UTF-8"), new File(path, daoName).getAbsolutePath());
+        saveFile(result, new File(path, daoName + ".java").getAbsolutePath());
         return vo;
     }
 
@@ -115,11 +134,11 @@
                 .build();
         String result = GeneraterUtil.createMybatisDBMapper(vo);
         //淇濆瓨
-        FileUtil.saveAsFileByte(result.getBytes("UTF-8"), new File(path, mapperName + ".java").getAbsolutePath());
+        saveFile(result, new File(path, mapperName + ".java").getAbsolutePath());
         if (!new File(mapperDir).exists())
             new File(mapperDir).mkdirs();
         result = GeneraterUtil.createMybatisDBMapperXML(vo);
-        FileUtil.saveAsFileByte(result.getBytes("UTF-8"), new File(mapperDir, mapperName + ".xml").getAbsolutePath());
+        saveFile(result, new File(mapperDir, mapperName + ".xml").getAbsolutePath());
         return vo;
     }
 
@@ -135,7 +154,7 @@
         String path = getDirPath(packageName);
         QueryVO queryVO = new QueryVO.Builder().setEntity(entity).setPackageName(packageName).build();
         String result = GeneraterUtil.createQuery(queryVO);
-        FileUtil.saveAsFileByte(result.getBytes("UTF-8"), new File(path, queryVO.getClassName() + ".java").getAbsolutePath());
+        saveFile(result, new File(path, queryVO.getClassName() + ".java").getAbsolutePath());
         return queryVO;
     }
 
@@ -162,7 +181,7 @@
                 .setService(new ClassInfo(serviceName, interPackageName + "." + serviceName))
                 .build();
         String result = GeneraterUtil.createService(vo);
-        FileUtil.saveAsFileByte(result.getBytes("UTF-8"), new File(path, serviceName + ".java").getAbsolutePath());
+        saveFile(result, new File(path, serviceName + ".java").getAbsolutePath());
 
         //鍒涘缓service瀹炵幇
         String serviceImplName = entity.getSimpleName() + "ServiceImpl";
@@ -176,7 +195,7 @@
                 .setDaoQuery(new ClassInfo("DaoQuery", dao.getClazz() + ".DaoQuery"))
                 .build();
         result = GeneraterUtil.createServiceImpl(implVO);
-        FileUtil.saveAsFileByte(result.getBytes("UTF-8"), new File(path, serviceImplName + ".java").getAbsolutePath());
+        saveFile(result, new File(path, serviceImplName + ".java").getAbsolutePath());
         return vo;
     }
 
@@ -194,28 +213,29 @@
     public void createAdmin(String controllerPackage, String htmlDir, ClassInfo query, ClassInfo service) throws Exception {
         String path = getDirPath(controllerPackage);
 
-        String controllerName = entity.getSimpleName() + "AdminController";
+
         AdminGeneraterInfo generaterInfo = new AdminGeneraterInfo.Builder().setEntityClass(entity).build();
 
 
         String htmlNamePrefix = getHtmlNameFromEntityName(entity.getSimpleName());
-        AdminControllerInfoVO vo = new AdminControllerInfoVO.Builder().setAdminInfo(generaterInfo).setPackageName(controllerName).setQueryVO(query).setService(service).build();
+        AdminControllerInfoVO vo = new AdminControllerInfoVO.Builder().setAdminInfo(generaterInfo).setPackageName(controllerPackage).setQueryVO(query).setService(service).build();
+        String controllerName = vo.getControllerName();
         //鐢熸垚controller
         String result = GeneraterUtil.createAdminController(vo);
-        FileUtil.saveAsFileByte(result.getBytes("UTF-8"), new File(path, controllerName + ".java").getAbsolutePath());
+        saveFile(result, new File(path, controllerName + ".java").getAbsolutePath());
 
 
         result = GeneraterUtil.createAdminPageForList(generaterInfo);
-        FileUtil.saveAsFileByte(result.getBytes("UTF-8"), new File(htmlDir, htmlNamePrefix + "_list.html").getAbsolutePath());
+        saveFile(result, new File(htmlDir, htmlNamePrefix + "_list.html").getAbsolutePath());
 
         if (generaterInfo.getAddFormRows() != null && generaterInfo.getAddFormRows().size() > 0) {
             result = GeneraterUtil.createAdminPageForAdd(generaterInfo);
-            FileUtil.saveAsFileByte(result.getBytes("UTF-8"), new File(htmlDir, htmlNamePrefix + "_add.html").getAbsolutePath());
+            saveFile(result, new File(htmlDir, htmlNamePrefix + "_add.html").getAbsolutePath());
         }
 
         if (generaterInfo.getUpdateFormRows() != null && generaterInfo.getUpdateFormRows().size() > 0) {
             result = GeneraterUtil.createAdminPageForUpdate(generaterInfo);
-            FileUtil.saveAsFileByte(result.getBytes("UTF-8"), new File(htmlDir, htmlNamePrefix + "_update.html").getAbsolutePath());
+            saveFile(result, new File(htmlDir, htmlNamePrefix + "_update.html").getAbsolutePath());
         }
     }
 
@@ -276,8 +296,11 @@
             serviceClass = serviceInfoVO.getService();
         }
 
-        //鍒涘缓Admin妯″潡
-        createAdmin(adminParams.getControllerPackage(), adminParams.getHtmlDir(), queryClass, serviceClass);
+        if (queryClass != null && serviceClass != null) {
+            if (adminParams != null)
+                //鍒涘缓Admin妯″潡
+                createAdmin(adminParams.getControllerPackage(), adminParams.getHtmlDir(), queryClass, serviceClass);
+        }
     }
 
     /**

--
Gitblit v1.8.0