Commit 023a7b14d88f2ae8f56e9f46fdfb680aa54d3775

Authored by YunaiV
1 parent f4a55d3e

✨ 统一 JDK8 和 JDK21 相关代码

yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/object/PageUtils.java
@@ -9,7 +9,7 @@ import cn.iocoder.yudao.framework.common.pojo.SortablePageParam; @@ -9,7 +9,7 @@ import cn.iocoder.yudao.framework.common.pojo.SortablePageParam;
9 import cn.iocoder.yudao.framework.common.pojo.SortingField; 9 import cn.iocoder.yudao.framework.common.pojo.SortingField;
10 import org.springframework.util.Assert; 10 import org.springframework.util.Assert;
11 11
12 -import java.util.List; 12 +import static java.util.Collections.singletonList;
13 13
14 /** 14 /**
15 * {@link cn.iocoder.yudao.framework.common.pojo.PageParam} 工具类 15 * {@link cn.iocoder.yudao.framework.common.pojo.PageParam} 工具类
@@ -60,7 +60,7 @@ public class PageUtils { @@ -60,7 +60,7 @@ public class PageUtils {
60 */ 60 */
61 public static <T> void buildDefaultSortingField(SortablePageParam sortablePageParam, Func1<T, ?> func) { 61 public static <T> void buildDefaultSortingField(SortablePageParam sortablePageParam, Func1<T, ?> func) {
62 if (sortablePageParam != null && CollUtil.isEmpty(sortablePageParam.getSortingFields())) { 62 if (sortablePageParam != null && CollUtil.isEmpty(sortablePageParam.getSortingFields())) {
63 - sortablePageParam.setSortingFields(List.of(buildSortingField(func))); 63 + sortablePageParam.setSortingFields(singletonList(buildSortingField(func)));
64 } 64 }
65 } 65 }
66 66
yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/comment/ProductCommentServiceImplTest.java
@@ -2,31 +2,22 @@ package cn.iocoder.yudao.module.product.service.comment; @@ -2,31 +2,22 @@ package cn.iocoder.yudao.module.product.service.comment;
2 2
3 import cn.hutool.core.date.DateUtil; 3 import cn.hutool.core.date.DateUtil;
4 import cn.hutool.core.util.RandomUtil; 4 import cn.hutool.core.util.RandomUtil;
5 -import cn.iocoder.yudao.framework.common.pojo.PageResult;  
6 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; 5 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
7 -import cn.iocoder.yudao.module.product.controller.admin.comment.vo.ProductCommentPageReqVO;  
8 import cn.iocoder.yudao.module.product.controller.admin.comment.vo.ProductCommentReplyReqVO; 6 import cn.iocoder.yudao.module.product.controller.admin.comment.vo.ProductCommentReplyReqVO;
9 -import cn.iocoder.yudao.module.product.controller.admin.comment.vo.ProductCommentRespVO;  
10 import cn.iocoder.yudao.module.product.controller.admin.comment.vo.ProductCommentUpdateVisibleReqVO; 7 import cn.iocoder.yudao.module.product.controller.admin.comment.vo.ProductCommentUpdateVisibleReqVO;
11 -import cn.iocoder.yudao.module.product.controller.app.comment.vo.AppCommentPageReqVO;  
12 -import cn.iocoder.yudao.module.product.controller.app.comment.vo.AppCommentStatisticsRespVO;  
13 -import cn.iocoder.yudao.module.product.convert.comment.ProductCommentConvert;  
14 import cn.iocoder.yudao.module.product.dal.dataobject.comment.ProductCommentDO; 8 import cn.iocoder.yudao.module.product.dal.dataobject.comment.ProductCommentDO;
15 import cn.iocoder.yudao.module.product.dal.mysql.comment.ProductCommentMapper; 9 import cn.iocoder.yudao.module.product.dal.mysql.comment.ProductCommentMapper;
16 -import cn.iocoder.yudao.module.product.enums.comment.ProductCommentScoresEnum;  
17 import cn.iocoder.yudao.module.product.service.sku.ProductSkuService; 10 import cn.iocoder.yudao.module.product.service.sku.ProductSkuService;
18 import cn.iocoder.yudao.module.product.service.spu.ProductSpuService; 11 import cn.iocoder.yudao.module.product.service.spu.ProductSpuService;
  12 +import jakarta.annotation.Resource;
