Commit e52a966b8186a45dc4674f1eed7643136cfad250

Authored by YunaiV
1 parent cba217cc

完善积木报表的集成

yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/job/config/PayJobConfiguration.java 0 → 100644
  1 +package cn.iocoder.yudao.module.pay.framework.job.config;
  2 +
  3 +import org.springframework.context.annotation.Bean;
  4 +import org.springframework.context.annotation.Configuration;
  5 +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
  6 +
  7 +import java.util.concurrent.ThreadPoolExecutor;
  8 +
  9 +@Configuration
  10 +public class PayJobConfiguration {
  11 +
  12 + public static final String NOTIFY_THREAD_POOL_TASK_EXECUTOR = "NOTIFY_THREAD_POOL_TASK_EXECUTOR";
  13 +
  14 + @Bean(NOTIFY_THREAD_POOL_TASK_EXECUTOR)
  15 + public ThreadPoolTaskExecutor notifyThreadPoolTaskExecutor() {
  16 + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
  17 + executor.setCorePoolSize(8); // 设置核心线程数
  18 + executor.setMaxPoolSize(16); // 设置最大线程数
  19 + executor.setKeepAliveSeconds(60); // 设置空闲时间
  20 + executor.setQueueCapacity(100); // 设置队列大小
  21 + executor.setThreadNamePrefix("notify-task-"); // 配置线程池的前缀
  22 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
  23 + // 进行加载
  24 + executor.initialize();
  25 + return executor;
  26 + }
  27 +
  28 +}
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/job/core/package-info.java 0 → 100644
  1 +/**
  2 + * 占位
  3 + */
  4 +package cn.iocoder.yudao.module.pay.framework.job.core;
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/package-info.java 0 → 100644
  1 +/**
  2 + * 属于 pay 模块的 framework 封装
  3 + *
  4 + * @author 芋道源码
  5 + */
  6 +package cn.iocoder.yudao.module.pay.framework;
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/notify/PayNotifyServiceImpl.java
@@ -36,6 +36,8 @@ import java.util.Objects; @@ -36,6 +36,8 @@ import java.util.Objects;
36 import java.util.concurrent.CountDownLatch; 36 import java.util.concurrent.CountDownLatch;
37 import java.util.concurrent.TimeUnit; 37 import java.util.concurrent.TimeUnit;
38 38
  39 +import static cn.iocoder.yudao.module.pay.framework.job.config.PayJobConfiguration.NOTIFY_THREAD_POOL_TASK_EXECUTOR;
  40 +
39 /** 41 /**
40 * 支付通知 Core Service 实现类 42 * 支付通知 Core Service 实现类
41 * 43 *
@@ -67,9 +69,8 @@ public class PayNotifyServiceImpl implements PayNotifyService { @@ -67,9 +69,8 @@ public class PayNotifyServiceImpl implements PayNotifyService {
67 @Resource 69 @Resource
68 private PayNotifyLogCoreMapper payNotifyLogCoreMapper; 70 private PayNotifyLogCoreMapper payNotifyLogCoreMapper;
69 71
70 - @Resource  
71 - @Lazy  
72 - private ThreadPoolTaskExecutor threadPoolTaskExecutor; // TODO 芋艿:未来提供独立的线程池 72 + @Resource(name = NOTIFY_THREAD_POOL_TASK_EXECUTOR)
  73 + private ThreadPoolTaskExecutor threadPoolTaskExecutor;
73 74
74 @Resource 75 @Resource
75 private PayNotifyLockRedisDAO payNotifyLockCoreRedisDAO; 76 private PayNotifyLockRedisDAO payNotifyLockCoreRedisDAO;
@@ -120,7 +121,7 @@ public class PayNotifyServiceImpl implements PayNotifyService { @@ -120,7 +121,7 @@ public class PayNotifyServiceImpl implements PayNotifyService {
120 } 121 }
121 })); 122 }));
122 // 等待完成 123 // 等待完成
123 - this.awaitExecuteNotify(latch); 124 + awaitExecuteNotify(latch);
124 // 返回执行完成的任务数(成功 + 失败) 125 // 返回执行完成的任务数(成功 + 失败)
125 return tasks.size(); 126 return tasks.size();
126 } 127 }
yudao-module-visualization/yudao-module-visualization-biz/pom.xml
@@ -26,7 +26,7 @@ @@ -26,7 +26,7 @@
26 26
27 <dependency> 27 <dependency>
28 <groupId>cn.iocoder.boot</groupId> 28 <groupId>cn.iocoder.boot</groupId>
29 - <artifactId>yudao-module-system-biz</artifactId> 29 + <artifactId>yudao-module-system-api</artifactId>
30 <version>${revision}</version> 30 <version>${revision}</version>
31 </dependency> 31 </dependency>
32 32
@@ -35,6 +35,10 @@ @@ -35,6 +35,10 @@
35 <groupId>cn.iocoder.boot</groupId> 35 <groupId>cn.iocoder.boot</groupId>
36 <artifactId>yudao-spring-boot-starter-biz-operatelog</artifactId> 36 <artifactId>yudao-spring-boot-starter-biz-operatelog</artifactId>
37 </dependency> 37 </dependency>
  38 + <dependency>
  39 + <groupId>cn.iocoder.boot</groupId>
  40 + <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId>
  41 + </dependency>
38 42
39 <!-- Web 相关 --> 43 <!-- Web 相关 -->
40 <dependency> 44 <dependency>
@@ -63,12 +67,6 @@ @@ -63,12 +67,6 @@
63 <dependency> 67 <dependency>
64 <groupId>org.jeecgframework.jimureport</groupId> 68 <groupId>org.jeecgframework.jimureport</groupId>
65 <artifactId>jimureport-spring-boot-starter</artifactId> 69 <artifactId>jimureport-spring-boot-starter</artifactId>
66 - <exclusions>  
67 - <exclusion>  
68 - <artifactId>mongodb-driver-sync</artifactId> <!-- 暂时不使用 MongoDB -->  
69 - <groupId>org.mongodb</groupId>  
70 - </exclusion>  
71 - </exclusions>  
72 </dependency> 70 </dependency>
73 71
74 </dependencies> 72 </dependencies>
yudao-module-visualization/yudao-module-visualization-biz/src/main/java/cn/iocoder/yudao/module/visualization/framework/jmreport/config/JmReportConfiguration.java
@@ -4,6 +4,7 @@ import cn.iocoder.yudao.module.system.api.oauth2.OAuth2TokenApi; @@ -4,6 +4,7 @@ import cn.iocoder.yudao.module.system.api.oauth2.OAuth2TokenApi;
4 import cn.iocoder.yudao.module.visualization.framework.jmreport.core.service.JmReportTokenServiceImpl; 4 import cn.iocoder.yudao.module.visualization.framework.jmreport.core.service.JmReportTokenServiceImpl;
5 import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; 5 import org.jeecg.modules.jmreport.api.JmReportTokenServiceI;
6 import org.springframework.context.annotation.Bean; 6 import org.springframework.context.annotation.Bean;
  7 +import org.springframework.context.annotation.ComponentScan;
7 import org.springframework.context.annotation.Configuration; 8 import org.springframework.context.annotation.Configuration;
8 9
9 /** 10 /**
@@ -12,6 +13,7 @@ import org.springframework.context.annotation.Configuration; @@ -12,6 +13,7 @@ import org.springframework.context.annotation.Configuration;
12 * @author 芋道源码 13 * @author 芋道源码
13 */ 14 */
14 @Configuration 15 @Configuration
  16 +@ComponentScan(basePackages = "org.jeecg.modules.jmreport") // 扫描积木报表的包
