From 47e3087067abd35e6337c011f96d2338c0bb1aae Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 25 七月 2024 13:39:31 +0800
Subject: [PATCH] 优化自动化代码

---
 src/main/java/org/yeshi/utils/generater/GeneraterManagerV2.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 48 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/yeshi/utils/generater/GeneraterManagerV2.java b/src/main/java/org/yeshi/utils/generater/GeneraterManagerV2.java
index 959dadc..2f70d3b 100644
--- a/src/main/java/org/yeshi/utils/generater/GeneraterManagerV2.java
+++ b/src/main/java/org/yeshi/utils/generater/GeneraterManagerV2.java
@@ -9,6 +9,7 @@
 import org.yeshi.utils.generater.util.NameUtil;
 import org.yeshi.utils.generater.vo.ExceptionVO;
 import org.yeshi.utils.generater.vo.admin.controller.AdminControllerInfoVO;
+import org.yeshi.utils.generater.vo.admin.controller.AdminVOVO;
 import org.yeshi.utils.generater.vo.dao.MongoDBDaoVO;
 import org.yeshi.utils.generater.vo.dao.MyBatisDBDaoVO;
 import org.yeshi.utils.generater.vo.service.QueryVO;
@@ -82,21 +83,44 @@
         FileUtil.saveAsFileByte(data.getBytes("UTF-8"), path);
     }
 
-    public void createException(Class base) throws Exception {
+    public void createException(ClassInfo base) throws Exception {
         if (config.getService().getException() == null) {
             throw new Exception("灏氭湭閰嶇疆寮傚父淇℃伅");
         }
 
+        String exceptionName = NameUtil.getDefaultExceptionName(config.getEntity());
         String path = getDirPath(config.getService().getException().getPkg());
         try {
-            ExceptionVO vo = new ExceptionVO.Builder().setEntity(config.getEntity()).setPackageName(config.getService().getException().getPkg()).setBase(new ClassInfo(base.getSimpleName(), base.getName())).build();
+            ExceptionVO vo = new ExceptionVO.Builder().setEntity(config.getEntity()).setPackageName(config.getService().getException().getPkg()).setBase(base).build();
             String result = GeneraterUtil.createException(vo);
             //淇濆瓨
-            saveFile(result, path);
+            saveFile(result, new File(path, exceptionName + ".java").getAbsolutePath());
         } catch (Exception e) {
             e.printStackTrace();
         }
     }
+
+
+    public AdminVOVO createAdminVO() throws Exception {
+        if (StringUtil.isNullOrEmpty(config.getAdmin().getController().getAdminVOPackage())) {
+            return null;
+        }
+
+        String name = NameUtil.getDefaultAdminVOName(config.getEntity());
+        String path = getDirPath(config.getAdmin().getController().getAdminVOPackage());
+        try {
+            AdminVOVO vo = new AdminVOVO.Builder().setEntity(config.getEntity()).setPackageName(config.getAdmin().getController().getAdminVOPackage()).build();
+            String result = GeneraterUtil.createAdminVO(vo);
+            //淇濆瓨
+            saveFile(result, new File(path, name + ".java").getAbsolutePath());
+            return vo;
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return null;
+    }
+
 
     public void createDao() throws Exception {
 
@@ -218,6 +242,15 @@
             }
         }
 
+        if (config.getService().getException() != null) {
+            if (config.getService().getException().getBase() != null) {
+                createException(config.getService().getException().getBase());
+            } else {
+                createException(ClassInfo.create(Exception.class));
+            }
+        }
+
+
         QueryVO queryVO = createQuery(config.getService().getQueryPackage());
 
         ClassInfo query = new ClassInfo(queryVO.getClassName(), queryVO.getPackageName() + "." + queryVO.getClassName());
@@ -282,13 +315,18 @@
             query = new ClassInfo(queryName, config.getService().getQueryPackage() + "." + queryName);
         }
 
+        AdminVOVO adminVOVO = null;
+        if (config.getAdmin().getController().getAdminVOPackage() != null) {
+            adminVOVO = createAdminVO();
+        }
+
 
         String path = getDirPath(config.getAdmin().getController().getPkg());
 
         AdminGeneraterInfo generaterInfo = new AdminGeneraterInfo.Builder().setEntityClass(config.getEntity()).setAdminData(config.getAdmin()).build();
 
 
-        AdminControllerInfoVO vo = new AdminControllerInfoVO.Builder().setAdminInfo(generaterInfo).setPackageName(generaterInfo.getControllerData().getPkg()).setQueryVO(query).setService(service).build();
+        AdminControllerInfoVO vo = new AdminControllerInfoVO.Builder().setAdminVO(adminVOVO == null ? null : new ClassInfo(adminVOVO.getName(), adminVOVO.getPackageName() + "." + adminVOVO.getName())).setAdminInfo(generaterInfo).setPackageName(generaterInfo.getControllerData().getPkg()).setQueryVO(query).setService(service).build();
         String controllerName = vo.getControllerName();
         //鐢熸垚controller
         String result = GeneraterUtil.createAdminController(vo);
@@ -383,8 +421,12 @@
     }
 
 
-    public static void main(String[] args) {
-        System.out.print(getHtmlNameFromEntityName("TTestEEntity"));
+    public static void main(String[] args) throws Exception {
+//        System.out.print(getHtmlNameFromEntityName("TTestEEntity"));
+//        AdminVOVO vo = new AdminVOVO.Builder().setEntity(TestEntity3.class).setPackageName("test.vo.admin").build();
+//        String result = GeneraterUtil.createAdminVO(vo);
+//        System.out.println(result);
+
     }
 
 

--
Gitblit v1.8.0