admin
2024-07-25 47e3087067abd35e6337c011f96d2338c0bb1aae
src/test/java/com/generater/GeneratorTest.java
@@ -1,25 +1,173 @@
package com.generater;
import org.springframework.data.annotation.Id;
import org.yeshi.utils.generater.SpringComponentGenerater;
import org.yeshi.utils.generater.entity.MongoDBDaoData;
import org.yeshi.utils.FileUtil;
import org.yeshi.utils.FreemarkerUtils;
import org.yeshi.utils.generater.GeneraterUtil;
import org.yeshi.utils.generater.TestEntity3;
import org.yeshi.utils.generater.entity.ClassInfo;
import org.yeshi.utils.generater.entity.admin.AdminGeneraterInfo;
import org.yeshi.utils.generater.mybatis.Column;
import org.yeshi.utils.generater.mybatis.MyBatisMapperUtil;
import org.yeshi.utils.generater.mybatis.Table;
import org.yeshi.utils.generater.vo.ExceptionVO;
import org.yeshi.utils.generater.vo.xmlconfig.base.FormComponent;
import org.yeshi.utils.generater.vo.xmlconfig.admin.form.FormComponentText;
import org.yeshi.utils.generater.vo.dao.MongoDBDaoVO;
import org.yeshi.utils.generater.vo.dao.MyBatisDBDaoVO;
import org.yeshi.utils.generater.vo.service.ServiceImplInfoVO;
import org.yeshi.utils.generater.vo.service.ServiceInfoVO;
import org.yeshi.utils.generater.vo.admin.controller.AdminControllerInfoVO;
import org.yeshi.utils.generater.vo.admin.page.FormUpdateInfoVO;
import java.io.InputStream;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
public class GeneratorTest {
        public static void main(String[] args) throws Exception {
    public static void main(String[] args) throws Exception {
        //SpringComponentGenerater.createMongoDao(new MongoDBDaoData.Builder().setBaseDaoClass(BaseDao.class).setDaoPackageName("com.generator.result").setEntityClass(Entity.class).create(), "D:\\workspace\\server\\utils\\src\\test\\java\\com\\generater\\result");
        MyBatisMapperUtil.createMapper(Entity.class);
//        MyBatisMapperUtil.createMapper(Entity.class);
//打乱xml中的数据
//        Scanner scanner = new Scanner(new File("D:\\workspace\\Android\\buwan\\HanJuPlayer\\app\\res\\values\\strings.xml"));
//        List<String> lines = new ArrayList<>();
//        while (scanner.hasNextLine()) {
//            String line = scanner.nextLine().trim();
//            if (line == null || (line.startsWith("<?xml") || line.contains("<resources>") || line.contains("</resources>")))
//                continue;
//            lines.add(line);
//        }
//        scanner.close();
//        Collections.shuffle(lines);
//        for (String line : lines) {
//            System.out.println(line);
//        }
        //
//        boolean match = Pattern.matches("^(https://){1}.*(\\.m3u8)$", "https://n1.szjal.cn/20210805/qnDXhXBa/index.m3u8123");
//        System.out.println(match);
//        generater();
       String sql =  MyBatisMapperUtil.createSQL(TestEntity3.class);
       System.out.println(sql);
    }
    private static void generateAdminPage() throws Exception {
        AdminGeneraterInfo info = new AdminGeneraterInfo.Builder().setEntityClass(TestEntity.class).build();
        //将所有的控件模板加载进去
        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<String, InputStream> map = new HashMap<>();
        for (String st : template) {
            map.put(st, GeneraterUtil.class.getClassLoader().getResourceAsStream("generater/" + st));
        }
        String result = FreemarkerUtils.generateInputStream(new FormUpdateInfoVO.Builder().setAdminInfo(info).build(), "admin/update.ftl", map);
        FileUtil.saveAsFileByte(result.getBytes("UTF-8"), "C:\\Users\\Administrator\\Documents\\HBuilderProjects\\LayuiTest\\form.html");
        System.out.println(result);
    }
    private static void generateService() throws Exception {
        ClassInfo dao = new ClassInfo("TestDao", "com.test.dao.TestDao");
        ClassInfo query = new ClassInfo("TestQuery", "com.test.query.TestQuery");
        ClassInfo service = new ClassInfo("TestService", "com.test.service.TestService");
        ServiceInfoVO serviceInfoVO = new ServiceInfoVO.Builder().setEntity(Entity.class).setPackageName("com.test.service").setQuery(query).setService(service).build();
        String result = FreemarkerUtils.generateInputStream(serviceInfoVO, GeneratorTest.class.getClassLoader().getResourceAsStream("generater\\service\\service.template"));
        System.out.println(result);
    }
    private static void generateServiceImpl() throws Exception {
        ClassInfo dao = new ClassInfo("TestMapper", "com.test.dao.TestMapper");
        ClassInfo query = new ClassInfo("TestQuery", "com.test.query.TestQuery");
        ClassInfo service = new ClassInfo("TestService", "com.test.service.TestService");
        ClassInfo daoQuery = new ClassInfo("DaoQuery", "com.test.dao.query.DaoQuery");
        ServiceImplInfoVO serviceInfoVO = new ServiceImplInfoVO.Builder()
                .setDao(dao)
                .setEntity(Entity.class)
                .setPackageName("com.test.service.impl")
                .setQuery(query)
                .setService(service)
                .setDaoQuery(daoQuery)
                .build();
        String result = FreemarkerUtils.generateInputStream(serviceInfoVO, GeneratorTest.class.getClassLoader().getResourceAsStream("generater\\service\\serviceImpl.template"));
        System.out.println(result);
    }
    private static void generateAdminController() throws Exception {
        AdminGeneraterInfo adminGeneraterInfo = new AdminGeneraterInfo.Builder().setEntityClass(TestEntity.class).build();
        ClassInfo query = new ClassInfo("TestQuery", "com.test.query.TestQuery");
        ClassInfo service = new ClassInfo("TestService", "com.test.service.TestService");
        AdminControllerInfoVO vo = new AdminControllerInfoVO.Builder().setAdminInfo(adminGeneraterInfo).setPackageName("com.test.controller.admin").setQueryVO(query).setService(service).build();
        String result = FreemarkerUtils.generateInputStream(vo, GeneratorTest.class.getClassLoader().getResourceAsStream("generater\\admin\\adminController.template"));
        System.out.println(result);
    }
    private static void generateMongoDBDao() throws Exception {
        MongoDBDaoVO vo = new MongoDBDaoVO.Builder().setBaseDao(new ClassInfo(BaseDao.class.getSimpleName(), BaseDao.class.getName())).setDao(new ClassInfo("TestDao", "com.test.dao.TestDao")).setEntity(TestEntity.class).build();
        String result = FreemarkerUtils.generateInputStream(vo, GeneratorTest.class.getClassLoader().getResourceAsStream("generater\\dao\\mongoDBDao.template"));
        System.out.println(result);
    }
    private static void generateMybatisDao() throws Exception {
        MyBatisDBDaoVO vo = new MyBatisDBDaoVO
                .Builder()
                .setEntity(TestEntity2.class)
                .setBaseMapper(new ClassInfo("BaseMapper", "com.test.mapper.BaseMapper"))
                .setMapper(new ClassInfo("TestEntity2Mapper", "com.test.mapper.TestEntity2Mapper"))
                .build();
//        String result = FreemarkerUtils.generateInputStream(vo, GeneratorTest.class.getClassLoader().getResourceAsStream("generater\\dao\\mybatisDBDao.template"));
        String result = FreemarkerUtils.generateInputStream(vo, GeneratorTest.class.getClassLoader().getResourceAsStream("generater\\dao\\mybatisDBXML.ftl"));
        System.out.println(result);
    }
    private static void generateException() throws Exception {
        ExceptionVO vo = new ExceptionVO.Builder()
                .setEntity(Entity.class)
                .setPackageName("com.test.exception").build();
        String result = FreemarkerUtils.generateInputStream(vo, GeneratorTest.class.getClassLoader().getResourceAsStream("generater\\exception.template"));
        System.out.println(result);
    }
    private static void generater() throws Exception {
//        GeneraterManager.getInstance().init("D:\\workspace\\server\\utils\\src\\test\\java", TestEntity.class);
//        AdminGeneraterParams adminGeneraterParams=new AdminGeneraterParams("com.generater.temp.controller","D:\\workspace\\server\\utils\\src\\test");
//
//        GeneraterManager.getInstance().createWholeFunction(new DaoGeneraterParams("com.generater.temp.dao", "D:\\workspace\\server\\utils\\src\\test"), new ServiceGeneraterParams("com.generater.temp.query","com.generater.temp.service","com.generater.temp.service.impl"), adminGeneraterParams);
        FormComponent fc=new FormComponentText();
        System.out.println(fc instanceof  FormComponentText);
        FormComponentText text=(FormComponentText) fc;
        System.out.println(text);
    }
    @Table("tb_test")
    public static class Entity {
     static class Entity {
        @Id
        @Column(name = "id")