Commit 078ead536bef09b0ef78690ca12c3ac5bc3a46e9
1 parent
9a03f1a7
🐛 REPORT:支持 SaaS 租户模式
Showing
9 changed files
with
32 additions
and
22 deletions
yudao-dependencies/pom.xml
| ... | ... | @@ -71,7 +71,7 @@ |
| 71 | 71 | <aliyun-java-sdk-dysmsapi.version>2.2.1</aliyun-java-sdk-dysmsapi.version> |
| 72 | 72 | <tencentcloud-sdk-java.version>3.1.880</tencentcloud-sdk-java.version> |
| 73 | 73 | <justauth.version>2.0.5</justauth.version> |
| 74 | - <jimureport.version>1.6.1</jimureport.version> | |
| 74 | + <jimureport.version>1.6.6-beta2</jimureport.version> | |
| 75 | 75 | <xercesImpl.version>2.12.2</xercesImpl.version> |
| 76 | 76 | <weixin-java.version>4.5.7.B</weixin-java.version> |
| 77 | 77 | <ureport2.version>2.2.9</ureport2.version> |
| ... | ... | @@ -639,7 +639,7 @@ |
| 639 | 639 | <!-- 积木报表--> |
| 640 | 640 | <dependency> |
| 641 | 641 | <groupId>org.jeecgframework.jimureport</groupId> |
| 642 | - <artifactId>jimureport-spring-boot-starter</artifactId> | |
| 642 | + <artifactId>jimureport-spring-boot3-starter</artifactId> | |
| 643 | 643 | <version>${jimureport.version}</version> |
| 644 | 644 | <exclusions> |
| 645 | 645 | <exclusion> | ... | ... |
yudao-module-report/yudao-module-report-biz/pom.xml
| ... | ... | @@ -66,7 +66,7 @@ |
| 66 | 66 | <!-- 积木报表--> |
| 67 | 67 | <dependency> |
| 68 | 68 | <groupId>org.jeecgframework.jimureport</groupId> |
| 69 | - <artifactId>jimureport-spring-boot-starter</artifactId> | |
| 69 | + <artifactId>jimureport-spring-boot3-starter</artifactId> | |
| 70 | 70 | </dependency> |
| 71 | 71 | <!-- 单独依赖升级版本,解决低版本validator失败问题 --> |
| 72 | 72 | <dependency> | ... | ... |
yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/framework/jmreport/core/service/JmReportTokenServiceImpl.java
| ... | ... | @@ -11,6 +11,7 @@ import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; |
| 11 | 11 | import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; |
| 12 | 12 | import cn.iocoder.yudao.module.system.api.oauth2.OAuth2TokenApi; |
| 13 | 13 | import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO; |
| 14 | +import cn.iocoder.yudao.module.system.api.permission.RoleApi; | |
| 14 | 15 | import lombok.RequiredArgsConstructor; |
| 15 | 16 | import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; |
| 16 | 17 | import org.springframework.http.HttpHeaders; |
| ... | ... | @@ -128,4 +129,20 @@ public class JmReportTokenServiceImpl implements JmReportTokenServiceI { |
| 128 | 129 | return user; |
| 129 | 130 | } |
| 130 | 131 | |
| 132 | + @Override | |
| 133 | + public String[] getRoles(String s) { | |
| 134 | + // 暂时不用实现,因为不用 JmReport 的角色 | |
| 135 | + return null; | |
| 136 | + } | |
| 137 | + | |
| 138 | + @Override | |
| 139 | + public String getTenantId() { | |
| 140 | + // 补充说明:不能直接通过 TenantContext 获取,因为 jimu 报表前端请求时,没有带上 tenant-id Header | |
| 141 | + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); | |
| 142 | + if (loginUser == null) { | |
| 143 | + return null; | |
| 144 | + } | |
| 145 | + return StrUtil.toStringOrNull(loginUser.getTenantId()); | |
| 146 | + } | |
| 147 | + | |
| 131 | 148 | } | ... | ... |
yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/framework/ureport/config/UReportConfiguration.java
| 1 | 1 | package cn.iocoder.yudao.module.report.framework.ureport.config; |
| 2 | 2 | |
| 3 | -import com.bstek.ureport.console.UReportServlet; | |
| 4 | 3 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 5 | -import org.springframework.boot.web.servlet.ServletRegistrationBean; | |
| 6 | -import org.springframework.context.annotation.Bean; | |
| 7 | 4 | import org.springframework.context.annotation.Configuration; |
| 8 | 5 | import org.springframework.context.annotation.ImportResource; |
| 9 | 6 | import org.springframework.context.annotation.PropertySource; |
| 10 | 7 | |
| 11 | -import jakarta.servlet.Servlet; | |
| 12 | - | |
| 13 | 8 | /** |
| 14 | 9 | * UReport2 配置类 |
| 15 | 10 | * |
| 16 | 11 | * @author 赤焰 |
| 17 | 12 | */ |
| 18 | -@Configuration | |
| 13 | +// @Configuration TODO 芋艿:JDK21 暂时不支持 UReport2,原因是 Spring Boot 3 的 javax 替换成 jakarta 了 | |
| 19 | 14 | @ImportResource({"classpath:ureport-console-context.xml"}) |
| 20 | 15 | @PropertySource(value = {"classpath:ureport.properties"}) // TODO @赤焰:这个可以搞到 application.yaml 里么? |
| 21 | 16 | @EnableConfigurationProperties({UReportProperties.class}) |
| 22 | 17 | public class UReportConfiguration { |
| 23 | 18 | |
| 24 | - @Bean | |
| 25 | - public ServletRegistrationBean<Servlet> uReportRegistrationBean() { | |
| 26 | - return new ServletRegistrationBean<>(new UReportServlet(), "/ureport/*"); | |
| 27 | - } | |
| 19 | +// TODO 芋艿:JDK21 暂时不支持 UReport2,原因是 Spring Boot 3 的 javax 替换成 jakarta 了 | |
| 20 | +// @Bean | |
| 21 | +// public ServletRegistrationBean<Servlet> uReportRegistrationBean() { | |
| 22 | +// return new ServletRegistrationBean<>(new UReportServlet(), "/ureport/*"); | |
| 23 | +// } | |
| 28 | 24 | |
| 29 | 25 | } | ... | ... |
yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/framework/ureport/core/UReportDataSource.java
| ... | ... | @@ -18,7 +18,7 @@ import static cn.iocoder.yudao.module.report.enums.ErrorCodeConstants.UREPORT_DA |
| 18 | 18 | * @author 赤焰 |
| 19 | 19 | */ |
| 20 | 20 | @Slf4j |
| 21 | -@Component | |
| 21 | +//@Component | |
| 22 | 22 | public class UReportDataSource implements BuildinDatasource { |
| 23 | 23 | |
| 24 | 24 | private static final String NAME = "UReportDataSource"; | ... | ... |
yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/framework/ureport/core/UReportDatabaseProvider.java
| ... | ... | @@ -29,7 +29,7 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils. |
| 29 | 29 | * @author 赤焰 |
| 30 | 30 | */ |
| 31 | 31 | // TODO @赤焰:这个 bean 的注解,交给 UReportConfiguration 搞 |
| 32 | -@Component | |
| 32 | +//@Component | |
| 33 | 33 | @Slf4j |
| 34 | 34 | @Setter |
| 35 | 35 | public class UReportDatabaseProvider implements ReportProvider { | ... | ... |
yudao-server/src/main/resources/application-dev.yaml
yudao-server/src/main/resources/application-local.yaml
| ... | ... | @@ -7,7 +7,6 @@ spring: |
| 7 | 7 | # 数据源配置项 |
| 8 | 8 | autoconfigure: |
| 9 | 9 | exclude: |
| 10 | - - org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration # 排除积木报表带来的 MongoDB 的自动配置 | |
| 11 | 10 | - org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration # 默认 local 环境,不开启 Quartz 的自动配置 |
| 12 | 11 | - de.codecentric.boot.admin.server.config.AdminServerAutoConfiguration # 禁用 Spring Boot Admin 的 Server 的自动配置 |
| 13 | 12 | - de.codecentric.boot.admin.server.ui.config.AdminServerUiAutoConfiguration # 禁用 Spring Boot Admin 的 Server UI 的自动配置 |
| ... | ... | @@ -188,6 +187,7 @@ logging: |
| 188 | 187 | cn.iocoder.yudao.module.trade.dal.mysql: debug |
| 189 | 188 | cn.iocoder.yudao.module.promotion.dal.mysql: debug |
| 190 | 189 | cn.iocoder.yudao.module.statistics.dal.mysql: debug |
| 190 | + org.springframework.context.support.PostProcessorRegistrationDelegate: ERROR # TODO 芋艿:先禁用,Spring Boot 3.X 存在部分错误的 WARN 提示 | |
| 191 | 191 | |
| 192 | 192 | debug: false |
| 193 | 193 | ... | ... |
yudao-server/src/main/resources/application.yaml