【依赖升级】Phase 1:安全依赖版本升级

升级内容:
- spring-boot 3.5.9 → 3.5.14
- springdoc 2.8.14 → 2.8.17
- druid 1.2.27 → 1.2.28
- mybatis-plus 3.5.15 → 3.5.16
- mybatis-plus-join 1.5.5 → 1.5.7
- netty 4.2.9.Final → 4.2.12.Final
- lombok 1.18.42 → 1.18.46
- hutool 5.8.42 → 5.8.44
- guava 33.5.0-jre → 33.6.0-jre
- jsoup 1.21.2 → 1.22.2
- jsch 2.27.7 → 2.28.2
- commons-net 3.12.0 → 3.13.0
- tika-core 3.2.3 → 3.3.0
- skywalking 9.5.0 → 9.6.0
- spring-boot-admin 3.5.6 → 3.5.8
- vertx 4.5.22 → 4.5.26
- californium 3.12.0 → 3.14.0
- j2mod 3.2.1 → 3.3.0
- taos 3.7.9 → 3.8.3
- awssdk 2.40.15 → 2.44.0
- alipay-sdk-java 4.40.607.ALL → 4.40.771.ALL
- opengauss-jdbc 5.1.0 → 7.0.0-RC3-og
- kingbase8 8.6.0 → 9.0.1.jre7
- jimureport 2.1.3 → 2.3.2(artifactId 从 jimureport-spring-boot3-starter-fastjson2 改为 jimureport-spring-boot3-starter)
- jimubi 2.3.0 → 2.3.2
This commit is contained in:
YunaiV
2026-05-05 09:41:32 +08:00
parent 072b3d6fa4
commit a9a6bff15f
3 changed files with 131 additions and 27 deletions

View File

