Commit e52a966b8186a45dc4674f1eed7643136cfad250
1 parent
cba217cc
完善积木报表的集成
Showing
10 changed files
with
53 additions
and
31 deletions
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
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/package-info.java
0 → 100644
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 | 36 | import java.util.concurrent.CountDownLatch; |
| 37 | 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 | 42 | * 支付通知 Core Service 实现类 |
| 41 | 43 | * |
| ... | ... | @@ -67,9 +69,8 @@ public class PayNotifyServiceImpl implements PayNotifyService { |
| 67 | 69 | @Resource |
| 68 | 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 | 75 | @Resource |
| 75 | 76 | private PayNotifyLockRedisDAO payNotifyLockCoreRedisDAO; |
| ... | ... | @@ -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 | 126 | return tasks.size(); |
| 126 | 127 | } | ... | ... |
yudao-module-visualization/yudao-module-visualization-biz/pom.xml
| ... | ... | @@ -26,7 +26,7 @@ |
| 26 | 26 | |
| 27 | 27 | <dependency> |
| 28 | 28 | <groupId>cn.iocoder.boot</groupId> |
| 29 | - <artifactId>yudao-module-system-biz</artifactId> | |
| 29 | + <artifactId>yudao-module-system-api</artifactId> | |
| 30 | 30 | <version>${revision}</version> |
| 31 | 31 | </dependency> |
| 32 | 32 | |
| ... | ... | @@ -35,6 +35,10 @@ |
| 35 | 35 | <groupId>cn.iocoder.boot</groupId> |
| 36 | 36 | <artifactId>yudao-spring-boot-starter-biz-operatelog</artifactId> |
| 37 | 37 | </dependency> |
| 38 | + <dependency> | |
| 39 | + <groupId>cn.iocoder.boot</groupId> | |
| 40 | + <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId> | |
| 41 | + </dependency> | |
| 38 | 42 | |
| 39 | 43 | <!-- Web 相关 --> |
| 40 | 44 | <dependency> |
| ... | ... | @@ -63,12 +67,6 @@ |
| 63 | 67 | <dependency> |
| 64 | 68 | <groupId>org.jeecgframework.jimureport</groupId> |
| 65 | 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 | 70 | </dependency> |
| 73 | 71 | |
| 74 | 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 | 4 | import cn.iocoder.yudao.module.visualization.framework.jmreport.core.service.JmReportTokenServiceImpl; |
| 5 | 5 | import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; |
| 6 | 6 | import org.springframework.context.annotation.Bean; |
| 7 | +import org.springframework.context.annotation.ComponentScan; | |
| 7 | 8 | import org.springframework.context.annotation.Configuration; |
| 8 | 9 | |
| 9 | 10 | /** |
| ... | ... | @@ -12,6 +13,7 @@ import org.springframework.context.annotation.Configuration; |
| 12 | 13 | * @author 芋道源码 |
| 13 | 14 | */ |
| 14 | 15 | @Configuration |
| 16 | +@ComponentScan(basePackages = "org.jeecg.modules.jmreport") // 扫描积木报表的包 | |
| 15 | 17 | public class JmReportConfiguration { |
| 16 | 18 | |
| 17 | 19 | @Bean | ... | ... |
yudao-server/src/main/java/cn/iocoder/yudao/server/YudaoServerApplication.java
| ... | ... | @@ -13,7 +13,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; |
| 13 | 13 | * @author 芋道源码 |
| 14 | 14 | */ |
| 15 | 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 | 17 | public class YudaoServerApplication { |
| 18 | 18 | |
| 19 | 19 | public static void main(String[] args) { | ... | ... |
yudao-server/src/main/resources/application-dev.yaml
| ... | ... | @@ -8,6 +8,7 @@ spring: |
| 8 | 8 | autoconfigure: |
| 9 | 9 | exclude: |
| 10 | 10 | - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源 |
| 11 | + - org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration # 排除积木报表带来的 MongoDB 的自动配置 | |
| 11 | 12 | datasource: |
| 12 | 13 | druid: # Druid 【监控】相关的全局配置 |
| 13 | 14 | web-stat-filter: | ... | ... |
yudao-server/src/main/resources/application-local.yaml
| ... | ... | @@ -8,6 +8,7 @@ spring: |
| 8 | 8 | autoconfigure: |
| 9 | 9 | exclude: |
| 10 | 10 | - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源 |
| 11 | + - org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration # 排除积木报表带来的 MongoDB 的自动配置 | |
| 11 | 12 | datasource: |
| 12 | 13 | druid: # Druid 【监控】相关的全局配置 |
| 13 | 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> |