!345 fix & improve

Merge pull request !345 from OceansDeep/pg
This commit is contained in:
OceansDeep 2024-05-23 07:40:45 +00:00 committed by Gitee
commit a7643a6b93
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 19 additions and 7 deletions

View File

@ -661,7 +661,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> 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<OrderMapper, Order> implements
/**
* 根据提供的拼团订单列表更新拼团状态为拼团失败
*
* @param list 需要更新拼团状态为失败的拼团订单列表
* @param parentOrderSn 拼团订单sn
*/
private void pintuanOrderFailed(List<Order> list) {
private void pintuanOrderFailed(String parentOrderSn) {
List<Order> list = this.list(new LambdaQueryWrapper<Order>().eq(Order::getParentOrderSn, parentOrderSn).or().eq(Order::getSn, parentOrderSn));
for (Order order : list) {
try {
this.systemCancel(order.getSn(), "拼团人数不足,拼团失败!", true);

View File

@ -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));

View File

@ -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));
//参数