@ -17,29 +17,29 @@
<revision>2026.03-SNAPSHOT</revision>
<flatten-maven-plugin.version>1.7.2</flatten-maven-plugin.version>
<!-- 统一依赖管理 -->
<spring.boot.version>3.5.9</spring.boot.version>
<spring.boot.version>3.5.14</spring.boot.version>
<!-- Web 相关 -->
<springdoc.version>2.8.14</springdoc.version>
<springdoc.version>2.8.17</springdoc.version>
<knife4j.version>4.5.0</knife4j.version>
<!-- DB 相关 -->
<druid.version>1.2.27</druid.version>
<druid.version>1.2.28</druid.version>
<mybatis.version>3.5.19</mybatis.version>
<mybatis-plus.version>3.5.15</mybatis-plus.version>
<mybatis-plus-join.version>1.5.5</mybatis-plus-join.version>
<mybatis-plus.version>3.5.16</mybatis-plus.version>
<mybatis-plus-join.version>1.5.7</mybatis-plus-join.version>
<dynamic-datasource.version>4.5.0</dynamic-datasource.version>
<easy-trans.version>3.0.6</easy-trans.version>
<redisson.version>3.52.0</redisson.version>
<dm8.jdbc.version>8.1.3.140</dm8.jdbc.version>
<kingbase.jdbc.version>8.6.0</kingbase.jdbc.version>
<opengauss.jdbc.version>5.1.0</opengauss.jdbc.version>
<taos.version>3.7.9</taos.version>
<kingbase.jdbc.version>9.0.1.jre7</kingbase.jdbc.version>
<opengauss.jdbc.version>7.0.0-RC3-og</opengauss.jdbc.version>
<taos.version>3.8.3</taos.version>
<!-- 消息队列 -->
<rocketmq-spring.version>2.3.5</rocketmq-spring.version>
<!-- 服务保障相关 -->
<lock4j.version>2.2.7</lock4j.version>
<!-- 监控相关 -->
<skywalking.version>9.5.0</skywalking.version>
<spring-boot-admin.version>3.5.6</spring-boot-admin.version>
<skywalking.version>9.6.0</skywalking.version>
<spring-boot-admin.version>3.5.8</spring-boot-admin.version>
<opentracing.version>0.33.0</opentracing.version>
<!-- Test 测试相关 -->
<podam.version>8.0.2.RELEASE</podam.version>
@ -49,36 +49,36 @@
<flowable.version>7.2.0</flowable.version>
<!-- 工具类相关 -->
<anji-plus-captcha.version>1.4.0</anji-plus-captcha.version>
<jsoup.version>1.21.2</jsoup.version>
<lombok.version>1.18.42</lombok.version>
<jsoup.version>1.22.2</jsoup.version>
<lombok.version>1.18.46</lombok.version>
<mapstruct.version>1.6.3</mapstruct.version>
<hutool-5.version>5.8.42</hutool-5.version>
<hutool-5.version>5.8.44</hutool-5.version>
<hutool-6.version>6.0.0-M22</hutool-6.version>
<fastexcel.version>1.3.0</fastexcel.version>
<velocity.version>2.4.1</velocity.version>
<fastjson.version>1.2.83</fastjson.version>
<guava.version>33.5.0-jre</guava.version>
<guava.version>33.6.0-jre</guava.version>
<transmittable-thread-local.version>2.14.5</transmittable-thread-local.version>
<commons-net.version>3.12.0</commons-net.version>
<commons-net.version>3.13.0</commons-net.version>
<commons-lang3.version>3.20.0</commons-lang3.version>
<jsch.version>2.27.7</jsch.version>
<tika-core.version>3.2.3</tika-core.version>
<jsch.version>2.28.2</jsch.version>
<tika-core.version>3.3.0</tika-core.version>
<ip2region.version>2.7.0</ip2region.version>
<bizlog-sdk.version>3.0.6</bizlog-sdk.version>
<netty.version>4.2.9.Final</netty.version>
<netty.version>4.2.12.Final</netty.version>
<mqtt.version>1.2.5</mqtt.version>
<vertx.version>4.5.22</vertx.version>
<vertx.version>4.5.26</vertx.version>
<okhttp.version>4.12.0</okhttp.version>
<californium.version>3.12.0</californium.version>
<j2mod.version>3.2.1</j2mod.version>
<californium.version>3.14.0</californium.version>
<j2mod.version>3.3.0</j2mod.version>
<!-- 三方云服务相关 -->
<awssdk.version>2.40.15</awssdk.version>
<awssdk.version>2.44.0</awssdk.version>
<justauth.version>1.16.7</justauth.version>
<justauth-starter.version>1.4.0</justauth-starter.version>
<jimureport.version>2.1.3</jimureport.version>
<jimubi.version>2.3.0</jimubi.version>
<jimureport.version>2.3.2</jimureport.version>
<jimubi.version>2.3.2</jimubi.version>
<weixin-java.version>4.7.9-20251224.161447</weixin-java.version>
<alipay-sdk-java.version>4.40.607.ALL</alipay-sdk-java.version>
<alipay-sdk-java.version>4.40.771.ALL</alipay-sdk-java.version>
</properties>
<dependencyManagement>
@ -665,7 +665,7 @@
<!-- 积木报表-->
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-spring-boot3-starter-fastjson2</artifactId>
<artifactId>jimureport-spring-boot3-starter</artifactId>
<version>${jimureport.version}</version>
</dependency>
<dependency>

View File

