mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	项目结构调整 x 19 : 解决多数据源后,数据库文档导出问题
This commit is contained in:
		@@ -9,6 +9,8 @@ import cn.smallbun.screw.core.engine.EngineFileType;
 | 
			
		||||
import cn.smallbun.screw.core.engine.EngineTemplateType;
 | 
			
		||||
import cn.smallbun.screw.core.execute.DocumentationExecute;
 | 
			
		||||
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.HikariDataSource;
 | 
			
		||||
import io.swagger.annotations.Api;
 | 
			
		||||
@@ -32,7 +34,7 @@ import java.util.Collections;
 | 
			
		||||
public class InfDbDocController {
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
    private DataSourceProperties dataSourceProperties;
 | 
			
		||||
    private DynamicDataSourceProperties dynamicDataSourceProperties;
 | 
			
		||||
 | 
			
		||||
    private static final String FILE_OUTPUT_DIR = System.getProperty("java.io.tmpdir") + File.separator
 | 
			
		||||
            + "db-doc";
 | 
			
		||||
@@ -114,11 +116,14 @@ public class InfDbDocController {
 | 
			
		||||
     */
 | 
			
		||||
    // TODO 芋艿:screw 暂时不支持 druid,尴尬
 | 
			
		||||
    private HikariDataSource buildDataSource() {
 | 
			
		||||
        // 获得 DataSource 数据源,目前只支持首个
 | 
			
		||||
        String primary = dynamicDataSourceProperties.getPrimary();
 | 
			
		||||
        DataSourceProperty dataSourceProperty = dynamicDataSourceProperties.getDatasource().get(primary);
 | 
			
		||||
        // 创建 HikariConfig 配置类
 | 
			
		||||
        HikariConfig hikariConfig = new HikariConfig();
 | 
			
		||||
        hikariConfig.setJdbcUrl(dataSourceProperties.getUrl());
 | 
			
		||||
        hikariConfig.setUsername(dataSourceProperties.getUsername());
 | 
			
		||||
        hikariConfig.setPassword(dataSourceProperties.getPassword());
 | 
			
		||||
        hikariConfig.setJdbcUrl(dataSourceProperty.getUrl());
 | 
			
		||||
        hikariConfig.setUsername(dataSourceProperty.getUsername());
 | 
			
		||||
        hikariConfig.setPassword(dataSourceProperty.getPassword());
 | 
			
		||||
        hikariConfig.addDataSourceProperty("useInformationSchema", "true"); // 设置可以获取 tables remarks 信息
 | 
			
		||||
        // 创建数据源
 | 
			
		||||
        return new HikariDataSource(hikariConfig);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,21 +1,19 @@
 | 
			
		||||
package cn.iocoder.yudao.adminserver.modules.tool.convert.test;
 | 
			
		||||
 | 
			
		||||
import java.util.*;
 | 
			
		||||
 | 
			
		||||
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.factory.Mappers;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.*;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
* 字典类型 Convert
 | 
			
		||||
*
 | 
			
		||||
* @author 芋艿
 | 
			
		||||
*/
 | 
			
		||||
 * 字典类型 Convert
 | 
			
		||||
 *
 | 
			
		||||
 * @author 芋艿
 | 
			
		||||
 */
 | 
			
		||||
@Mapper
 | 
			
		||||
public interface ToolTestDemoConvert {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,16 +1,15 @@
 | 
			
		||||
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 java.util.*;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.*;
 | 
			
		||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
* 字典类型 DO
 | 
			
		||||
*
 | 
			
		||||
* @author 芋艿
 | 
			
		||||
*/
 | 
			
		||||
 * 字典类型 DO
 | 
			
		||||
 *
 | 
			
		||||
 * @author 芋艿
 | 
			
		||||
 */
 | 
			
		||||
@TableName("tool_test_demo")
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
@@ -31,20 +30,14 @@ public class ToolTestDemoDO extends BaseDO {
 | 
			
		||||
    private String name;
 | 
			
		||||
    /**
 | 
			
		||||
     * 状态
 | 
			
		||||
     *
 | 
			
		||||
     * 枚举 {@link CommonStatusEnum}
 | 
			
		||||
     */
 | 
			
		||||
    private Integer status;
 | 
			
		||||
    /**
 | 
			
		||||
     * 类型
 | 
			
		||||
     *
 | 
			
		||||
     * 枚举 {@link cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum}
 | 
			
		||||
     */
 | 
			
		||||
    private Integer type;
 | 
			
		||||
    /**
 | 
			
		||||
     * 分类
 | 
			
		||||
     *
 | 
			
		||||
     * 枚举 {@link cn.iocoder.yudao.framework.redis.core.RedisKeyDefine.TimeoutTypeEnum}
 | 
			
		||||
     */
 | 
			
		||||
    private Integer category;
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -1,14 +1,13 @@
 | 
			
		||||
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.mybatis.core.mapper.BaseMapperX;
 | 
			
		||||
import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
 | 
			
		||||
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.framework.mybatis.core.mapper.BaseMapperX;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
 | 
			
		||||
import org.apache.ibatis.annotations.Mapper;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.*;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 字典类型 Mapper
 | 
			
		||||
@@ -26,7 +25,7 @@ public interface ToolTestDemoMapper extends BaseMapperX<ToolTestDemoDO> {
 | 
			
		||||
                .eqIfPresent("category", reqVO.getCategory())
 | 
			
		||||
                .eqIfPresent("remark", reqVO.getRemark())
 | 
			
		||||
                .betweenIfPresent("create_time", reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
 | 
			
		||||
        );
 | 
			
		||||
                .orderByDesc("id"));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    default List<ToolTestDemoDO> selectList(ToolTestDemoExportReqVO reqVO) {
 | 
			
		||||
@@ -37,7 +36,7 @@ public interface ToolTestDemoMapper extends BaseMapperX<ToolTestDemoDO> {
 | 
			
		||||
                .eqIfPresent("category", reqVO.getCategory())
 | 
			
		||||
                .eqIfPresent("remark", reqVO.getRemark())
 | 
			
		||||
                .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 类,独有字段
 | 
			
		||||
        globalBindingMap.put("PageParamClassName", PageParam.class.getName());
 | 
			
		||||
        globalBindingMap.put("DictFormatClassName", DictFormat.class.getName());
 | 
			
		||||
        // TODO 芋艿:代码生成器,解决下枚举类
 | 
			
		||||
//        globalBindingMap.put("SysDictTypeEnumClassName", SysDictTypeEnum.class.getName());
 | 
			
		||||
        // DO 类,独有字段
 | 
			
		||||
        globalBindingMap.put("baseDOFields", ToolCodegenBuilder.BASE_DO_FIELDS);
 | 
			
		||||
        globalBindingMap.put("BaseDOClassName", BaseDO.class.getName());
 | 
			
		||||
 
 | 
			
		||||
@@ -1,15 +1,10 @@
 | 
			
		||||
package cn.iocoder.yudao.adminserver.modules.tool.service.test;
 | 
			
		||||
 | 
			
		||||
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 java.util.*;
 | 
			
		||||
import javax.validation.*;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.*;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
 | 
			
		||||
 | 
			
		||||
import javax.validation.Valid;
 | 
			
		||||
import java.util.Collection;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 字典类型 Service 接口
 | 
			
		||||
@@ -68,7 +63,7 @@ public interface ToolTestDemoService {
 | 
			
		||||
     * 获得字典类型列表, 用于 Excel 导出
 | 
			
		||||
     *
 | 
			
		||||
     * @param exportReqVO 查询条件
 | 
			
		||||
     * @return 字典类型分页
 | 
			
		||||
     * @return 字典类型列表
 | 
			
		||||
     */
 | 
			
		||||
    List<ToolTestDemoDO> getTestDemoList(ToolTestDemoExportReqVO exportReqVO);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,23 +1,20 @@
 | 
			
		||||
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 javax.annotation.Resource;
 | 
			
		||||
import org.springframework.validation.annotation.Validated;
 | 
			
		||||
 | 
			
		||||
import javax.annotation.Resource;
 | 
			
		||||
import java.util.Collection;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.*;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.*;
 | 
			
		||||
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 实现类
 | 
			
		||||
@@ -53,13 +50,13 @@ public class ToolTestDemoServiceImpl implements ToolTestDemoService {
 | 
			
		||||
    public void deleteTestDemo(Long id) {
 | 
			
		||||
        // 校验存在
 | 
			
		||||
        this.validateTestDemoExists(id);
 | 
			
		||||
        // 更新
 | 
			
		||||
        // 删除
 | 
			
		||||
        testDemoMapper.deleteById(id);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void validateTestDemoExists(Long id) {
 | 
			
		||||
        if (testDemoMapper.selectById(id) == null) {
 | 
			
		||||
            throw ServiceExceptionUtil.exception(TEST_DEMO_NOT_EXISTS);
 | 
			
		||||
            throw exception(TEST_DEMO_NOT_EXISTS);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -75,12 +72,12 @@ public class ToolTestDemoServiceImpl implements ToolTestDemoService {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public PageResult<ToolTestDemoDO> getTestDemoPage(ToolTestDemoPageReqVO pageReqVO) {
 | 
			
		||||
		return testDemoMapper.selectPage(pageReqVO);
 | 
			
		||||
        return testDemoMapper.selectPage(pageReqVO);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<ToolTestDemoDO> getTestDemoList(ToolTestDemoExportReqVO exportReqVO) {
 | 
			
		||||
		return testDemoMapper.selectList(exportReqVO);
 | 
			
		||||
        return testDemoMapper.selectList(exportReqVO);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user