Commit 183bb5855ab47231821125b774468a4dfa430a56

Authored by YunaiV
1 parent 8e21b520

解决 db doc 导出的报错问题

ruoyi-common/src/main/java/com/ruoyi/common/config/ResourcesConfig.java
... ... @@ -20,19 +20,10 @@ import com.ruoyi.framework.interceptor.RepeatSubmitInterceptor;
20 20 */
21 21 @Configuration
22 22 public class ResourcesConfig implements WebMvcConfigurer {
  23 +
23 24 @Autowired
24 25 private RepeatSubmitInterceptor repeatSubmitInterceptor;
25 26  
26   - @Override
27   - public void addResourceHandlers(ResourceHandlerRegistry registry) {
28   - /** 本地文件上传路径 */
29   - registry.addResourceHandler(Constants.RESOURCE_PREFIX + "/**").addResourceLocations("file:" + RuoYiConfig.getProfile() + "/");
30   -
31   - /** swagger配置 */
32   - registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
33   - registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
34   - }
35   -
36 27 /**
37 28 * 自定义拦截规则
38 29 */
... ...
ruoyi-common/src/main/java/com/ruoyi/common/config/properties/DruidProperties.java deleted
1   -package com.ruoyi.framework.config.properties;
2   -
3   -import org.springframework.beans.factory.annotation.Value;
4   -import org.springframework.context.annotation.Configuration;
5   -import com.alibaba.druid.pool.DruidDataSource;
6   -
7   -/**
8   - * druid 配置属性
9   - *
10   - * @author ruoyi
11   - */
12   -@Configuration
13   -public class DruidProperties {
14   - @Value("${spring.datasource.druid.initialSize}")
15   - private int initialSize;
16   -
17   - @Value("${spring.datasource.druid.minIdle}")
18   - private int minIdle;
19   -
20   - @Value("${spring.datasource.druid.maxActive}")
21   - private int maxActive;
22   -
23   - @Value("${spring.datasource.druid.maxWait}")
24   - private int maxWait;
25   -
26   - @Value("${spring.datasource.druid.timeBetweenEvictionRunsMillis}")
27   - private int timeBetweenEvictionRunsMillis;
28   -
29   - @Value("${spring.datasource.druid.minEvictableIdleTimeMillis}")
30   - private int minEvictableIdleTimeMillis;
31   -
32   - @Value("${spring.datasource.druid.maxEvictableIdleTimeMillis}")
33   - private int maxEvictableIdleTimeMillis;
34   -
35   - @Value("${spring.datasource.druid.validationQuery}")
36   - private String validationQuery;
37   -
38   - @Value("${spring.datasource.druid.testWhileIdle}")
39   - private boolean testWhileIdle;
40   -
41   - @Value("${spring.datasource.druid.testOnBorrow}")
42   - private boolean testOnBorrow;
43   -
44   - @Value("${spring.datasource.druid.testOnReturn}")
45   - private boolean testOnReturn;
46   -
47   - public DruidDataSource dataSource(DruidDataSource datasource) {
48   - /** 配置初始化大小、最小、最大 */
49   - datasource.setInitialSize(initialSize);
50   - datasource.setMaxActive(maxActive);
51   - datasource.setMinIdle(minIdle);
52   -
53   - /** 配置获取连接等待超时的时间 */
54   - datasource.setMaxWait(maxWait);
55   -
56   - /** 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 */
57   - datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
58   -
59   - /** 配置一个连接在池中最小、最大生存的时间,单位是毫秒 */
60   - datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
61   - datasource.setMaxEvictableIdleTimeMillis(maxEvictableIdleTimeMillis);
62   -
63   - /**
64   - * 用来检测连接是否有效的sql,要求是一个查询语句,常用select 'x'。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。
65   - */
66   - datasource.setValidationQuery(validationQuery);
67   - /** 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。 */
68   - datasource.setTestWhileIdle(testWhileIdle);
69   - /** 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 */
70   - datasource.setTestOnBorrow(testOnBorrow);
71   - /** 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 */
72   - datasource.setTestOnReturn(testOnReturn);
73   - return datasource;
74   - }
75   -}
src/main/java/cn/iocoder/dashboard/modules/infra/controller/doc/InfDbDocController.java
... ... @@ -44,28 +44,31 @@ public class InfDbDocController {
44 44  
45 45 @GetMapping("/export-html")
46 46 public synchronized void exportHtml(HttpServletResponse response) throws FileNotFoundException {
47   - // 创建 screw 的配置
48   - Configuration config = Configuration.builder()
49   - .version(DOC_VERSION) // 版本
50   - .description(DOC_DESCRIPTION) // 描述
51   - .dataSource(buildDataSource()) // 数据源
52   - .engineConfig(buildEngineConfig()) // 引擎配置
53   - .produceConfig(buildProcessConfig()) // 处理配置
54   - .build();
  47 + try (HikariDataSource dataSource = buildDataSource()) {
  48 + // 创建 screw 的配置
  49 + Configuration config = Configuration.builder()
  50 + .version(DOC_VERSION) // 版本
  51 + .description(DOC_DESCRIPTION) // 描述
  52 + .dataSource(dataSource) // 数据源
  53 + .engineConfig(buildEngineConfig()) // 引擎配置
  54 + .produceConfig(buildProcessConfig()) // 处理配置
  55 + .build();
55 56  
56   - // 执行 screw,生成数据库文档
57   - new DocumentationExecute(config).execute();
  57 + // 执行 screw,生成数据库文档
  58 + new DocumentationExecute(config).execute();
58 59  
59   - // 读取,返回
60   - ServletUtil.write(response,
61   - new FileInputStream(FILE_OUTPUT_DIR + File.separator + DOC_FILE_NAME + FILE_OUTPUT_TYPE.getFileSuffix()),
62   - MediaType.TEXT_HTML_VALUE);
  60 + // 读取,返回
  61 + ServletUtil.write(response,
  62 + new FileInputStream(FILE_OUTPUT_DIR + File.separator + DOC_FILE_NAME + FILE_OUTPUT_TYPE.getFileSuffix()),
  63 + MediaType.TEXT_HTML_VALUE);
  64 + }
63 65 }
64 66  
65 67 /**
66 68 * 创建数据源
67 69 */
68   - private DataSource buildDataSource() {
  70 + // TODO 芋艿:screw 暂时不支持 druid,尴尬
  71 + private HikariDataSource buildDataSource() {
69 72 // 创建 HikariConfig 配置类
70 73 HikariConfig hikariConfig = new HikariConfig();
71 74 // hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
... ...
src/main/java/cn/iocoder/dashboard/modules/system/service/logger/impl/SysLoginLogServiceImpl.java
... ... @@ -5,10 +5,9 @@ import cn.iocoder.dashboard.modules.system.controller.logger.vo.loginlog.SysLogi
5 5 import cn.iocoder.dashboard.modules.system.controller.logger.vo.loginlog.SysLoginLogExportReqVO;
6 6 import cn.iocoder.dashboard.modules.system.controller.logger.vo.loginlog.SysLoginLogPageReqVO;
7 7 import cn.iocoder.dashboard.modules.system.convert.logger.SysLoginLogConvert;
8   -import cn.iocoder.dashboard.modules.system.dal.mysql.logger.SysLoginLogMapper;
9 8 import cn.iocoder.dashboard.modules.system.dal.dataobject.logger.SysLoginLogDO;
  9 +import cn.iocoder.dashboard.modules.system.dal.mysql.logger.SysLoginLogMapper;
10 10 import cn.iocoder.dashboard.modules.system.service.logger.SysLoginLogService;
11   -import cn.iocoder.dashboard.modules.system.service.user.SysUserService;
12 11 import org.springframework.stereotype.Service;
13 12  
14 13 import javax.annotation.Resource;
... ... @@ -23,9 +22,6 @@ public class SysLoginLogServiceImpl implements SysLoginLogService {
23 22 @Resource
24 23 private SysLoginLogMapper loginLogMapper;
25 24  
26   - @Resource
27   - private SysUserService userService;
28   -
29 25 @Override
30 26 public void createLoginLog(SysLoginLogCreateReqVO reqVO) {
31 27 SysLoginLogDO loginLog = SysLoginLogConvert.INSTANCE.convert(reqVO);
... ...