package org.yeshi.utils.generater; import org.yeshi.utils.FreemarkerUtils; import org.yeshi.utils.generater.entity.admin.AdminGeneraterInfo; 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.admin.page.FormAddInfoVO; import org.yeshi.utils.generater.vo.admin.page.FormUpdateInfoVO; import org.yeshi.utils.generater.vo.admin.page.ListInfoVO; import org.yeshi.utils.generater.vo.dao.MongoDBDaoVO; import org.yeshi.utils.generater.vo.dao.MyBatisDBDaoVO; 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 java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.Map; public class GeneraterUtil { public static String createException(ExceptionVO vo) throws IOException { String result = FreemarkerUtils.generateInputStream(vo, GeneraterUtil.class.getClassLoader().getResourceAsStream("generater/exception.template")); System.out.println(result); return result; } public static String createAdminVO(AdminVOVO vo) throws IOException { String result = FreemarkerUtils.generateInputStream(vo, GeneraterUtil.class.getClassLoader().getResourceAsStream("generater/admin/adminVO.template")); System.out.println(result); return result; } public static String createMongoDBDao(MongoDBDaoVO vo) throws IOException { String result = FreemarkerUtils.generateInputStream(vo, GeneraterUtil.class.getClassLoader().getResourceAsStream("generater/dao/mongoDBDao.template")); System.out.println(result); return result; } public static String createMybatisDBMapper(MyBatisDBDaoVO vo) throws IOException { String result = FreemarkerUtils.generateInputStream(vo, GeneraterUtil.class.getClassLoader().getResourceAsStream("generater/dao/mybatisDBDao.template")); System.out.println(result); return result; } public static String createMybatisDBMapperXML(MyBatisDBDaoVO vo) throws IOException { String result = FreemarkerUtils.generateInputStream(vo, GeneraterUtil.class.getClassLoader().getResourceAsStream("generater/dao/mybatisDBXML.ftl")); System.out.println(result); return result; } public static String createQuery(QueryVO vo) throws IOException { String result = FreemarkerUtils.generateInputStream(vo, GeneraterUtil.class.getClassLoader().getResourceAsStream("generater/service/queryVO.ftl")); System.out.println(result); return result; } public static String createService(ServiceInfoVO vo) throws IOException { String result = FreemarkerUtils.generateInputStream(vo, GeneraterUtil.class.getClassLoader().getResourceAsStream("generater/service/service.template")); System.out.println(result); return result; } public static String createServiceImpl(ServiceImplInfoVO vo) throws IOException { String result = FreemarkerUtils.generateInputStream(vo, GeneraterUtil.class.getClassLoader().getResourceAsStream("generater/service/serviceImpl.template")); System.out.println(result); return result; } public static String createAdminController(AdminControllerInfoVO vo) throws IOException { String result = FreemarkerUtils.generateInputStream(vo, GeneraterUtil.class.getClassLoader().getResourceAsStream("generater/admin/adminController.template")); System.out.println(result); return result; } private static Map getAdminIncludePageMap() { //将所有的控件模板加载进去 String[] template = new String[]{ "admin/form/checkBox.ftl", "admin/form/img.ftl", "admin/form/password.ftl", "admin/form/radioGroup.ftl", "admin/form/select.ftl", "admin/form/switch.ftl", "admin/form/text.ftl", "admin/form/textArea.ftl", "admin/add.ftl", "admin/update.ftl", "admin/list.ftl" }; Map map = new HashMap<>(); for (String st : template) { map.put(st, GeneraterUtil.class.getClassLoader().getResourceAsStream("generater/" + st)); } return map; } public static String createAdminPageForUpdate(AdminGeneraterInfo vo) throws IOException { Map map = getAdminIncludePageMap(); String result = FreemarkerUtils.generateInputStream(new FormUpdateInfoVO.Builder().setAdminInfo(vo).build(), "admin/update.ftl", map); System.out.println(result); return result; } public static String createAdminPageForAdd(AdminGeneraterInfo vo) throws IOException { Map map = getAdminIncludePageMap(); String result = FreemarkerUtils.generateInputStream(new FormAddInfoVO.Builder().setAdminInfo(vo).build(), "admin/add.ftl", map); System.out.println(result); return result; } public static String createAdminPageForList(AdminGeneraterInfo vo) throws IOException { Map map = getAdminIncludePageMap(); String result = FreemarkerUtils.generateInputStream(new ListInfoVO.Builder().setAdminInfo(vo).build(), "admin/list.ftl", map); System.out.println(result); return result; } public static void main(String[] args) { InputStream input = GeneraterUtil.class.getClassLoader().getResourceAsStream("generater/dao/mybatisDBDao.template"); System.out.println(input); } }