15 public class JmReportConfiguration { 17 public class JmReportConfiguration {
16 18
17 @Bean 19 @Bean
yudao-server/src/main/java/cn/iocoder/yudao/server/YudaoServerApplication.java
@@ -13,7 +13,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -13,7 +13,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
13 * @author 芋道源码 13 * @author 芋道源码
14 */ 14 */
15 @SuppressWarnings("SpringComponentScan") // 忽略 IDEA 无法识别 ${yudao.info.base-package} 15 @SuppressWarnings("SpringComponentScan") // 忽略 IDEA 无法识别 ${yudao.info.base-package}
16 -@SpringBootApplication(scanBasePackages = {"${yudao.info.base-package}.server", "${yudao.info.base-package}.module", "org.jeecg.modules.jmreport"}) 16 +@SpringBootApplication(scanBasePackages = {"${yudao.info.base-package}.server", "${yudao.info.base-package}.module"})
17 public class YudaoServerApplication { 17 public class YudaoServerApplication {
18 18
19 public static void main(String[] args) { 19 public static void main(String[] args) {
yudao-server/src/main/resources/application-dev.yaml
@@ -8,6 +8,7 @@ spring: @@ -8,6 +8,7 @@ spring:
8 autoconfigure: 8 autoconfigure:
9 exclude: 9 exclude:
10 - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源 10 - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源
  11 + - org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration # 排除积木报表带来的 MongoDB 的自动配置
11 datasource: 12 datasource:
12 druid: # Druid 【监控】相关的全局配置 13 druid: # Druid 【监控】相关的全局配置
13 web-stat-filter: 14 web-stat-filter:
yudao-server/src/main/resources/application-local.yaml
@@ -8,6 +8,7 @@ spring: @@ -8,6 +8,7 @@ spring:
8 autoconfigure: 8 autoconfigure:
9 exclude: 9 exclude:
10 - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源 10 - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源
  11 + - org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration # 排除积木报表带来的 MongoDB 的自动配置
11 datasource: 12 datasource:
12 druid: # Druid 【监控】相关的全局配置 13 druid: # Druid 【监控】相关的全局配置
13 web-stat-filter: 14 web-stat-filter:
yudao-ui-admin/src/views/visualization/jm/index.vue deleted
1 -<template>  
2 - <div>  
3 - <doc-alert title="接口文档" url="https://doc.iocoder.cn/api-doc/" />  
4 - <i-frame :src="url" />  
5 - </div>  
6 -</template>  
7 -<script>  
8 -import iFrame from "@/components/iFrame/index";  
9 -import {getAccessToken} from "@/utils/auth";  
10 -export default {  
11 - name: "JimuReport",  
12 - components: { iFrame },  
13 - data() {  
14 - return {  
15 - url: process.env.VUE_APP_BASE_API + "/jmreport/list?token=" + getAccessToken(),  
16 - };  
17 - },  
18 -};  
19 -</script>