package com.yqzx.generator.action.config; import cn.hutool.core.util.StrUtil; import com.yqzx.generator.action.model.GenQo; import com.yqzx.generator.util.SpringUtil; /** * @description: 默认的代码生成web配置 * @author: chaoyapeng * @time: 2020/8/18 15:53 */ public class WebGeneratorConfig extends AbstractGeneratorConfig { private GenQo genQo; public WebGeneratorConfig(GenQo genQo) { this.genQo = genQo; } protected void dataSourceConfig() { dataSourceConfig.setDriverName(StrUtil.isNotEmpty(genQo.getDriverName()) ? genQo.getDriverName() : getProperty().getDriverName()); dataSourceConfig.setUsername(StrUtil.isNotEmpty(genQo.getUserName()) ? genQo.getUrl() : getProperty().getUserName()); dataSourceConfig.setPassword(StrUtil.isNotEmpty(genQo.getPassword()) ? genQo.getUrl() : getProperty().getPassword()); // 处理配置文件里的固定ip if (StrUtil.isEmpty(genQo.getIp())) { genQo.setIp(getProperty().getIp()); } if (StrUtil.isEmpty(genQo.getPort())) { genQo.setPort(getProperty().getPort()); } if (StrUtil.isEmpty(genQo.getDataBaseName())) { genQo.setDataBaseName(getProperty().getDataBaseName()); } dataSourceConfig.setUrl(genQo.getUrl()); } protected void contextConfig() { contextConfig.setAuthor(genQo.getAuthor()); contextConfig.setProjectPath(genQo.getProjectPath()); contextConfig.setPackageName(genQo.getProjectPackage()); contextConfig.setTableName(genQo.getTableName()); contextConfig.setBizChName(genQo.getBizName()); // 生成器开关 contextConfig.setControllerSwitch(genQo.getControllerSwitch() || getProperty().getControllerSwitch()); contextConfig.setServiceSwitch(genQo.getServiceSwitch() || getProperty().getServiceSwitch()); contextConfig.setMapperSwitch(genQo.getMapperSwitch() || getProperty().getMapperSwitch()); contextConfig.setModelSwitch(genQo.getModelSwitch() || getProperty().getMapperSwitch()); contextConfig.setQuerySwitch(genQo.getQuerySwitch() || getProperty().getQuerySwitch()); // 查询参数对象 super.setQueryTableInfo(genQo.getQueryTableInfo()); } @Override protected void config() { dataSourceConfig(); contextConfig(); } private GenQo getProperty() { return SpringUtil.getBean(GenQo.class); } }