mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-22 23:31:52 +08:00
项目结构调整 x 19 : 解决多数据源后,数据库文档导出问题
This commit is contained in:
parent
8a13470f9c
commit
8e6fa3db55
@ -9,6 +9,8 @@ import cn.smallbun.screw.core.engine.EngineFileType;
|
|||||||
import cn.smallbun.screw.core.engine.EngineTemplateType;
|
import cn.smallbun.screw.core.engine.EngineTemplateType;
|
||||||
import cn.smallbun.screw.core.execute.DocumentationExecute;
|
import cn.smallbun.screw.core.execute.DocumentationExecute;
|
||||||
import cn.smallbun.screw.core.process.ProcessConfig;
|
import cn.smallbun.screw.core.process.ProcessConfig;
|
||||||
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
||||||
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties;
|
||||||
import com.zaxxer.hikari.HikariConfig;
|
import com.zaxxer.hikari.HikariConfig;
|
||||||
import com.zaxxer.hikari.HikariDataSource;
|
import com.zaxxer.hikari.HikariDataSource;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
@ -32,7 +34,7 @@ import java.util.Collections;
|
|||||||
public class InfDbDocController {
|
public class InfDbDocController {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private DataSourceProperties dataSourceProperties;
|
private DynamicDataSourceProperties dynamicDataSourceProperties;
|
||||||
|
|
||||||
private static final String FILE_OUTPUT_DIR = System.getProperty("java.io.tmpdir") + File.separator
|
private static final String FILE_OUTPUT_DIR = System.getProperty("java.io.tmpdir") + File.separator
|
||||||
+ "db-doc";
|
+ "db-doc";
|
||||||
@ -114,11 +116,14 @@ public class InfDbDocController {
|
|||||||
*/
|
*/
|
||||||
// TODO 芋艿:screw 暂时不支持 druid,尴尬
|
// TODO 芋艿:screw 暂时不支持 druid,尴尬
|
||||||
private HikariDataSource buildDataSource() {
|
private HikariDataSource buildDataSource() {
|
||||||
|
// 获得 DataSource 数据源,目前只支持首个
|
||||||
|
String primary = dynamicDataSourceProperties.getPrimary();
|
||||||
|
DataSourceProperty dataSourceProperty = dynamicDataSourceProperties.getDatasource().get(primary);
|
||||||
// 创建 HikariConfig 配置类
|
// 创建 HikariConfig 配置类
|
||||||
HikariConfig hikariConfig = new HikariConfig();
|
HikariConfig hikariConfig = new HikariConfig();
|
||||||
hikariConfig.setJdbcUrl(dataSourceProperties.getUrl());
|
hikariConfig.setJdbcUrl(dataSourceProperty.getUrl());
|
||||||
hikariConfig.setUsername(dataSourceProperties.getUsername());
|
hikariConfig.setUsername(dataSourceProperty.getUsername());
|
||||||
hikariConfig.setPassword(dataSourceProperties.getPassword());
|
hikariConfig.setPassword(dataSourceProperty.getPassword());
|
||||||
hikariConfig.addDataSourceProperty("useInformationSchema", "true"); // 设置可以获取 tables remarks 信息
|
hikariConfig.addDataSourceProperty("useInformationSchema", "true"); // 设置可以获取 tables remarks 信息
|
||||||
// 创建数据源
|
// 创建数据源
|
||||||
return new HikariDataSource(hikariConfig);
|
return new HikariDataSource(hikariConfig);
|
||||||
|
@ -1,21 +1,19 @@
|
|||||||
package cn.iocoder.yudao.adminserver.modules.tool.convert.test;
|
package cn.iocoder.yudao.adminserver.modules.tool.convert.test;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.ToolTestDemoCreateReqVO;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.ToolTestDemoExcelVO;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.ToolTestDemoRespVO;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.ToolTestDemoUpdateReqVO;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
|
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.factory.Mappers;
|
import org.mapstruct.factory.Mappers;
|
||||||
|
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.*;
|
||||||
import java.util.List;
|
import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字典类型 Convert
|
* 字典类型 Convert
|
||||||
*
|
*
|
||||||
* @author 芋艿
|
* @author 芋艿
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface ToolTestDemoConvert {
|
public interface ToolTestDemoConvert {
|
||||||
|
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
package cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test;
|
package cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
|
||||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
import java.util.*;
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字典类型 DO
|
* 字典类型 DO
|
||||||
*
|
*
|
||||||
* @author 芋艿
|
* @author 芋艿
|
||||||
*/
|
*/
|
||||||
@TableName("tool_test_demo")
|
@TableName("tool_test_demo")
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@ -31,20 +30,14 @@ public class ToolTestDemoDO extends BaseDO {
|
|||||||
private String name;
|
private String name;
|
||||||
/**
|
/**
|
||||||
* 状态
|
* 状态
|
||||||
*
|
|
||||||
* 枚举 {@link CommonStatusEnum}
|
|
||||||
*/
|
*/
|
||||||
private Integer status;
|
private Integer status;
|
||||||
/**
|
/**
|
||||||
* 类型
|
* 类型
|
||||||
*
|
|
||||||
* 枚举 {@link cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum}
|
|
||||||
*/
|
*/
|
||||||
private Integer type;
|
private Integer type;
|
||||||
/**
|
/**
|
||||||
* 分类
|
* 分类
|
||||||
*
|
|
||||||
* 枚举 {@link cn.iocoder.yudao.framework.redis.core.RedisKeyDefine.TimeoutTypeEnum}
|
|
||||||
*/
|
*/
|
||||||
private Integer category;
|
private Integer category;
|
||||||
/**
|
/**
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
package cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.test;
|
package cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.test;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.ToolTestDemoExportReqVO;
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.ToolTestDemoPageReqVO;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
|
import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.*;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字典类型 Mapper
|
* 字典类型 Mapper
|
||||||
@ -26,7 +25,7 @@ public interface ToolTestDemoMapper extends BaseMapperX<ToolTestDemoDO> {
|
|||||||
.eqIfPresent("category", reqVO.getCategory())
|
.eqIfPresent("category", reqVO.getCategory())
|
||||||
.eqIfPresent("remark", reqVO.getRemark())
|
.eqIfPresent("remark", reqVO.getRemark())
|
||||||
.betweenIfPresent("create_time", reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
|
.betweenIfPresent("create_time", reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
|
||||||
);
|
.orderByDesc("id"));
|
||||||
}
|
}
|
||||||
|
|
||||||
default List<ToolTestDemoDO> selectList(ToolTestDemoExportReqVO reqVO) {
|
default List<ToolTestDemoDO> selectList(ToolTestDemoExportReqVO reqVO) {
|
||||||
@ -37,7 +36,7 @@ public interface ToolTestDemoMapper extends BaseMapperX<ToolTestDemoDO> {
|
|||||||
.eqIfPresent("category", reqVO.getCategory())
|
.eqIfPresent("category", reqVO.getCategory())
|
||||||
.eqIfPresent("remark", reqVO.getRemark())
|
.eqIfPresent("remark", reqVO.getRemark())
|
||||||
.betweenIfPresent("create_time", reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
|
.betweenIfPresent("create_time", reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
|
||||||
);
|
.orderByDesc("id"));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,12 @@
|
|||||||
|
package cn.iocoder.yudao.adminserver.modules.tool.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tool 字典类型的枚举类
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
public interface ToolDictTypeConstants {
|
||||||
|
|
||||||
|
String TEST_DEMO_TYPE = "tool_test_demo_type";
|
||||||
|
|
||||||
|
}
|
@ -125,8 +125,6 @@ public class ToolCodegenEngine {
|
|||||||
// VO 类,独有字段
|
// VO 类,独有字段
|
||||||
globalBindingMap.put("PageParamClassName", PageParam.class.getName());
|
globalBindingMap.put("PageParamClassName", PageParam.class.getName());
|
||||||
globalBindingMap.put("DictFormatClassName", DictFormat.class.getName());
|
globalBindingMap.put("DictFormatClassName", DictFormat.class.getName());
|
||||||
// TODO 芋艿:代码生成器,解决下枚举类
|
|
||||||
// globalBindingMap.put("SysDictTypeEnumClassName", SysDictTypeEnum.class.getName());
|
|
||||||
// DO 类,独有字段
|
// DO 类,独有字段
|
||||||
globalBindingMap.put("baseDOFields", ToolCodegenBuilder.BASE_DO_FIELDS);
|
globalBindingMap.put("baseDOFields", ToolCodegenBuilder.BASE_DO_FIELDS);
|
||||||
globalBindingMap.put("BaseDOClassName", BaseDO.class.getName());
|
globalBindingMap.put("BaseDOClassName", BaseDO.class.getName());
|
||||||
|
@ -1,15 +1,10 @@
|
|||||||
package cn.iocoder.yudao.adminserver.modules.tool.service.test;
|
package cn.iocoder.yudao.adminserver.modules.tool.service.test;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import java.util.*;
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.ToolTestDemoCreateReqVO;
|
import javax.validation.*;
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.ToolTestDemoExportReqVO;
|
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.*;
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.ToolTestDemoPageReqVO;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.ToolTestDemoUpdateReqVO;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
|
import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import javax.validation.Valid;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字典类型 Service 接口
|
* 字典类型 Service 接口
|
||||||
@ -68,7 +63,7 @@ public interface ToolTestDemoService {
|
|||||||
* 获得字典类型列表, 用于 Excel 导出
|
* 获得字典类型列表, 用于 Excel 导出
|
||||||
*
|
*
|
||||||
* @param exportReqVO 查询条件
|
* @param exportReqVO 查询条件
|
||||||
* @return 字典类型分页
|
* @return 字典类型列表
|
||||||
*/
|
*/
|
||||||
List<ToolTestDemoDO> getTestDemoList(ToolTestDemoExportReqVO exportReqVO);
|
List<ToolTestDemoDO> getTestDemoList(ToolTestDemoExportReqVO exportReqVO);
|
||||||
|
|
||||||
|
@ -1,23 +1,20 @@
|
|||||||
package cn.iocoder.yudao.adminserver.modules.tool.service.test.impl;
|
package cn.iocoder.yudao.adminserver.modules.tool.service.test.impl;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.ToolTestDemoCreateReqVO;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.ToolTestDemoExportReqVO;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.ToolTestDemoPageReqVO;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.ToolTestDemoUpdateReqVO;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.convert.test.ToolTestDemoConvert;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.test.ToolTestDemoMapper;
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.tool.service.test.ToolTestDemoService;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import javax.annotation.Resource;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import java.util.*;
|
||||||
import java.util.Collection;
|
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.*;
|
||||||
import java.util.List;
|
import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.adminserver.modules.tool.enums.ToolErrorCodeConstants.TEST_DEMO_NOT_EXISTS;
|
import cn.iocoder.yudao.adminserver.modules.tool.convert.test.ToolTestDemoConvert;
|
||||||
|
import cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.test.ToolTestDemoMapper;
|
||||||
|
import cn.iocoder.yudao.adminserver.modules.tool.service.test.ToolTestDemoService;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
|
import static cn.iocoder.yudao.adminserver.modules.tool.enums.ToolErrorCodeConstants.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字典类型 Service 实现类
|
* 字典类型 Service 实现类
|
||||||
@ -53,13 +50,13 @@ public class ToolTestDemoServiceImpl implements ToolTestDemoService {
|
|||||||
public void deleteTestDemo(Long id) {
|
public void deleteTestDemo(Long id) {
|
||||||
// 校验存在
|
// 校验存在
|
||||||
this.validateTestDemoExists(id);
|
this.validateTestDemoExists(id);
|
||||||
// 更新
|
// 删除
|
||||||
testDemoMapper.deleteById(id);
|
testDemoMapper.deleteById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void validateTestDemoExists(Long id) {
|
private void validateTestDemoExists(Long id) {
|
||||||
if (testDemoMapper.selectById(id) == null) {
|
if (testDemoMapper.selectById(id) == null) {
|
||||||
throw ServiceExceptionUtil.exception(TEST_DEMO_NOT_EXISTS);
|
throw exception(TEST_DEMO_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,6 @@ import com.alibaba.excel.annotation.ExcelProperty;
|
|||||||
import ${DictFormatClassName};
|
import ${DictFormatClassName};
|
||||||
import ${DictConvertClassName};
|
import ${DictConvertClassName};
|
||||||
|
|
||||||
import static ${SysDictTypeEnumClassName}.*;
|
|
||||||
#break
|
#break
|
||||||
#end
|
#end
|
||||||
#end
|
#end
|
||||||
@ -27,7 +26,7 @@ public class ${table.className}ExcelVO {
|
|||||||
#if (${column.listOperationResult})##返回字段
|
#if (${column.listOperationResult})##返回字段
|
||||||
#if ("$!column.dictType" != "")##处理枚举值
|
#if ("$!column.dictType" != "")##处理枚举值
|
||||||
@ExcelProperty(value = "${column.columnComment}", converter = DictConvert.class)
|
@ExcelProperty(value = "${column.columnComment}", converter = DictConvert.class)
|
||||||
@DictFormat(${column.dictType.toUpperCase()})
|
@DictFormat("${column.dictType}") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
|
||||||
#else
|
#else
|
||||||
@ExcelProperty("${column.columnComment}")
|
@ExcelProperty("${column.columnComment}")
|
||||||
#end
|
#end
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package ${basePackage}.modules.${table.moduleName}.service.${table.businessName}.impl;
|
package ${basePackage}.modules.${table.moduleName}.service.${table.businessName}.impl;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
@ -14,9 +13,7 @@ import ${basePackage}.modules.${table.moduleName}.convert.${table.businessName}.
|
|||||||
import ${basePackage}.modules.${table.moduleName}.dal.mysql.${table.businessName}.${table.className}Mapper;
|
import ${basePackage}.modules.${table.moduleName}.dal.mysql.${table.businessName}.${table.className}Mapper;
|
||||||
import ${basePackage}.modules.${table.moduleName}.service.${table.businessName}.${table.className}Service;
|
import ${basePackage}.modules.${table.moduleName}.service.${table.businessName}.${table.className}Service;
|
||||||
|
|
||||||
import ${ServiceExceptionUtilClassName};
|
import static ${ServiceExceptionUtilClassName}.exception;
|
||||||
|
|
||||||
import static cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil.exception;
|
|
||||||
import static ${basePackage}.modules.${table.moduleName}.enums.${simpleModuleName_upperFirst}ErrorCodeConstants.*;
|
import static ${basePackage}.modules.${table.moduleName}.enums.${simpleModuleName_upperFirst}ErrorCodeConstants.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user