package com.kidgrow.generator.utils;
import cn.hutool.core.date.DateUtil;
import com.kidgrow.common.constant.CommonConstant;
import com.kidgrow.generator.model.ColumnEntity;
import com.kidgrow.generator.model.TableEntity;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.WordUtils;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
import java.io.File;
import java.io.IOException;
import java.io.StringWriter;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
/**
* 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
*
* @Description: 代码生成工具类
* @Project:
* @CreateDate: Created in 2020/2/24 09:40
* @Author: liuke
*/
@Slf4j
public class GenUtils {
private GenUtils() {
throw new IllegalStateException("Utility class");
}
private final static String FILE_NAME_MODEL = "Model.java.vm";
private final static String FILE_NAME_MAPPER = "Mapper.java.vm";
private final static String FILE_NAME_MAPPERXML = "Mapper.xml.vm";
private final static String FILE_NAME_SERVICE = "Service.java.vm";
private final static String FILE_NAME_SERVICEIMPL = "ServiceImpl.java.vm";
private final static String FILE_NAME_CONTROLLER = "Controller.java.vm";
private final static String FILE_NAME_PAGE = "index.html.vm";
private final static String TEMPLATE_PATH = "template/";
private final static String PACKAGE = "package";
private final static String MODULE_NAME = "moduleName";
public static List getTemplates() {
List templates = new ArrayList<>();
templates.add(TEMPLATE_PATH+FILE_NAME_MODEL);
templates.add(TEMPLATE_PATH+FILE_NAME_MAPPER);
templates.add(TEMPLATE_PATH+FILE_NAME_MAPPERXML);
templates.add(TEMPLATE_PATH+FILE_NAME_SERVICE);
templates.add(TEMPLATE_PATH+FILE_NAME_SERVICEIMPL);
templates.add(TEMPLATE_PATH+FILE_NAME_CONTROLLER);
templates.add(TEMPLATE_PATH+FILE_NAME_PAGE);
return templates;
}
/**
* 生成代码
*/
public static void generatorCode(Map table,
List