From 357bf93f7fa56e414ad54d4fbfbf6bd97da5b1d2 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 26 七月 2024 08:57:54 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 81 ++++++++++++++++++++++++---------------- 1 files changed, 48 insertions(+), 33 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index 3995532..05e2d23 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -20,6 +20,7 @@ import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.BeanUtils; +import com.ruoyi.common.core.utils.page.CollUtils; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.order.controller.management.dto.MgtOrderConfirmShipmentDTO; @@ -75,6 +76,7 @@ import java.math.RoundingMode; import java.time.LocalDateTime; import java.util.Collection; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -85,6 +87,7 @@ import java.util.stream.Collectors; import javax.annotation.Resource; import lombok.Synchronized; +import org.apache.commons.collections.map.HashedMap; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.stereotype.Service; @@ -99,6 +102,7 @@ * @since 2024-05-16 */ @Service +@SuppressWarnings("unchecked") public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements IOrderService { @Resource @@ -1182,8 +1186,7 @@ */ @Override public List<Order> getOrderByCouponIds(Collection<Long> couponIds) { - return this.lambdaQuery().in(Order::getCouponId, couponIds) - .eq(Order::getOrderStatus, OrderStatusEnum.FINISHED).list(); + return this.lambdaQuery().in(Order::getCouponId, couponIds).list(); } /** @@ -1239,7 +1242,7 @@ } pageVO = PageDTO.of(page, MgtOrderVO.class); List<MgtOrderVO> voList = pageVO.getList(); - if (query.getOrderFrom() == OrderFromEnum.AUCTION_ORDERS) { + if (query.getQueryType() == OrderTypeEnum.AUCTION_ORDER) { List<MgtOrderVO> list = voList; // 封装参数查询拍卖会 Set<Long> auctionSalesroomGoodsIdSet = list.stream() @@ -1249,9 +1252,16 @@ List<AuctionSalesroom> auctionSalesroomList = auctionClient.getAuctionSalesroomByIds( auctionSalesroomGoodsIdSet, SecurityConstants.INNER) .getData(); - Map<Long, String> salesroomMap = auctionSalesroomList.stream() - .collect(Collectors.toMap(AuctionSalesroom::getId, - AuctionSalesroom::getSalesroomName)); + Map<Long, String> salesroomMap = new HashedMap(); + Set<Long> auctionSalesroomSet = new HashSet<>(); + if (CollUtils.isNotEmpty(auctionSalesroomList)) { + salesroomMap = auctionSalesroomList.stream() + .collect(Collectors.toMap(AuctionSalesroom::getId, + AuctionSalesroom::getSalesroomName)); + auctionSalesroomList.stream() + .map(AuctionSalesroom::getId) + .collect(Collectors.toSet()); + } // 封装参数查询拍卖订单保证金 Set<Long> auctionGoodsIdSet = list.stream() .filter(order -> order.getAuctionOrderType() @@ -1259,36 +1269,39 @@ .map(MgtOrderVO::getGoodsSkuId) .collect(Collectors.toSet()); - Set<Long> auctionSalesroomSet = auctionSalesroomList.stream() - .map(AuctionSalesroom::getId) - .collect(Collectors.toSet()); - - List<OrderAuctionBond> auctionBondList = orderAuctionBondMapper.selectList( + List<OrderAuctionBond> auctionSalesroomBondList = orderAuctionBondMapper.selectList( Wrappers.lambdaQuery(OrderAuctionBond.class) - .in(OrderAuctionBond::getAuctionGoodsId, auctionGoodsIdSet) - .in(OrderAuctionBond::getAuctionSalesroomId, auctionSalesroomSet) + .in(CollUtils.isNotEmpty(auctionSalesroomSet), + OrderAuctionBond::getAuctionSalesroomId, auctionSalesroomSet) + .eq(OrderAuctionBond::getBoundStatus, BondStatusEnum.PAID) + .groupBy(OrderAuctionBond::getAuctionSalesroomId, + OrderAuctionBond::getMemberId)); + List<OrderAuctionBond> auctionGoodsBondList = orderAuctionBondMapper.selectList( + Wrappers.lambdaQuery(OrderAuctionBond.class) + .in(CollUtils.isNotEmpty(auctionGoodsIdSet), + OrderAuctionBond::getAuctionGoodsId, auctionGoodsIdSet) .eq(OrderAuctionBond::getBoundStatus, - BondStatusEnum.PAID)); - Map<String, OrderAuctionBond> auctionSalesroomBondMap = auctionBondList.stream() + BondStatusEnum.PAID) + .groupBy(OrderAuctionBond::getAuctionGoodsId, + OrderAuctionBond::getMemberId)); + Map<String, OrderAuctionBond> auctionSalesroomBondMap = auctionSalesroomBondList.stream() .filter(bond -> bond.getBondType() == AuctionOrderTypeEnum.AUCTION_ITEMS) .collect(Collectors.toMap( bond -> bond.getAuctionSalesroomId() + "-" + bond.getMemberId(), Function.identity())); - Map<String, OrderAuctionBond> auctionSalesroomGoodsBondMap = auctionBondList.stream() + Map<String, OrderAuctionBond> auctionSalesroomGoodsBondMap = auctionGoodsBondList.stream() .filter(bond -> bond.getBondType() == AuctionOrderTypeEnum.REGULAR_ITEMS) .collect(Collectors.toMap( bond -> bond.getAuctionGoodsId() + "-" + bond.getMemberId(), Function.identity())); - - list.forEach(order -> { + for (MgtOrderVO order : list) { if (order.getAuctionOrderType() == AuctionOrderTypeEnum.AUCTION_ITEMS) { order.setSalesroomName( - StringUtils.isNotBlank(salesroomMap.get(order.getGoodsSkuId())) + StringUtils.isNotBlank(salesroomMap.get(order.getAuctionSalesroomId())) ? salesroomMap.get(order.getAuctionSalesroomId()) : "无"); order.setBoundStatus( StringUtils.isNotNull(auctionSalesroomBondMap.get( - order.getAuctionSalesroomId() + "-" + order.getMemberId()) - .getBoundStatus()) + order.getAuctionSalesroomId() + "-" + order.getMemberId())) ? auctionSalesroomBondMap.get( order.getAuctionSalesroomId() + "-" + order.getMemberId()) .getBoundStatus() @@ -1298,28 +1311,30 @@ order.setSalesroomName("无"); order.setBoundStatus( StringUtils.isNotNull(auctionSalesroomGoodsBondMap.get( - order.getGoodsSkuId() + "-" + order.getMemberId()) - .getBoundStatus()) + order.getGoodsSkuId() + "-" + order.getMemberId())) ? auctionSalesroomGoodsBondMap.get( order.getGoodsSkuId() + "-" + order.getMemberId()) .getBoundStatus() : null); } - }); + } + } Set<Long> memberVoIdSet = voList.stream().map(MgtOrderVO::getMemberId) .collect(Collectors.toSet()); List<Member> data = memberClient.getMemberListByIds(memberVoIdSet, SecurityConstants.INNER) .getData(); - Map<Long, Member> memberMap = data.stream() - .collect(Collectors.toMap(Member::getId, e -> e)); - voList = voList.stream().peek(order -> { - Member member = memberMap.get(order.getMemberId()); - if (StringUtils.isNotNull(member)) { - order.setNickname(member.getNickname()); - order.setPhone(member.getPhone()); - } - }).collect(Collectors.toList()); + if (CollUtils.isNotEmpty(data)) { + Map<Long, Member> memberMap = data.stream() + .collect(Collectors.toMap(Member::getId, e -> e)); + voList = voList.stream().peek(order -> { + Member member = memberMap.get(order.getMemberId()); + if (StringUtils.isNotNull(member)) { + order.setNickname(member.getNickname()); + order.setPhone(member.getPhone()); + } + }).collect(Collectors.toList()); + } return pageVO; } -- Gitblit v1.7.1