Commit da36b1bf8f1d78a74783aacd812836c6efff0cef
1 parent
ea4fa685
chore: 升级依赖并切换 WxJava 到 HttpClient5
升级 Spring Boot 3.5.15、Netty、Redisson、Tika、Hutool、jsch、AWS SDK、Alipay、weixin-java 等依赖。 - easy-trans 迁移到 org.dromara 并同步 Java import - 新增 system 侧 WxJava 配置类,绕过 httpclient4 provided 依赖问题 - 将 WxJava http-client-type 切换为 HttpComponents - 移除显式 httpclient4 依赖
Showing
25 changed files
with
173 additions
and
55 deletions
.gitignore
pom.xml
| @@ -46,7 +46,7 @@ | @@ -46,7 +46,7 @@ | ||
| 46 | <flatten-maven-plugin.version>1.7.2</flatten-maven-plugin.version> | 46 | <flatten-maven-plugin.version>1.7.2</flatten-maven-plugin.version> |
| 47 | <!-- maven-surefire-plugin 暂时无法通过 bom 的依赖读取(兼容老版本 IDEA 2024 及以前版本) --> | 47 | <!-- maven-surefire-plugin 暂时无法通过 bom 的依赖读取(兼容老版本 IDEA 2024 及以前版本) --> |
| 48 | <lombok.version>1.18.42</lombok.version> | 48 | <lombok.version>1.18.42</lombok.version> |
| 49 | - <spring.boot.version>3.5.9</spring.boot.version> | 49 | + <spring.boot.version>3.5.15</spring.boot.version> |
| 50 | <mapstruct.version>1.6.3</mapstruct.version> | 50 | <mapstruct.version>1.6.3</mapstruct.version> |
| 51 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | 51 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| 52 | </properties> | 52 | </properties> |
yudao-dependencies/pom.xml
| @@ -17,7 +17,7 @@ | @@ -17,7 +17,7 @@ | ||
| 17 | <revision>2026.05-SNAPSHOT</revision> | 17 | <revision>2026.05-SNAPSHOT</revision> |
| 18 | <flatten-maven-plugin.version>1.7.2</flatten-maven-plugin.version> | 18 | <flatten-maven-plugin.version>1.7.2</flatten-maven-plugin.version> |
| 19 | <!-- 统一依赖管理 --> | 19 | <!-- 统一依赖管理 --> |
| 20 | - <spring.boot.version>3.5.14</spring.boot.version> | 20 | + <spring.boot.version>3.5.15</spring.boot.version> |
| 21 | <!-- Web 相关 --> | 21 | <!-- Web 相关 --> |
| 22 | <springdoc.version>2.8.17</springdoc.version> | 22 | <springdoc.version>2.8.17</springdoc.version> |
| 23 | <knife4j.version>4.5.0</knife4j.version> | 23 | <knife4j.version>4.5.0</knife4j.version> |
| @@ -27,23 +27,23 @@ | @@ -27,23 +27,23 @@ | ||
| 27 | <mybatis-plus.version>3.5.16</mybatis-plus.version> | 27 | <mybatis-plus.version>3.5.16</mybatis-plus.version> |
| 28 | <mybatis-plus-join.version>1.5.7</mybatis-plus-join.version> | 28 | <mybatis-plus-join.version>1.5.7</mybatis-plus-join.version> |
| 29 | <dynamic-datasource.version>4.5.0</dynamic-datasource.version> | 29 | <dynamic-datasource.version>4.5.0</dynamic-datasource.version> |
| 30 | - <easy-trans.version>3.0.6</easy-trans.version> | ||
| 31 | - <redisson.version>4.4.0</redisson.version> | 30 | + <easy-trans.version>3.1.5</easy-trans.version> |
| 31 | + <redisson.version>4.6.1</redisson.version> | ||
| 32 | <dm8.jdbc.version>8.1.3.140</dm8.jdbc.version> | 32 | <dm8.jdbc.version>8.1.3.140</dm8.jdbc.version> |
| 33 | <kingbase.jdbc.version>9.0.1.jre7</kingbase.jdbc.version> | 33 | <kingbase.jdbc.version>9.0.1.jre7</kingbase.jdbc.version> |
| 34 | <opengauss.jdbc.version>7.0.0-RC3-og</opengauss.jdbc.version> | 34 | <opengauss.jdbc.version>7.0.0-RC3-og</opengauss.jdbc.version> |
| 35 | - <taos.version>3.8.3</taos.version> | 35 | + <taos.version>3.8.4</taos.version> |
| 36 | <!-- 消息队列 --> | 36 | <!-- 消息队列 --> |
| 37 | - <rocketmq-spring.version>2.3.5</rocketmq-spring.version> | 37 | + <rocketmq-spring.version>2.3.6</rocketmq-spring.version> |
| 38 | <!-- 服务保障相关 --> | 38 | <!-- 服务保障相关 --> |
| 39 | <lock4j.version>2.2.7</lock4j.version> | 39 | <lock4j.version>2.2.7</lock4j.version> |
| 40 | <!-- 监控相关 --> | 40 | <!-- 监控相关 --> |
| 41 | <skywalking.version>9.6.0</skywalking.version> | 41 | <skywalking.version>9.6.0</skywalking.version> |
| 42 | - <spring-boot-admin.version>3.5.8</spring-boot-admin.version> | 42 | + <spring-boot-admin.version>3.5.9</spring-boot-admin.version> |
| 43 | <opentracing.version>0.33.0</opentracing.version> | 43 | <opentracing.version>0.33.0</opentracing.version> |
| 44 | <!-- Test 测试相关 --> | 44 | <!-- Test 测试相关 --> |
| 45 | <podam.version>8.0.2.RELEASE</podam.version> | 45 | <podam.version>8.0.2.RELEASE</podam.version> |
| 46 | - <jedis-mock.version>1.1.12</jedis-mock.version> | 46 | + <jedis-mock.version>1.1.15</jedis-mock.version> |
| 47 | <mockito-inline.version>5.2.0</mockito-inline.version> | 47 | <mockito-inline.version>5.2.0</mockito-inline.version> |
| 48 | <!-- Bpm 工作流相关 --> | 48 | <!-- Bpm 工作流相关 --> |
| 49 | <flowable.version>8.0.0</flowable.version> | 49 | <flowable.version>8.0.0</flowable.version> |
| @@ -54,35 +54,35 @@ | @@ -54,35 +54,35 @@ | ||
| 54 | <pinyin4j.version>2.5.1</pinyin4j.version> | 54 | <pinyin4j.version>2.5.1</pinyin4j.version> |
| 55 | <lombok.version>1.18.46</lombok.version> | 55 | <lombok.version>1.18.46</lombok.version> |
| 56 | <mapstruct.version>1.6.3</mapstruct.version> | 56 | <mapstruct.version>1.6.3</mapstruct.version> |
| 57 | - <hutool-5.version>5.8.44</hutool-5.version> | 57 | + <hutool-5.version>5.8.46</hutool-5.version> |
| 58 | <hutool-6.version>6.0.0-M22</hutool-6.version> | 58 | <hutool-6.version>6.0.0-M22</hutool-6.version> |
| 59 | <fastexcel.version>1.3.0</fastexcel.version> | 59 | <fastexcel.version>1.3.0</fastexcel.version> |
| 60 | <velocity.version>2.4.1</velocity.version> | 60 | <velocity.version>2.4.1</velocity.version> |
| 61 | <fastjson.version>1.2.83</fastjson.version> | 61 | <fastjson.version>1.2.83</fastjson.version> |
| 62 | - <fastjson2.version>2.0.61</fastjson2.version> | 62 | + <fastjson2.version>2.0.62</fastjson2.version> |
| 63 | <guava.version>33.6.0-jre</guava.version> | 63 | <guava.version>33.6.0-jre</guava.version> |
| 64 | <transmittable-thread-local.version>2.14.5</transmittable-thread-local.version> | 64 | <transmittable-thread-local.version>2.14.5</transmittable-thread-local.version> |
| 65 | <commons-net.version>3.13.0</commons-net.version> | 65 | <commons-net.version>3.13.0</commons-net.version> |
| 66 | <commons-lang3.version>3.20.0</commons-lang3.version> | 66 | <commons-lang3.version>3.20.0</commons-lang3.version> |
| 67 | - <jsch.version>2.28.2</jsch.version> | ||
| 68 | - <tika-core.version>3.3.0</tika-core.version> | 67 | + <jsch.version>2.28.3</jsch.version> |
| 68 | + <tika-core.version>3.3.1</tika-core.version> | ||
| 69 | <ip2region.version>2.7.0</ip2region.version> | 69 | <ip2region.version>2.7.0</ip2region.version> |
| 70 | <bizlog-sdk.version>3.0.6</bizlog-sdk.version> | 70 | <bizlog-sdk.version>3.0.6</bizlog-sdk.version> |
| 71 | - <netty.version>4.2.14.Final</netty.version> | 71 | + <netty.version>4.2.15.Final</netty.version> |
| 72 | <mqtt.version>1.2.5</mqtt.version> | 72 | <mqtt.version>1.2.5</mqtt.version> |
| 73 | <vertx.version>4.5.26</vertx.version> | 73 | <vertx.version>4.5.26</vertx.version> |
| 74 | <okhttp.version>4.12.0</okhttp.version> | 74 | <okhttp.version>4.12.0</okhttp.version> |
| 75 | <californium.version>3.14.0</californium.version> | 75 | <californium.version>3.14.0</californium.version> |
| 76 | <j2mod.version>3.3.0</j2mod.version> | 76 | <j2mod.version>3.3.0</j2mod.version> |
| 77 | <!-- 三方云服务相关 --> | 77 | <!-- 三方云服务相关 --> |
| 78 | - <awssdk.version>2.44.0</awssdk.version> | 78 | + <awssdk.version>2.46.17</awssdk.version> |
| 79 | <justauth.version>1.16.7</justauth.version> | 79 | <justauth.version>1.16.7</justauth.version> |
| 80 | <justauth-starter.version>1.4.0</justauth-starter.version> | 80 | <justauth-starter.version>1.4.0</justauth-starter.version> |
| 81 | <jimureport.version>2.3.4</jimureport.version> | 81 | <jimureport.version>2.3.4</jimureport.version> |
| 82 | <jimubi.version>2.3.2</jimubi.version> | 82 | <jimubi.version>2.3.2</jimubi.version> |
| 83 | - <weixin-java.version>4.8.2-20260501.180637</weixin-java.version> | 83 | + <weixin-java.version>4.8.4-20260623.211820</weixin-java.version> |
| 84 | <bouncycastle.version>1.80</bouncycastle.version> | 84 | <bouncycastle.version>1.80</bouncycastle.version> |
| 85 | - <alipay-sdk-java.version>4.40.806.ALL</alipay-sdk-java.version> | 85 | + <alipay-sdk-java.version>4.40.865.ALL</alipay-sdk-java.version> |
| 86 | </properties> | 86 | </properties> |
| 87 | 87 | ||
| 88 | <dependencyManagement> | 88 | <dependencyManagement> |
| @@ -220,7 +220,7 @@ | @@ -220,7 +220,7 @@ | ||
| 220 | </dependency> | 220 | </dependency> |
| 221 | 221 | ||
| 222 | <dependency> | 222 | <dependency> |
| 223 | - <groupId>com.fhs-opensource</groupId> <!-- VO 数据翻译 --> | 223 | + <groupId>org.dromara</groupId> <!-- VO 数据翻译 --> |
| 224 | <artifactId>easy-trans-spring-boot-starter</artifactId> | 224 | <artifactId>easy-trans-spring-boot-starter</artifactId> |
| 225 | <version>${easy-trans.version}</version> | 225 | <version>${easy-trans.version}</version> |
| 226 | <exclusions> | 226 | <exclusions> |
| @@ -235,12 +235,12 @@ | @@ -235,12 +235,12 @@ | ||
| 235 | </exclusions> | 235 | </exclusions> |
| 236 | </dependency> | 236 | </dependency> |
| 237 | <dependency> | 237 | <dependency> |
| 238 | - <groupId>com.fhs-opensource</groupId> | 238 | + <groupId>org.dromara</groupId> |
| 239 | <artifactId>easy-trans-mybatis-plus-extend</artifactId> | 239 | <artifactId>easy-trans-mybatis-plus-extend</artifactId> |
| 240 | <version>${easy-trans.version}</version> | 240 | <version>${easy-trans.version}</version> |
| 241 | </dependency> | 241 | </dependency> |
| 242 | <dependency> | 242 | <dependency> |
| 243 | - <groupId>com.fhs-opensource</groupId> | 243 | + <groupId>org.dromara</groupId> |
| 244 | <artifactId>easy-trans-anno</artifactId> | 244 | <artifactId>easy-trans-anno</artifactId> |
| 245 | <version>${easy-trans.version}</version> | 245 | <version>${easy-trans.version}</version> |
| 246 | </dependency> | 246 | </dependency> |
yudao-framework/yudao-common/pom.xml
| @@ -134,7 +134,7 @@ | @@ -134,7 +134,7 @@ | ||
| 134 | </dependency> | 134 | </dependency> |
| 135 | 135 | ||
| 136 | <dependency> | 136 | <dependency> |
| 137 | - <groupId>com.fhs-opensource</groupId> <!-- VO 数据翻译 --> | 137 | + <groupId>org.dromara</groupId> <!-- VO 数据翻译 --> |
| 138 | <artifactId>easy-trans-anno</artifactId> <!-- 默认引入的原因,方便 xxx-module-api 包使用 --> | 138 | <artifactId>easy-trans-anno</artifactId> <!-- 默认引入的原因,方便 xxx-module-api 包使用 --> |
| 139 | </dependency> | 139 | </dependency> |
| 140 | 140 |
yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/rule/DataPermissionRuleFactoryImpl.java
| @@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollUtil; | @@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollUtil; | ||
| 4 | import cn.hutool.core.util.ArrayUtil; | 4 | import cn.hutool.core.util.ArrayUtil; |
| 5 | import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; | 5 | import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; |
| 6 | import cn.iocoder.yudao.framework.datapermission.core.aop.DataPermissionContextHolder; | 6 | import cn.iocoder.yudao.framework.datapermission.core.aop.DataPermissionContextHolder; |
| 7 | -import com.fhs.trans.service.impl.SimpleTransService; | 7 | +import org.dromara.trans.service.impl.SimpleTransService; |
| 8 | import lombok.RequiredArgsConstructor; | 8 | import lombok.RequiredArgsConstructor; |
| 9 | 9 | ||
| 10 | import java.util.Collections; | 10 | import java.util.Collections; |
| @@ -65,7 +65,7 @@ public class DataPermissionRuleFactoryImpl implements DataPermissionRuleFactory | @@ -65,7 +65,7 @@ public class DataPermissionRuleFactoryImpl implements DataPermissionRuleFactory | ||
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | /** | 67 | /** |
| 68 | - * 判断是否为数据翻译 {@link com.fhs.core.trans.anno.Trans} 的调用 | 68 | + * 判断是否为数据翻译 {@link org.dromara.core.trans.anno.Trans} 的调用 |
| 69 | * | 69 | * |
| 70 | * 目前暂时只有这个办法,已经和 easy-trans 做过沟通 | 70 | * 目前暂时只有这个办法,已经和 easy-trans 做过沟通 |
| 71 | * | 71 | * |
yudao-framework/yudao-spring-boot-starter-mybatis/pom.xml
| @@ -98,11 +98,11 @@ | @@ -98,11 +98,11 @@ | ||
| 98 | </dependency> | 98 | </dependency> |
| 99 | 99 | ||
| 100 | <dependency> | 100 | <dependency> |
| 101 | - <groupId>com.fhs-opensource</groupId> <!-- VO 数据翻译 --> | 101 | + <groupId>org.dromara</groupId> <!-- VO 数据翻译 --> |
| 102 | <artifactId>easy-trans-spring-boot-starter</artifactId> | 102 | <artifactId>easy-trans-spring-boot-starter</artifactId> |
| 103 | </dependency> | 103 | </dependency> |
| 104 | <dependency> | 104 | <dependency> |
| 105 | - <groupId>com.fhs-opensource</groupId> | 105 | + <groupId>org.dromara</groupId> |
| 106 | <artifactId>easy-trans-mybatis-plus-extend</artifactId> | 106 | <artifactId>easy-trans-mybatis-plus-extend</artifactId> |
| 107 | </dependency> | 107 | </dependency> |
| 108 | 108 |
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/dataobject/BaseDO.java
| @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.FieldFill; | @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.FieldFill; | ||
| 4 | import com.baomidou.mybatisplus.annotation.TableField; | 4 | import com.baomidou.mybatisplus.annotation.TableField; |
| 5 | import com.baomidou.mybatisplus.annotation.TableLogic; | 5 | import com.baomidou.mybatisplus.annotation.TableLogic; |
| 6 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | 6 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
| 7 | -import com.fhs.core.trans.vo.TransPojo; | 7 | +import org.dromara.core.trans.vo.TransPojo; |
| 8 | import lombok.Data; | 8 | import lombok.Data; |
| 9 | import org.apache.ibatis.type.JdbcType; | 9 | import org.apache.ibatis.type.JdbcType; |
| 10 | 10 |
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/translate/config/YudaoTranslateAutoConfiguration.java
| 1 | package cn.iocoder.yudao.framework.translate.config; | 1 | package cn.iocoder.yudao.framework.translate.config; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.translate.core.TranslateUtils; | 3 | import cn.iocoder.yudao.framework.translate.core.TranslateUtils; |
| 4 | -import com.fhs.trans.service.impl.TransService; | 4 | +import org.dromara.trans.service.impl.TransService; |
| 5 | import org.springframework.boot.autoconfigure.AutoConfiguration; | 5 | import org.springframework.boot.autoconfigure.AutoConfiguration; |
| 6 | import org.springframework.context.annotation.Bean; | 6 | import org.springframework.context.annotation.Bean; |
| 7 | 7 | ||
| @@ -9,7 +9,7 @@ import org.springframework.context.annotation.Bean; | @@ -9,7 +9,7 @@ import org.springframework.context.annotation.Bean; | ||
| 9 | public class YudaoTranslateAutoConfiguration { | 9 | public class YudaoTranslateAutoConfiguration { |
| 10 | 10 | ||
| 11 | @Bean | 11 | @Bean |
| 12 | - @SuppressWarnings({"InstantiationOfUtilityClass", "SpringJavaInjectionPointsAutowiringInspection"}) | 12 | + @SuppressWarnings("InstantiationOfUtilityClass") |
| 13 | public TranslateUtils translateUtils(TransService transService) { | 13 | public TranslateUtils translateUtils(TransService transService) { |
| 14 | TranslateUtils.init(transService); | 14 | TranslateUtils.init(transService); |
| 15 | return new TranslateUtils(); | 15 | return new TranslateUtils(); |
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/translate/core/TranslateUtils.java
| 1 | package cn.iocoder.yudao.framework.translate.core; | 1 | package cn.iocoder.yudao.framework.translate.core; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | -import com.fhs.core.trans.vo.VO; | ||
| 5 | -import com.fhs.trans.service.impl.TransService; | 4 | +import org.dromara.core.trans.vo.VO; |
| 5 | +import org.dromara.trans.service.impl.TransService; | ||
| 6 | 6 | ||
| 7 | import java.util.List; | 7 | import java.util.List; |
| 8 | 8 |
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/chat/AiChatConversationController.java
| @@ -12,7 +12,7 @@ import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatCo | @@ -12,7 +12,7 @@ import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatCo | ||
| 12 | import cn.iocoder.yudao.module.ai.dal.dataobject.chat.AiChatConversationDO; | 12 | import cn.iocoder.yudao.module.ai.dal.dataobject.chat.AiChatConversationDO; |
| 13 | import cn.iocoder.yudao.module.ai.service.chat.AiChatConversationService; | 13 | import cn.iocoder.yudao.module.ai.service.chat.AiChatConversationService; |
| 14 | import cn.iocoder.yudao.module.ai.service.chat.AiChatMessageService; | 14 | import cn.iocoder.yudao.module.ai.service.chat.AiChatMessageService; |
| 15 | -import com.fhs.core.trans.anno.TransMethodResult; | 15 | +import org.dromara.core.trans.anno.TransMethodResult; |
| 16 | import io.swagger.v3.oas.annotations.Operation; | 16 | import io.swagger.v3.oas.annotations.Operation; |
| 17 | import io.swagger.v3.oas.annotations.Parameter; | 17 | import io.swagger.v3.oas.annotations.Parameter; |
| 18 | import io.swagger.v3.oas.annotations.tags.Tag; | 18 | import io.swagger.v3.oas.annotations.tags.Tag; |
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/chat/vo/conversation/AiChatConversationRespVO.java
| @@ -2,9 +2,9 @@ package cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation; | @@ -2,9 +2,9 @@ package cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; | 3 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; |
| 4 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatRoleDO; | 4 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatRoleDO; |
| 5 | -import com.fhs.core.trans.anno.Trans; | ||
| 6 | -import com.fhs.core.trans.constant.TransType; | ||
| 7 | -import com.fhs.core.trans.vo.VO; | 5 | +import org.dromara.core.trans.anno.Trans; |
| 6 | +import org.dromara.core.trans.constant.TransType; | ||
| 7 | +import org.dromara.core.trans.vo.VO; | ||
| 8 | import io.swagger.v3.oas.annotations.media.Schema; | 8 | import io.swagger.v3.oas.annotations.media.Schema; |
| 9 | import lombok.Data; | 9 | import lombok.Data; |
| 10 | 10 |
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/AiChatRoleController.java
| @@ -10,7 +10,7 @@ import cn.iocoder.yudao.module.ai.controller.admin.model.vo.chatRole.AiChatRoleS | @@ -10,7 +10,7 @@ import cn.iocoder.yudao.module.ai.controller.admin.model.vo.chatRole.AiChatRoleS | ||
| 10 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.chatRole.AiChatRoleSaveReqVO; | 10 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.chatRole.AiChatRoleSaveReqVO; |
| 11 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatRoleDO; | 11 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatRoleDO; |
| 12 | import cn.iocoder.yudao.module.ai.service.model.AiChatRoleService; | 12 | import cn.iocoder.yudao.module.ai.service.model.AiChatRoleService; |
| 13 | -import com.fhs.core.trans.anno.TransMethodResult; | 13 | +import org.dromara.core.trans.anno.TransMethodResult; |
| 14 | import io.swagger.v3.oas.annotations.Operation; | 14 | import io.swagger.v3.oas.annotations.Operation; |
| 15 | import io.swagger.v3.oas.annotations.Parameter; | 15 | import io.swagger.v3.oas.annotations.Parameter; |
| 16 | import io.swagger.v3.oas.annotations.tags.Tag; | 16 | import io.swagger.v3.oas.annotations.tags.Tag; |
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/vo/chatRole/AiChatRoleRespVO.java
| 1 | package cn.iocoder.yudao.module.ai.controller.admin.model.vo.chatRole; | 1 | package cn.iocoder.yudao.module.ai.controller.admin.model.vo.chatRole; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; | 3 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; |
| 4 | -import com.fhs.core.trans.anno.Trans; | ||
| 5 | -import com.fhs.core.trans.constant.TransType; | ||
| 6 | -import com.fhs.core.trans.vo.VO; | 4 | +import org.dromara.core.trans.anno.Trans; |
| 5 | +import org.dromara.core.trans.constant.TransType; | ||
| 6 | +import org.dromara.core.trans.vo.VO; | ||
| 7 | import io.swagger.v3.oas.annotations.media.Schema; | 7 | import io.swagger.v3.oas.annotations.media.Schema; |
| 8 | import lombok.Data; | 8 | import lombok.Data; |
| 9 | 9 |
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/product/CrmProductController.java
| @@ -14,7 +14,7 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductDO; | @@ -14,7 +14,7 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductDO; | ||
| 14 | import cn.iocoder.yudao.module.crm.enums.product.CrmProductStatusEnum; | 14 | import cn.iocoder.yudao.module.crm.enums.product.CrmProductStatusEnum; |
| 15 | import cn.iocoder.yudao.module.crm.service.product.CrmProductService; | 15 | import cn.iocoder.yudao.module.crm.service.product.CrmProductService; |
| 16 | import cn.iocoder.yudao.module.system.api.user.AdminUserApi; | 16 | import cn.iocoder.yudao.module.system.api.user.AdminUserApi; |
| 17 | -import com.fhs.core.trans.anno.TransMethodResult; | 17 | +import org.dromara.core.trans.anno.TransMethodResult; |
| 18 | import io.swagger.v3.oas.annotations.Operation; | 18 | import io.swagger.v3.oas.annotations.Operation; |
| 19 | import io.swagger.v3.oas.annotations.Parameter; | 19 | import io.swagger.v3.oas.annotations.Parameter; |
| 20 | import io.swagger.v3.oas.annotations.tags.Tag; | 20 | import io.swagger.v3.oas.annotations.tags.Tag; |
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/product/vo/product/CrmProductRespVO.java
| @@ -6,9 +6,9 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductCategoryDO; | @@ -6,9 +6,9 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductCategoryDO; | ||
| 6 | import cn.iocoder.yudao.module.crm.enums.DictTypeConstants; | 6 | import cn.iocoder.yudao.module.crm.enums.DictTypeConstants; |
| 7 | import cn.idev.excel.annotation.ExcelIgnoreUnannotated; | 7 | import cn.idev.excel.annotation.ExcelIgnoreUnannotated; |
| 8 | import cn.idev.excel.annotation.ExcelProperty; | 8 | import cn.idev.excel.annotation.ExcelProperty; |
| 9 | -import com.fhs.core.trans.anno.Trans; | ||
| 10 | -import com.fhs.core.trans.constant.TransType; | ||
| 11 | -import com.fhs.core.trans.vo.VO; | 9 | +import org.dromara.core.trans.anno.Trans; |
| 10 | +import org.dromara.core.trans.constant.TransType; | ||
| 11 | +import org.dromara.core.trans.vo.VO; | ||
| 12 | import io.swagger.v3.oas.annotations.media.Schema; | 12 | import io.swagger.v3.oas.annotations.media.Schema; |
| 13 | import lombok.Data; | 13 | import lombok.Data; |
| 14 | 14 |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/firmware/IotOtaFirmwareRespVO.java
| 1 | package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.firmware; | 1 | package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.firmware; |
| 2 | 2 | ||
| 3 | -import com.fhs.core.trans.vo.VO; | 3 | +import org.dromara.core.trans.vo.VO; |
| 4 | import io.swagger.v3.oas.annotations.media.Schema; | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | import lombok.Data; | 5 | import lombok.Data; |
| 6 | 6 |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/task/IotOtaTaskRespVO.java
| 1 | package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task; | 1 | package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task; |
| 2 | 2 | ||
| 3 | -import com.fhs.core.trans.vo.VO; | 3 | +import org.dromara.core.trans.vo.VO; |
| 4 | import io.swagger.v3.oas.annotations.media.Schema; | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | import lombok.Data; | 5 | import lombok.Data; |
| 6 | 6 |
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/logger/OperateLogApiImpl.java
| @@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogPageReqDTO; | @@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogPageReqDTO; | ||
| 7 | import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogRespDTO; | 7 | import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogRespDTO; |
| 8 | import cn.iocoder.yudao.module.system.dal.dataobject.logger.OperateLogDO; | 8 | import cn.iocoder.yudao.module.system.dal.dataobject.logger.OperateLogDO; |
| 9 | import cn.iocoder.yudao.module.system.service.logger.OperateLogService; | 9 | import cn.iocoder.yudao.module.system.service.logger.OperateLogService; |
| 10 | -import com.fhs.core.trans.anno.TransMethodResult; | 10 | +import org.dromara.core.trans.anno.TransMethodResult; |
| 11 | import jakarta.annotation.Resource; | 11 | import jakarta.annotation.Resource; |
| 12 | import org.springframework.stereotype.Service; | 12 | import org.springframework.stereotype.Service; |
| 13 | import org.springframework.validation.annotation.Validated; | 13 | import org.springframework.validation.annotation.Validated; |
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/logger/dto/OperateLogRespDTO.java
| 1 | package cn.iocoder.yudao.module.system.api.logger.dto; | 1 | package cn.iocoder.yudao.module.system.api.logger.dto; |
| 2 | 2 | ||
| 3 | -import com.fhs.core.trans.anno.Trans; | ||
| 4 | -import com.fhs.core.trans.constant.TransType; | ||
| 5 | -import com.fhs.core.trans.vo.VO; | 3 | +import org.dromara.core.trans.anno.Trans; |
| 4 | +import org.dromara.core.trans.constant.TransType; | ||
| 5 | +import org.dromara.core.trans.vo.VO; | ||
| 6 | import lombok.Data; | 6 | import lombok.Data; |
| 7 | 7 | ||
| 8 | import java.time.LocalDateTime; | 8 | import java.time.LocalDateTime; |
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/OperateLogController.java
| @@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.Oper | @@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.Oper | ||
| 11 | import cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogRespVO; | 11 | import cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogRespVO; |
| 12 | import cn.iocoder.yudao.module.system.dal.dataobject.logger.OperateLogDO; | 12 | import cn.iocoder.yudao.module.system.dal.dataobject.logger.OperateLogDO; |
| 13 | import cn.iocoder.yudao.module.system.service.logger.OperateLogService; | 13 | import cn.iocoder.yudao.module.system.service.logger.OperateLogService; |
| 14 | -import com.fhs.core.trans.anno.TransMethodResult; | 14 | +import org.dromara.core.trans.anno.TransMethodResult; |
| 15 | import io.swagger.v3.oas.annotations.Operation; | 15 | import io.swagger.v3.oas.annotations.Operation; |
| 16 | import io.swagger.v3.oas.annotations.Parameter; | 16 | import io.swagger.v3.oas.annotations.Parameter; |
| 17 | import io.swagger.v3.oas.annotations.tags.Tag; | 17 | import io.swagger.v3.oas.annotations.tags.Tag; |
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java
| @@ -5,9 +5,9 @@ import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; | @@ -5,9 +5,9 @@ import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; | ||
| 5 | import cn.idev.excel.annotation.ExcelIgnoreUnannotated; | 5 | import cn.idev.excel.annotation.ExcelIgnoreUnannotated; |
| 6 | import cn.idev.excel.annotation.ExcelProperty; | 6 | import cn.idev.excel.annotation.ExcelProperty; |
| 7 | import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | 7 | import cn.iocoder.yudao.module.system.enums.DictTypeConstants; |
| 8 | -import com.fhs.core.trans.anno.Trans; | ||
| 9 | -import com.fhs.core.trans.constant.TransType; | ||
| 10 | -import com.fhs.core.trans.vo.VO; | 8 | +import org.dromara.core.trans.anno.Trans; |
| 9 | +import org.dromara.core.trans.constant.TransType; | ||
| 10 | +import org.dromara.core.trans.vo.VO; | ||
| 11 | import io.swagger.v3.oas.annotations.media.Schema; | 11 | import io.swagger.v3.oas.annotations.media.Schema; |
| 12 | import jakarta.validation.constraints.NotEmpty; | 12 | import jakarta.validation.constraints.NotEmpty; |
| 13 | import lombok.Data; | 13 | import lombok.Data; |
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/framework/weixin/config/YudaoWxClientConfiguration.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.system.framework.weixin.config; | ||
| 2 | + | ||
| 3 | +import cn.binarywang.wx.miniapp.config.WxMaConfig; | ||
| 4 | +import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl; | ||
| 5 | +import cn.binarywang.wx.miniapp.config.impl.WxMaRedisBetterConfigImpl; | ||
| 6 | +import com.binarywang.spring.starter.wxjava.miniapp.properties.WxMaProperties; | ||
| 7 | +import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties; | ||
| 8 | +import lombok.extern.slf4j.Slf4j; | ||
| 9 | +import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps; | ||
| 10 | +import me.chanjar.weixin.common.redis.WxRedisOps; | ||
| 11 | +import me.chanjar.weixin.mp.config.WxMpConfigStorage; | ||
| 12 | +import me.chanjar.weixin.mp.config.WxMpHostConfig; | ||
| 13 | +import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl; | ||
| 14 | +import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl; | ||
| 15 | +import org.apache.commons.lang3.StringUtils; | ||
| 16 | +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | ||
| 17 | +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | ||
| 18 | +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | ||
| 19 | +import org.springframework.context.ApplicationContext; | ||
| 20 | +import org.springframework.context.annotation.Bean; | ||
| 21 | +import org.springframework.context.annotation.Configuration; | ||
| 22 | +import org.springframework.data.redis.core.StringRedisTemplate; | ||
| 23 | + | ||
| 24 | +/** | ||
| 25 | + * 微信公众号、小程序(weixin-java)的配置类 | ||
| 26 | + * | ||
| 27 | + * weixin-java 4.8.x 的 {@code AbstractWxMpConfigStorageConfiguration} / {@code AbstractWxMaConfigStorageConfiguration} | ||
| 28 | + * 在初始化 config storage 时,会无条件调用 {@code DefaultApacheHttpClientBuilder.get()},后者在类加载时引用 | ||
| 29 | + * Apache HttpClient 4.x 的 {@code org.apache.http.ssl.TrustStrategy} 等类,导致启动报 | ||
| 30 | + * {@code NoClassDefFoundError}(Spring Boot 4.x / 新版 Spring Cloud Alibaba 不再传递 HttpClient 4.x)。 | ||
| 31 | + * | ||
| 32 | + * 本配置类自行创建 {@link WxMpConfigStorage} / {@link WxMaConfig} bean,绕过官方的初始化逻辑, | ||
| 33 | + * 配合 {@code http-client-type: HttpComponents} 配置,只依赖 Apache HttpClient 5.x。 | ||
| 34 | + * | ||
| 35 | + * @author 芋道源码 | ||
| 36 | + */ | ||
| 37 | +@Configuration(proxyBeanMethods = false) | ||
| 38 | +@Slf4j | ||
| 39 | +public class YudaoWxClientConfiguration { | ||
| 40 | + | ||
| 41 | + @Bean | ||
| 42 | + @ConditionalOnProperty(prefix = WxMpProperties.PREFIX + ".config-storage", name = "type", havingValue = "redistemplate") | ||
| 43 | + @ConditionalOnClass(StringRedisTemplate.class) | ||
| 44 | + @ConditionalOnMissingBean(WxMpConfigStorage.class) | ||
| 45 | + public WxMpConfigStorage wxMpConfigStorage(WxMpProperties properties, ApplicationContext applicationContext) { | ||
| 46 | + StringRedisTemplate redisTemplate = applicationContext.getBean(StringRedisTemplate.class); | ||
| 47 | + WxRedisOps redisOps = new RedisTemplateWxRedisOps(redisTemplate); | ||
| 48 | + WxMpRedisConfigImpl config = new WxMpRedisConfigImpl(redisOps, properties.getConfigStorage().getKeyPrefix()); | ||
| 49 | + applyWxMpConfig(config, properties); | ||
| 50 | + return config; | ||
| 51 | + } | ||
| 52 | + | ||
| 53 | + @Bean | ||
| 54 | + @ConditionalOnProperty(prefix = WxMaProperties.PREFIX + ".config-storage", name = "type", havingValue = "redistemplate") | ||
| 55 | + @ConditionalOnClass(StringRedisTemplate.class) | ||
| 56 | + @ConditionalOnMissingBean(WxMaConfig.class) | ||
| 57 | + public WxMaConfig wxMaConfig(WxMaProperties properties, ApplicationContext applicationContext) { | ||
| 58 | + StringRedisTemplate redisTemplate = applicationContext.getBean(StringRedisTemplate.class); | ||
| 59 | + WxRedisOps redisOps = new RedisTemplateWxRedisOps(redisTemplate); | ||
| 60 | + WxMaRedisBetterConfigImpl config = new WxMaRedisBetterConfigImpl(redisOps, properties.getConfigStorage().getKeyPrefix()); | ||
| 61 | + applyWxMaConfig(config, properties); | ||
| 62 | + return config; | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + private void applyWxMpConfig(WxMpDefaultConfigImpl config, WxMpProperties properties) { | ||
| 66 | + config.setAppId(properties.getAppId()); | ||
| 67 | + config.setSecret(properties.getSecret()); | ||
| 68 | + config.setToken(properties.getToken()); | ||
| 69 | + config.setAesKey(properties.getAesKey()); | ||
| 70 | + config.setUseStableAccessToken(properties.isUseStableAccessToken()); | ||
| 71 | + | ||
| 72 | + WxMpProperties.ConfigStorage storage = properties.getConfigStorage(); | ||
| 73 | + config.setHttpProxyHost(storage.getHttpProxyHost()); | ||
| 74 | + config.setHttpProxyUsername(storage.getHttpProxyUsername()); | ||
| 75 | + config.setHttpProxyPassword(storage.getHttpProxyPassword()); | ||
| 76 | + if (storage.getHttpProxyPort() != null) { | ||
| 77 | + config.setHttpProxyPort(storage.getHttpProxyPort()); | ||
| 78 | + } | ||
| 79 | + | ||
| 80 | + if (properties.getHosts() != null && StringUtils.isNotEmpty(properties.getHosts().getApiHost())) { | ||
| 81 | + WxMpHostConfig hostConfig = new WxMpHostConfig(); | ||
| 82 | + hostConfig.setApiHost(properties.getHosts().getApiHost()); | ||
| 83 | + hostConfig.setOpenHost(properties.getHosts().getOpenHost()); | ||
| 84 | + hostConfig.setMpHost(properties.getHosts().getMpHost()); | ||
| 85 | + config.setHostConfig(hostConfig); | ||
| 86 | + } | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + private void applyWxMaConfig(WxMaDefaultConfigImpl config, WxMaProperties properties) { | ||
| 90 | + WxMaProperties.ConfigStorage storage = properties.getConfigStorage(); | ||
| 91 | + config.setAppid(StringUtils.trimToNull(properties.getAppid())); | ||
| 92 | + config.setSecret(StringUtils.trimToNull(properties.getSecret())); | ||
| 93 | + config.setToken(StringUtils.trimToNull(properties.getToken())); | ||
| 94 | + config.setAesKey(StringUtils.trimToNull(properties.getAesKey())); | ||
| 95 | + config.setMsgDataFormat(StringUtils.trimToNull(properties.getMsgDataFormat())); | ||
| 96 | + config.useStableAccessToken(properties.isUseStableAccessToken()); | ||
| 97 | + config.setApiHostUrl(StringUtils.trimToNull(properties.getApiHostUrl())); | ||
| 98 | + config.setAccessTokenUrl(StringUtils.trimToNull(properties.getAccessTokenUrl())); | ||
| 99 | + | ||
| 100 | + config.setHttpProxyHost(storage.getHttpProxyHost()); | ||
| 101 | + config.setHttpProxyUsername(storage.getHttpProxyUsername()); | ||
| 102 | + config.setHttpProxyPassword(storage.getHttpProxyPassword()); | ||
| 103 | + if (storage.getHttpProxyPort() != null) { | ||
| 104 | + config.setHttpProxyPort(storage.getHttpProxyPort()); | ||
| 105 | + } | ||
| 106 | + | ||
| 107 | + config.setRetrySleepMillis(Math.max(storage.getRetrySleepMillis(), 1000)); | ||
| 108 | + config.setMaxRetryTimes(Math.max(storage.getMaxRetryTimes(), 0)); | ||
| 109 | + } | ||
| 110 | + | ||
| 111 | +} |
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/framework/weixin/package-info.java
0 → 100644
yudao-server/src/main/resources/application-dev.yaml
| @@ -158,14 +158,14 @@ wx: # 参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-sta | @@ -158,14 +158,14 @@ wx: # 参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-sta | ||
| 158 | config-storage: | 158 | config-storage: |
| 159 | type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取 | 159 | type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取 |
| 160 | key-prefix: wx # Redis Key 的前缀 | 160 | key-prefix: wx # Redis Key 的前缀 |
| 161 | - http-client-type: HttpClient # 采用 HttpClient 请求微信公众号平台 | 161 | + http-client-type: HttpComponents # 采用 HttpComponents(HttpClient 5)请求微信公众号平台 |
| 162 | miniapp: # 小程序配置(必填),参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md 文档 | 162 | miniapp: # 小程序配置(必填),参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md 文档 |
| 163 | appid: wx63c280fe3248a3e7 | 163 | appid: wx63c280fe3248a3e7 |
| 164 | secret: 6f270509224a7ae1296bbf1c8cb97aed | 164 | secret: 6f270509224a7ae1296bbf1c8cb97aed |
| 165 | config-storage: | 165 | config-storage: |
| 166 | type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取 | 166 | type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取 |
| 167 | key-prefix: wa # Redis Key 的前缀 | 167 | key-prefix: wa # Redis Key 的前缀 |
| 168 | - http-client-type: HttpClient # 采用 HttpClient 请求微信公众号平台 | 168 | + http-client-type: HttpComponents # 采用 HttpComponents(HttpClient 5)请求微信公众号平台 |
| 169 | 169 | ||
| 170 | --- #################### 芋道相关配置 #################### | 170 | --- #################### 芋道相关配置 #################### |
| 171 | 171 |
yudao-server/src/main/resources/application-local.yaml
| @@ -215,7 +215,7 @@ wx: | @@ -215,7 +215,7 @@ wx: | ||
| 215 | config-storage: | 215 | config-storage: |
| 216 | type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取 | 216 | type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取 |
| 217 | key-prefix: wx # Redis Key 的前缀 | 217 | key-prefix: wx # Redis Key 的前缀 |
| 218 | - http-client-type: HttpClient # 采用 HttpClient 请求微信公众号平台 | 218 | + http-client-type: HttpComponents # 采用 HttpComponents(HttpClient 5)请求微信公众号平台 |
| 219 | miniapp: # 小程序配置(必填),参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md 文档 | 219 | miniapp: # 小程序配置(必填),参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md 文档 |
| 220 | # appid: wx62056c0d5e8db250 # 测试号(牛希尧提供的) | 220 | # appid: wx62056c0d5e8db250 # 测试号(牛希尧提供的) |
| 221 | # secret: 333ae72f41552af1e998fe1f54e1584a | 221 | # secret: 333ae72f41552af1e998fe1f54e1584a |
| @@ -228,7 +228,7 @@ wx: | @@ -228,7 +228,7 @@ wx: | ||
| 228 | config-storage: | 228 | config-storage: |
| 229 | type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取 | 229 | type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取 |
| 230 | key-prefix: wa # Redis Key 的前缀 | 230 | key-prefix: wa # Redis Key 的前缀 |
| 231 | - http-client-type: HttpClient # 采用 HttpClient 请求微信公众号平台 | 231 | + http-client-type: HttpComponents # 采用 HttpComponents(HttpClient 5)请求微信公众号平台 |
| 232 | 232 | ||
| 233 | --- #################### 芋道相关配置 #################### | 233 | --- #################### 芋道相关配置 #################### |
| 234 | 234 |