From 24f6b9e80f7ca577cfed279e369802db9787a354 Mon Sep 17 00:00:00 2001 From: misworga831 Date: Thu, 23 May 2024 15:39:26 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=8B=BC=E5=8D=95?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=A4=B1=E8=B4=A5=E6=97=B6=EF=BC=8C=E6=9C=AA?= =?UTF-8?q?=E4=BB=98=E6=AC=BE=E8=AE=A2=E5=8D=95=E6=B2=A1=E6=9C=89=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/serviceimpl/OrderServiceImpl.java | 7 ++++--- .../modules/promotion/tools/PromotionTools.java | 17 +++++++++++++---- .../serviceimpl/EsGoodsSearchServiceImpl.java | 2 ++ 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java index 1997be83..09ceb811 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java @@ -661,7 +661,7 @@ public class OrderServiceImpl extends ServiceImpl implements this.pintuanOrderSuccess(list); } else if (Boolean.FALSE.equals(pintuan.getFictitious()) && pintuan.getRequiredNum() > list.size()) { //如果未开启虚拟成团且当前订单数量不足成团数量,则认为拼团失败 - this.pintuanOrderFailed(list); + this.pintuanOrderFailed(parentOrderSn); } } @@ -1062,9 +1062,10 @@ public class OrderServiceImpl extends ServiceImpl implements /** * 根据提供的拼团订单列表更新拼团状态为拼团失败 * - * @param list 需要更新拼团状态为失败的拼团订单列表 + * @param parentOrderSn 拼团订单sn */ - private void pintuanOrderFailed(List list) { + private void pintuanOrderFailed(String parentOrderSn) { + List list = this.list(new LambdaQueryWrapper().eq(Order::getParentOrderSn, parentOrderSn).or().eq(Order::getSn, parentOrderSn)); for (Order order : list) { try { this.systemCancel(order.getSn(), "拼团人数不足,拼团失败!", true); diff --git a/framework/src/main/java/cn/lili/modules/promotion/tools/PromotionTools.java b/framework/src/main/java/cn/lili/modules/promotion/tools/PromotionTools.java index 19f711b0..26103a13 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/tools/PromotionTools.java +++ b/framework/src/main/java/cn/lili/modules/promotion/tools/PromotionTools.java @@ -205,10 +205,19 @@ public class PromotionTools { try { //移除无效促销活动 return map.entrySet().stream().filter(Objects::nonNull).filter(i -> { - JSONObject promotionsObj = JSONUtil.parseObj(i.getValue()); - BasePromotions basePromotions = promotionsObj.toBean(BasePromotions.class); - if (basePromotions != null && basePromotions.getStartTime() != null && basePromotions.getEndTime() != null) { - return basePromotions.getStartTime().getTime() <= System.currentTimeMillis() && basePromotions.getEndTime().getTime() >= System.currentTimeMillis(); + try { + if (JSONUtil.isTypeJSON(JSONUtil.toJsonStr(i.getValue()))) { + JSONObject promotionsObj = JSONUtil.parseObj(i.getValue()); + BasePromotions basePromotions = promotionsObj.toBean(BasePromotions.class); + if (basePromotions != null && basePromotions.getStartTime() != null && basePromotions.getEndTime() != null) { + return basePromotions.getStartTime().getTime() <= System.currentTimeMillis() && basePromotions.getEndTime().getTime() >= System.currentTimeMillis(); + } + } else { + return false; + } + } catch (Exception ee) { + log.debug("转换异常促销活动信息:{}", i); + return false; } return i.getValue() != null; }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> newValue)); diff --git a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java index 11ba3c74..4f3dce1a 100644 --- a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java @@ -88,6 +88,7 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService { cache.incrementScore(CachePrefix.HOT_WORD.getPrefix(), searchDTO.getKeyword()); } NativeSearchQueryBuilder searchQueryBuilder = createSearchQueryBuilder(searchDTO, pageVo); +// searchQueryBuilder.withCollapseField("goodsId"); NativeSearchQuery searchQuery = searchQueryBuilder.build(); searchQuery.setTrackTotalHits(true); log.debug("searchGoods DSL:{}", searchQuery.getQuery()); @@ -130,6 +131,7 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService { //品牌 AggregationBuilder brandNameBuilder = AggregationBuilders.terms(ATTR_BRAND_NAME).field("brandName.keyword"); builder.addAggregation(AggregationBuilders.terms("brandIdNameAgg").field(ATTR_BRAND_ID).size(Integer.MAX_VALUE).subAggregation(brandNameBuilder)); + AggregationBuilder brandUrlBuilder = AggregationBuilders.terms(ATTR_BRAND_URL).field("brandUrl.keyword"); builder.addAggregation(AggregationBuilders.terms("brandIdUrlAgg").field(ATTR_BRAND_ID).size(Integer.MAX_VALUE).subAggregation(brandUrlBuilder)); //参数