19 import org.junit.jupiter.api.Disabled; 13 import org.junit.jupiter.api.Disabled;
20 import org.junit.jupiter.api.Test; 14 import org.junit.jupiter.api.Test;
21 import org.springframework.boot.test.mock.mockito.MockBean; 15 import org.springframework.boot.test.mock.mockito.MockBean;
22 import org.springframework.context.annotation.Import; 16 import org.springframework.context.annotation.Import;
23 import org.springframework.context.annotation.Lazy; 17 import org.springframework.context.annotation.Lazy;
24 18
25 -import jakarta.annotation.Resource;  
26 -import java.time.LocalDateTime;  
27 import java.util.Date; 19 import java.util.Date;
28 20
29 -import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;  
30 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 21 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
31 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo; 22 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
32 import static org.junit.jupiter.api.Assertions.assertEquals; 23 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -75,87 +66,6 @@ public class ProductCommentServiceImplTest extends BaseDbUnitTest { @@ -75,87 +66,6 @@ public class ProductCommentServiceImplTest extends BaseDbUnitTest {
75 } 66 }
76 67
77 @Test 68 @Test
78 - public void testGetCommentPage_success() {  
79 - // 准备参数  
80 - ProductCommentDO productComment = randomPojo(ProductCommentDO.class, o -> {  
81 - o.setUserNickname("王二狗");  
82 - o.setSpuName("感冒药");  
83 - o.setScores(ProductCommentScoresEnum.FOUR.getScores());  
84 - o.setReplyStatus(Boolean.TRUE);  
85 - o.setVisible(Boolean.TRUE);  
86 - o.setId(generateId());  
87 - o.setUserId(generateId());  
88 - o.setAnonymous(Boolean.TRUE);  
89 - o.setOrderId(generateId());  
90 - o.setOrderItemId(generateId());  
91 - o.setSpuId(generateId());  
92 - o.setSkuId(generateId());  
93 - o.setDescriptionScores(ProductCommentScoresEnum.FOUR.getScores());  
94 - o.setBenefitScores(ProductCommentScoresEnum.FOUR.getScores());  
95 - o.setContent("真好吃");  
96 - o.setReplyUserId(generateId());  
97 - o.setReplyContent("确实");  
98 - o.setReplyTime(LocalDateTime.now());  
99 - o.setCreateTime(LocalDateTime.now());  
100 - o.setUpdateTime(LocalDateTime.now());  
101 - });  
102 - productCommentMapper.insert(productComment);  
103 -  
104 - Long orderId = productComment.getOrderId();  
105 - Long spuId = productComment.getSpuId();  
106 -  
107 - // 测试 userNickname 不匹配  
108 - productCommentMapper.insert(cloneIgnoreId(productComment, o -> o.setUserNickname("王三").setScores(ProductCommentScoresEnum.ONE.getScores())));  
109 - // 测试 orderId 不匹配  
110 - productCommentMapper.insert(cloneIgnoreId(productComment, o -> o.setOrderId(generateId())));  
111 - // 测试 spuId 不匹配  
112 - productCommentMapper.insert(cloneIgnoreId(productComment, o -> o.setSpuId(generateId())));  
113 - // 测试 spuName 不匹配  
114 - productCommentMapper.insert(cloneIgnoreId(productComment, o -> o.setSpuName("感康")));  
115 - // 测试 scores 不匹配  
116 - productCommentMapper.insert(cloneIgnoreId(productComment, o -> o.setScores(ProductCommentScoresEnum.ONE.getScores())));  
117 - // 测试 replied 不匹配  
118 - productCommentMapper.insert(cloneIgnoreId(productComment, o -> o.setReplyStatus(Boolean.FALSE)));  
119 - // 测试 visible 不匹配  
120 - productCommentMapper.insert(cloneIgnoreId(productComment, o -> o.setVisible(Boolean.FALSE)));  
121 -  
122 - // 调用  
123 - ProductCommentPageReqVO productCommentPageReqVO = new ProductCommentPageReqVO();  
124 - productCommentPageReqVO.setUserNickname("王二");  
125 - productCommentPageReqVO.setOrderId(orderId);  
126 - productCommentPageReqVO.setSpuId(spuId);  
127 - productCommentPageReqVO.setSpuName("感冒药");  
128 - productCommentPageReqVO.setScores(ProductCommentScoresEnum.FOUR.getScores());  
129 - productCommentPageReqVO.setReplyStatus(Boolean.TRUE);  
130 -  
131 - PageResult<ProductCommentDO> commentPage = productCommentService.getCommentPage(productCommentPageReqVO);  
132 - PageResult<ProductCommentRespVO> result = ProductCommentConvert.INSTANCE.convertPage(productCommentMapper.selectPage(productCommentPageReqVO));  
133 - assertEquals(result.getTotal(), commentPage.getTotal());  
134 -  
135 - PageResult<ProductCommentDO> all = productCommentService.getCommentPage(new ProductCommentPageReqVO());  
136 - assertEquals(8, all.getTotal());  
137 -  
138 - // 测试获取所有商品分页评论数据  
139 - PageResult<ProductCommentDO> result1 = productCommentService.getCommentPage(new AppCommentPageReqVO(), Boolean.TRUE);  
140 - assertEquals(7, result1.getTotal());  
141 -  
142 - // 测试获取所有商品分页中评数据  
143 - PageResult<ProductCommentDO> result2 = productCommentService.getCommentPage(new AppCommentPageReqVO().setType(AppCommentPageReqVO.MEDIOCRE_COMMENT), Boolean.TRUE);  
144 - assertEquals(2, result2.getTotal());  
145 -  
146 - // 测试获取指定 spuId 商品分页中评数据  
147 - PageResult<ProductCommentDO> result3 = productCommentService.getCommentPage(new AppCommentPageReqVO().setSpuId(spuId).setType(AppCommentPageReqVO.MEDIOCRE_COMMENT), Boolean.TRUE);  
148 - assertEquals(2, result3.getTotal());  
149 -  
150 - // 测试分页 tab count  
151 - AppCommentStatisticsRespVO tabsCount = productCommentService.getCommentStatistics(spuId, Boolean.TRUE);  
152 - assertEquals(4, tabsCount.getGoodCount());  
153 - assertEquals(2, tabsCount.getMediocreCount());  
154 - assertEquals(0, tabsCount.getNegativeCount());  
155 -  
156 - }  
157 -  
158 - @Test  
159 public void testUpdateCommentVisible_success() { 69 public void testUpdateCommentVisible_success() {
160 // mock 测试 70 // mock 测试
161 ProductCommentDO productComment = randomPojo(ProductCommentDO.class, o -> { 71 ProductCommentDO productComment = randomPojo(ProductCommentDO.class, o -> {
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/coupon/AppCouponTemplateController.java
@@ -29,6 +29,7 @@ import java.util.*; @@ -29,6 +29,7 @@ import java.util.*;
29 29
30 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 30 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
31 import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLoginUserId; 31 import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLoginUserId;
  32 +import static java.util.Collections.singletonList;
32 33
33 @Tag(name = "用户 App - 优惠劵模板") 34 @Tag(name = "用户 App - 优惠劵模板")
34 @RestController 35 @RestController
@@ -53,7 +54,7 @@ public class AppCouponTemplateController { @@ -53,7 +54,7 @@ public class AppCouponTemplateController {
53 return success(null); 54 return success(null);
54 } 55 }
55 // 处理是否可领取 56 // 处理是否可领取
56 - Map<Long, Boolean> canCanTakeMap = couponService.getUserCanCanTakeMap(getLoginUserId(), List.of(template)); 57 + Map<Long, Boolean> canCanTakeMap = couponService.getUserCanCanTakeMap(getLoginUserId(), singletonList(template));
57 return success(BeanUtils.toBean(template, AppCouponTemplateRespVO.class) 58 return success(BeanUtils.toBean(template, AppCouponTemplateRespVO.class)
58 .setCanTake(canCanTakeMap.get(template.getId()))); 59 .setCanTake(canCanTakeMap.get(template.getId())));
59 } 60 }
@@ -72,7 +73,7 @@ public class AppCouponTemplateController { @@ -72,7 +73,7 @@ public class AppCouponTemplateController {
72 // 1.1 处理查询条件:商品范围编号 73 // 1.1 处理查询条件:商品范围编号
73 Long productScopeValue = getProductScopeValue(productScope, spuId); 74 Long productScopeValue = getProductScopeValue(productScope, spuId);
74 // 1.2 处理查询条件:领取方式 = 直接领取 75 // 1.2 处理查询条件:领取方式 = 直接领取
75 - List<Integer> canTakeTypes = Collections.singletonList(CouponTakeTypeEnum.USER.getValue()); 76 + List<Integer> canTakeTypes = singletonList(CouponTakeTypeEnum.USER.getValue());
76 77
77 // 2. 查询 78 // 2. 查询
78 List<CouponTemplateDO> list = couponTemplateService.getCouponTemplateList(canTakeTypes, productScope, 79 List<CouponTemplateDO> list = couponTemplateService.getCouponTemplateList(canTakeTypes, productScope,
@@ -104,7 +105,7 @@ public class AppCouponTemplateController { @@ -104,7 +105,7 @@ public class AppCouponTemplateController {
104 // 1.1 处理查询条件:商品范围编号 105 // 1.1 处理查询条件:商品范围编号
105 Long productScopeValue = getProductScopeValue(pageReqVO.getProductScope(), pageReqVO.getSpuId()); 106 Long productScopeValue = getProductScopeValue(pageReqVO.getProductScope(), pageReqVO.getSpuId());
106 // 1.2 处理查询条件:领取方式 = 直接领取 107 // 1.2 处理查询条件:领取方式 = 直接领取
107 - List<Integer> canTakeTypes = Collections.singletonList(CouponTakeTypeEnum.USER.getValue()); 108 + List<Integer> canTakeTypes = singletonList(CouponTakeTypeEnum.USER.getValue());
108 109
109 // 2. 分页查询 110 // 2. 分页查询
110 PageResult<CouponTemplateDO> pageResult = couponTemplateService.getCouponTemplatePage( 111 PageResult<CouponTemplateDO> pageResult = couponTemplateService.getCouponTemplatePage(
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/aftersale/vo/log/AppAfterSaleLogRespVO.java
1 package cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.log; 1 package cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.log;
2 2
3 import io.swagger.v3.oas.annotations.media.Schema; 3 import io.swagger.v3.oas.annotations.media.Schema;
4 -import jakarta.validation.constraints.NotNull;  
5 import lombok.Data; 4 import lombok.Data;
6 5
7 import java.time.LocalDateTime; 6 import java.time.LocalDateTime;
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/logger/OperateLogConvert.java
@@ -37,7 +37,7 @@ public interface OperateLogConvert { @@ -37,7 +37,7 @@ public interface OperateLogConvert {
37 37
38 OperateLogV2RespDTO convert(OperateLogV2DO operateLogV2DO); 38 OperateLogV2RespDTO convert(OperateLogV2DO operateLogV2DO);
39 39
40 - private List<OperateLogV2RespDTO> setUserInfo(List<OperateLogV2DO> logList, List<AdminUserDO> userList) { 40 + default List<OperateLogV2RespDTO> setUserInfo(List<OperateLogV2DO> logList, List<AdminUserDO> userList) {
41 Map<Long, AdminUserDO> userMap = convertMap(userList, AdminUserDO::getId); 41 Map<Long, AdminUserDO> userMap = convertMap(userList, AdminUserDO::getId);
42 return CollectionUtils.convertList(logList, item -> { 42 return CollectionUtils.convertList(logList, item -> {
43 OperateLogV2RespDTO respDTO = convert(item); 43 OperateLogV2RespDTO respDTO = convert(item);