All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.wslxm.springbootplus2.manage.gc.config.GcConfig Maven / Gradle / Ivy

package io.github.wslxm.springbootplus2.manage.gc.config;


import io.github.wslxm.springbootplus2.manage.gc.config.model.GcFilePath;
import io.github.wslxm.springbootplus2.manage.gc.model.po.DbFieldPO;
import io.github.wslxm.springbootplus2.manage.gc.model.vo.DatasourceVO;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;


/**
 * 所有配置的集合
 *
 * @author wangsong
 * @date 2022/3/4 16:35
 * @return
 */
@Slf4j
@Data
public class GcConfig {
    /**
     * 是否生成 数结构 页面/代码
     */
    private String vueVersion;


    /**
     * 是否生成 数结构 页面/代码
     */
    private Boolean isTree;

    /**
     * 表字段的相关数据(前端传递)
     */
    private List dbFields;

    /**
     * 选择的数据源 (为空表示未当前服务连接的数据源)
     */
    private DatasourceVO dbDatasource;
    /**
     * 默认模板参数
     */
    private Map defaultTemplateParam = new ConcurrentHashMap<>();
    /**
     * 动态模板参数(各个生成的实现对象动态加入的参数)
     */
    private Map templateParam = new ConcurrentHashMap<>();
    /**
     * 模板生成位置
     */
    private Map templatePathMap = new HashMap<>();
    /**
     * 模板生成后的访问链接(代码生成后,自动填充该数据)
     */
    private Map visitPathMap = new LinkedHashMap<>();


    /**
     * 添加文件生成 模板配置
     *
     * @param name
     * @param templatePath
     * @param path
     * @return
     */
    public GcConfig addTemplate(String name, String templatePath, String path) {
        GcFilePath gcFilePath = new GcFilePath();
        gcFilePath.setName(name);
        gcFilePath.setTemplatePath(templatePath);
        gcFilePath.setPath(path);
        templatePathMap.put(name, gcFilePath);
        return this;
    }

    /**
     * 模板生成后的 访问链接
     *
     * @param name key名
     * @param path 访问地址
     * @return
     */
    public void addVisitPath(String name, String path) {
        visitPathMap.put(name, path);
    }


    /**
     * 添加默认模板参数
     *
     * @param key key名
     * @param key 访问地址
     * @return
     */
    public void setDefaultTemplateParam(String key, String value) {
        value = value == null ? "" : value;
        defaultTemplateParam.put("{" + key + "}", value);
    }

    /**
     * 添加模板参数
     *
     * @param key
     */
    public String getDefaultTemplateParam(String key) {
        return defaultTemplateParam.get("{" + key + "}");
    }

    /**
     * 添加模板参数
     *
     * @param key
     * @param value
     */
    public void setTemplateParam(String key, String value) {
        value = value == null ? "" : value;
        templateParam.put("{" + key + "}", value);
    }


}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy