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/GeneraterManager.java | 72 +++++++++++++++++++++++++---------- 1 files changed, 51 insertions(+), 21 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..d0b4547 100644 --- a/src/main/java/org/yeshi/utils/generater/GeneraterManager.java +++ b/src/main/java/org/yeshi/utils/generater/GeneraterManager.java @@ -10,6 +10,7 @@ import org.yeshi.utils.generater.params.AdminGeneraterParams; import org.yeshi.utils.generater.params.DaoGeneraterParams; import org.yeshi.utils.generater.params.ServiceGeneraterParams; +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.dao.MongoDBDaoVO; @@ -17,10 +18,12 @@ import org.yeshi.utils.generater.vo.service.QueryVO; import org.yeshi.utils.generater.vo.service.ServiceImplInfoVO; import org.yeshi.utils.generater.vo.service.ServiceInfoVO; +import org.yeshi.utils.generater.vo.xmlconfig.GenertorConfig; import org.yeshi.utils.mongo.MongodbBaseDao; import org.yeshi.utils.mybatis.BaseMapper; import java.io.File; +import java.io.IOException; import java.lang.annotation.Annotation; /** @@ -44,6 +47,7 @@ private String classRootDir; private Class entity; + public static GeneraterManager getInstance() { if (instance == null) instance = new GeneraterManager(); @@ -62,7 +66,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 +93,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(); } @@ -85,7 +107,8 @@ * @param: packageName **/ public MongoDBDaoVO createDao(String packageName) throws Exception { - String daoName = entity.getSimpleName() + "Dao"; + + String daoName = NameUtil.getDefaultDaoName(entity); String path = getDirPath(packageName); MongoDBDaoVO vo = new MongoDBDaoVO.Builder() .setBaseDao(new ClassInfo(MongodbBaseDao.class.getSimpleName(), MongodbBaseDao.class.getName())) @@ -93,7 +116,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; } @@ -106,7 +129,7 @@ * @param: mapperDir **/ public MyBatisDBDaoVO createMapper(String packageName, String mapperDir) throws Exception { - String mapperName = entity.getSimpleName() + "Mapper"; + String mapperName = NameUtil.getDefaultMapperName(entity); String path = getDirPath(packageName); MyBatisDBDaoVO vo = new MyBatisDBDaoVO.Builder() .setBaseMapper(new ClassInfo(BaseMapper.class.getSimpleName(), BaseMapper.class.getName())) @@ -115,11 +138,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 +158,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; } @@ -153,7 +176,7 @@ //鍒涘缓service鎺ュ彛 - String serviceName = entity.getSimpleName() + "Service"; + String serviceName = NameUtil.getDefaultServiceName(entity); String path = getDirPath(interPackageName); ServiceInfoVO vo = new ServiceInfoVO.Builder() .setPackageName(interPackageName) @@ -162,10 +185,10 @@ .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"; + String serviceImplName = NameUtil.getDefaultServiceImplName(entity); path = getDirPath(implPackageName); ServiceImplInfoVO implVO = new ServiceImplInfoVO.Builder() .setDao(dao) @@ -176,7 +199,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 +217,32 @@ 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()); + if (!new File(htmlDir).exists()) { + new File(htmlDir).mkdirs(); + } 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 +303,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); + } } /** @@ -287,7 +317,7 @@ * @date 18:25 2021/10/13 * @param: entityName **/ - private static String getHtmlNameFromEntityName(String entityName) { + public static String getHtmlNameFromEntityName(String entityName) { StringBuffer sb = new StringBuffer(); StringBuffer buffer = null; for (int i = 0; i < entityName.length(); i++) { -- Gitblit v1.8.0