@ -0,0 +1,104 @@
package cn.iocoder.yudao.module.trade.service.price.calculator;
import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest;
import cn.iocoder.yudao.module.promotion.api.bargain.BargainRecordApi;
import cn.iocoder.yudao.module.promotion.api.bargain.dto.BargainValidateJoinRespDTO;
import cn.iocoder.yudao.module.promotion.enums.common.PromotionTypeEnum;
import cn.iocoder.yudao.module.trade.enums.order.TradeOrderTypeEnum;
import cn.iocoder.yudao.module.trade.service.price.bo.TradePriceCalculateReqBO;
import cn.iocoder.yudao.module.trade.service.price.bo.TradePriceCalculateRespBO;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import java.util.ArrayList;
import static java.util.Collections.singletonList;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.when;
/**
* {@link TradeBargainActivityPriceCalculator} 的单元测试
*
* @author 芋道源码
*/
public class TradeBargainActivityPriceCalculatorTest extends BaseMockitoUnitTest {
@InjectMocks
private TradeBargainActivityPriceCalculator tradeBargainActivityPriceCalculator;
@Mock
private BargainRecordApi bargainRecordApi;
@Test
public void testCalculate_match() {
// 准备参数:砍价订单,单 SKU、数量 1
TradePriceCalculateReqBO param = new TradePriceCalculateReqBO()
.setUserId(1L).setBargainRecordId(2L)
.setItems(singletonList(
new TradePriceCalculateReqBO.Item().setSkuId(10L).setCount(1).setSelected(true)
));
TradePriceCalculateRespBO result = new TradePriceCalculateRespBO()
.setType(TradeOrderTypeEnum.BARGAIN.getType())
.setPrice(new TradePriceCalculateRespBO.Price())
.setPromotions(new ArrayList<>())
.setItems(singletonList(
new TradePriceCalculateRespBO.OrderItem().setSkuId(10L).setCount(1).setSelected(true)
.setPrice(100).setSpuId(1L).setGivePoint(0)
));
TradePriceCalculatorHelper.recountPayPrice(result.getItems());
TradePriceCalculatorHelper.recountAllPrice(result);
// mock 方法:砍价后单价 30 分
when(bargainRecordApi.validateJoinBargain(eq(1L), eq(2L), eq(10L))).thenReturn(
new BargainValidateJoinRespDTO().setActivityId(1000L).setName("砍价 1000 号").setBargainPrice(30));
// 调用100 - 30 * 1 = 70 优惠
tradeBargainActivityPriceCalculator.calculate(param, result);
// 断言:订单价格
TradePriceCalculateRespBO.Price price = result.getPrice();
assertEquals(price.getTotalPrice(), 100);
assertEquals(price.getDiscountPrice(), 70);
assertEquals(price.getPayPrice(), 30);
assertEquals(result.getBargainActivityId(), 1000L);
// 断言:促销明细的 id 来自砍价活动而非秒杀活动
assertEquals(result.getPromotions().size(), 1);
TradePriceCalculateRespBO.Promotion promotion = result.getPromotions().get(0);
assertEquals(promotion.getId(), 1000L);
assertEquals(promotion.getName(), "砍价 1000 号");
assertEquals(promotion.getType(), PromotionTypeEnum.BARGAIN_ACTIVITY.getType());
assertEquals(promotion.getDiscountPrice(), 70);
assertTrue(promotion.getMatch());
assertEquals(promotion.getDescription(), "砍价活动:省 0.70 元");
}
@Test
public void testCalculate_skipNonBargainOrder() {
// 准备参数:普通订单
TradePriceCalculateReqBO param = new TradePriceCalculateReqBO()
.setItems(singletonList(
new TradePriceCalculateReqBO.Item().setSkuId(10L).setCount(1).setSelected(true)
));
TradePriceCalculateRespBO result = new TradePriceCalculateRespBO()
.setType(TradeOrderTypeEnum.NORMAL.getType())
.setPrice(new TradePriceCalculateRespBO.Price())
.setPromotions(new ArrayList<>())
.setItems(singletonList(
new TradePriceCalculateRespBO.OrderItem().setSkuId(10L).setCount(1).setSelected(true)
.setPrice(100).setSpuId(1L)
));
TradePriceCalculatorHelper.recountPayPrice(result.getItems());
TradePriceCalculatorHelper.recountAllPrice(result);
// 调用:非砍价订单,直接跳过,不会调用 API
tradeBargainActivityPriceCalculator.calculate(param, result);
// 断言:未产生促销
assertEquals(result.getPromotions().size(), 0);
}
}

View File

@ -56,7 +56,7 @@
<!-- 积木报表-->
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-spring-boot3-starter-fastjson2</artifactId>
<artifactId>jimureport-spring-boot3-starter</artifactId>
</dependency>
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>