| | |
| | | .eq(AuctionBidRecord::getAuctionType, AuctionOrderTypeEnum.AUCTION_ITEMS) |
| | | ); |
| | | if (CollUtils.isNotEmpty(auctionBidRecordList)) { |
| | | // 提取 goodsIds 和 auctionSalesroomIds |
| | | Set<Long> goodsIds = auctionBidRecordList.stream() |
| | | .map(AuctionBidRecord::getTargetId) |
| | | .collect(Collectors.toSet()); |
| | | |
| | | // 提取auctionSalesroomIds |
| | | Set<Long> auctionSalesroomIds = auctionBidRecordList.stream() |
| | | .map(AuctionBidRecord::getAuctionSalesroomId) |
| | | .collect(Collectors.toSet()); |
| | |
| | | // 查询拍卖场商品信息 |
| | | List<AuctionSalesroomGoods> salesroomGoodss = auctionSalesroomGoodsService.list( |
| | | new LambdaQueryWrapper<AuctionSalesroomGoods>() |
| | | .in(AuctionSalesroomGoods::getAuctionSalesroomId, auctionSalesroomIds) |
| | | .in(AuctionSalesroomGoods::getGoodsSkuId, goodsIds) |
| | | ); |
| | | .in(AuctionSalesroomGoods::getAuctionSalesroomId, auctionSalesroomIds)); |
| | | |
| | | Map<String, AuctionSalesroomGoods> roomMap = salesroomGoodss.stream() |
| | | Map<Long, AuctionSalesroomGoods> roomMap = salesroomGoodss.stream() |
| | | .collect(Collectors.toMap( |
| | | i -> String.format("%s-%s", i.getAuctionSalesroomId(), |
| | | i.getGoodsSkuId()), |
| | | AuctionSalesroomGoods::getId, |
| | | i -> i |
| | | )); |
| | | |
| | | // 查询拍卖场信息 |
| | | List<AuctionSalesroom> auctionSalesroomList = auctionSalesroomService.listByIds( |
| | | auctionSalesroomIds); |
| | | Map<Long, AuctionSalesroom> auctionSalesroomMap = auctionSalesroomList.stream() |
| | | .collect(Collectors.toMap(AuctionSalesroom::getId, e -> e)); |
| | | |
| | | // 提取 goodsIds |
| | | Set<Long> goodsIds = salesroomGoodss.stream() |
| | | .map(AuctionSalesroomGoods::getGoodsSkuId) |
| | | .collect(Collectors.toSet()); |
| | | Map<Long, MgtAuctionSalesroomVO> auctionSalesroomVOMap = list.stream() |
| | | .collect(Collectors.toMap(MgtAuctionSalesroomVO::getId, e -> e)); |
| | | // 查询商品信息 |
| | | R<List<GoodsSku>> goodsListByIdsR = goodsSkuClient.getGoodsListByIds(goodsIds, |
| | | SecurityConstants.INNER); |
| | |
| | | AuctionBidRecordVO.class); |
| | | auctionBidRecordVO.setNum(auctionBidRecordList.indexOf(auctionBidRecord) + 1); |
| | | |
| | | AuctionSalesroomGoods salesroomGoods = roomMap.get( |
| | | String.format("%s-%s", auctionBidRecord |
| | | .getAuctionSalesroomId(), auctionBidRecord.getTargetId())); |
| | | AuctionSalesroomGoods salesroomGoods = roomMap.get(auctionBidRecord.getTargetId()); |
| | | if (salesroomGoods != null) { |
| | | BigDecimal totalAmount = auctionBidRecord.getLastBidAmount() |
| | | .multiply(new BigDecimal(salesroomGoods |
| | | .getDealQuantity())); |
| | | auctionBidRecordVO.setTotalAmount(totalAmount); |
| | | GoodsSku goodsSku = goodsSkuMap.get(salesroomGoods.getGoodsSkuId()); |
| | | if (goodsSku != null) { |
| | | auctionBidRecordVO.setGoodsSkuName(goodsSku.getSkuName()); |
| | | } |
| | | } |
| | | |
| | | AuctionSalesroom auctionSalesroom = auctionSalesroomMap.get( |
| | | MgtAuctionSalesroomVO auctionSalesroom = auctionSalesroomVOMap.get( |
| | | auctionBidRecord.getAuctionSalesroomId()); |
| | | if (auctionSalesroom != null) { |
| | | auctionBidRecordVO.setAuctionSalesroomName(auctionSalesroom.getSalesroomName()); |
| | | } |
| | | |
| | | GoodsSku goodsSku = goodsSkuMap.get(auctionBidRecord.getTargetId()); |
| | | if (goodsSku != null) { |
| | | auctionBidRecordVO.setGoodsSkuName(goodsSku.getSkuName()); |
| | | } |
| | | |
| | | return auctionBidRecordVO; |
| | | }).collect(Collectors.toList()); |
| | | } |