From 1a1a315efb1b5dc294013126f35819e36565040c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 30 九月 2021 18:06:48 +0800
Subject: [PATCH] 后台管理自动化代码生成

---
 src/test/java/com/generater/GeneratorTest.java |   71 ++++++++++++++++++++++++++++++++++-
 1 files changed, 68 insertions(+), 3 deletions(-)

diff --git a/src/test/java/com/generater/GeneratorTest.java b/src/test/java/com/generater/GeneratorTest.java
index be8a329..a3af2b0 100644
--- a/src/test/java/com/generater/GeneratorTest.java
+++ b/src/test/java/com/generater/GeneratorTest.java
@@ -1,20 +1,85 @@
 package com.generater;
 
+import freemarker.cache.StringTemplateLoader;
+import freemarker.template.Template;
 import org.springframework.data.annotation.Id;
+import org.springframework.data.annotation.Transient;
+import org.yeshi.utils.FileUtil;
+import org.yeshi.utils.FreemarkerUtils;
 import org.yeshi.utils.generater.SpringComponentGenerater;
+import org.yeshi.utils.generater.annotation.admin.form.CheckBox;
+import org.yeshi.utils.generater.annotation.admin.form.Select;
+import org.yeshi.utils.generater.annotation.admin.form.Text;
+import org.yeshi.utils.generater.entity.KeyValue;
 import org.yeshi.utils.generater.entity.MongoDBDaoData;
+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.admin.FormAddInfoVO;
+import org.yeshi.utils.generater.vo.admin.FormUpdateInfoVO;
 
-import java.util.Date;
+import java.io.File;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.*;
+import java.util.regex.Pattern;
 
 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);
+//        }
+
+
+        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, SpringComponentGenerater.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);
+        //
+//        boolean match = Pattern.matches("^(https://){1}.*(\\.m3u8)$", "https://n1.szjal.cn/20210805/qnDXhXBa/index.m3u8123");
+//        System.out.println(match);
     }
 
 

--
Gitblit v1.8.0