| | |
| | | import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomVO; |
| | | import com.ruoyi.auction.controller.forepart.vo.MemberAuctionSalesroomInfoVO; |
| | | import com.ruoyi.auction.controller.forepart.vo.MemberAuctionSalesroomVO; |
| | | import com.ruoyi.auction.controller.management.dto.MgtAuctionSaleroomBidRecordQuery; |
| | | import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomDTO; |
| | | import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomGoodsDTO; |
| | | import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomQuery; |
| | | import com.ruoyi.auction.controller.management.vo.MgtAuctionBidRecordVO; |
| | | import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomGoodsVO; |
| | | import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomVO; |
| | | import com.ruoyi.auction.domain.AuctionBidRecord; |
| | | import com.ruoyi.auction.domain.AuctionSalesroomGoods; |
| | |
| | | import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO; |
| | | import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomBondDTO; |
| | | import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO; |
| | | import com.ruoyi.system.api.domain.dto.*; |
| | | import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomWdDTO; |
| | | import com.ruoyi.system.api.domain.vo.PayInfoVO; |
| | | import com.ruoyi.system.api.domain.vo.WdMemberAuctionSalesroomVO; |
| | | import com.ruoyi.system.api.feignClient.GoodsSkuClient; |
| | |
| | | import io.seata.spring.annotation.GlobalTransactional; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | | import javax.annotation.Resource; |
| | | import org.apache.http.HttpResponse; |
| | | import org.apache.http.util.EntityUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestHeader; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | return PageDTO.of(page); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 查看详情 |
| | | * |
| | | * @param id 拍卖会id |
| | | * @return 拍卖场视图对象 |
| | | */ |
| | | @Override |
| | | public MgtAuctionSalesroomVO getAuctionSalesroom(Long id) { |
| | | // 获取拍卖场 |
| | | AuctionSalesroom auctionSalesroom = this.getById(id); |
| | | MgtAuctionSalesroomVO mgtAuctionSalesroomVO = BeanUtils.copyBean(auctionSalesroom, |
| | | MgtAuctionSalesroomVO.class); |
| | | // 获取拍卖场商品 |
| | | List<AuctionSalesroomGoods> list = auctionSalesroomGoodsService.lambdaQuery() |
| | | .eq(AuctionSalesroomGoods::getAuctionSalesroomId, id).list(); |
| | | if (StringUtils.isNotEmpty(list)) { |
| | | List<MgtAuctionSalesroomGoodsVO> mgtAuctionSalesroomGoodsVOS = BeanUtils.copyList(list, |
| | | MgtAuctionSalesroomGoodsVO.class); |
| | | Set<Long> goodsIdList = mgtAuctionSalesroomGoodsVOS.stream() |
| | | .map(MgtAuctionSalesroomGoodsVO::getGoodsSkuId).collect( |
| | | Collectors.toSet()); |
| | | // 获取商品信息 |
| | | List<GoodsSku> goodsSkuList = goodsSkuClient.getGoodsListByIds(goodsIdList, |
| | | SecurityConstants.INNER).getData(); |
| | | Map<Long, GoodsSku> goodsSkuMap = goodsSkuList.stream() |
| | | .collect(Collectors.toMap(GoodsSku::getId, Function.identity())); |
| | | |
| | | // 封装商品名称 |
| | | for (MgtAuctionSalesroomGoodsVO vo : mgtAuctionSalesroomGoodsVOS) { |
| | | GoodsSku goodsSku = goodsSkuMap.get(vo.getGoodsSkuId()); |
| | | if (StringUtils.isNotNull(goodsSku)) { |
| | | vo.setGoodsSkuName(goodsSku.getSkuName()); |
| | | } |
| | | } |
| | | mgtAuctionSalesroomVO.setAuctionSalesroomGoodsVOS(mgtAuctionSalesroomGoodsVOS); |
| | | } |
| | | return mgtAuctionSalesroomVO; |
| | | } |
| | | |
| | | /** |
| | | * 查看详情-出价记录 |
| | | * |
| | | * @param query 拍卖场出价记录查询对象 |
| | | * @return PageDTO<MgtAuctionBidRecordVO> |
| | | */ |
| | | @Override |
| | | public PageDTO<MgtAuctionBidRecordVO> getAuctionSalesroomBidRecordList( |
| | | MgtAuctionSaleroomBidRecordQuery query) { |
| | | Page<AuctionBidRecord> page = auctionBidRecordService.lambdaQuery() |
| | | .eq(AuctionBidRecord::getTargetId, query.getId()) |
| | | .eq(AuctionBidRecord::getAuctionType, AuctionOrderTypeEnum.AUCTION_ITEMS) |
| | | .orderByDesc(query.getSortType() == 1, AuctionBidRecord::getLastBidAmount) |
| | | .orderByDesc(query.getSortType() == 2, AuctionBidRecord::getBidCount) |
| | | .page(new Page<>(query.getPageCurr(), query.getPageSize())); |
| | | if (StringUtils.isNull(page.getRecords())) { |
| | | return PageDTO.empty(page); |
| | | } |
| | | PageDTO<MgtAuctionBidRecordVO> mgtAuctionBidRecordVOPageDTO = PageDTO.of(page, |
| | | MgtAuctionBidRecordVO.class); |
| | | List<MgtAuctionBidRecordVO> list = mgtAuctionBidRecordVOPageDTO.getList(); |
| | | Set<Long> goodsIdList = list.stream().map(MgtAuctionBidRecordVO::getGoodsSkuId) |
| | | .collect(Collectors.toSet()); |
| | | Set<Long> memberIdList = list.stream().map(MgtAuctionBidRecordVO::getMemberId) |
| | | .collect(Collectors.toSet()); |
| | | List<GoodsSku> goodsSkuList = goodsSkuClient.getGoodsListByIds(goodsIdList, |
| | | SecurityConstants.INNER) |
| | | .getData(); |
| | | List<Member> memberList = memberClient.getMemberListByIds(memberIdList, |
| | | SecurityConstants.INNER) |
| | | .getData(); |
| | | Map<Long, GoodsSku> goodsSkuMap = goodsSkuList.stream() |
| | | .collect(Collectors.toMap(GoodsSku::getId, Function.identity())); |
| | | Map<Long, Member> memberMap = memberList.stream() |
| | | .collect(Collectors.toMap(Member::getId, Function.identity())); |
| | | for (MgtAuctionBidRecordVO vo : list) { |
| | | GoodsSku goodsSku = goodsSkuMap.get(vo.getGoodsSkuId()); |
| | | Member member = memberMap.get(vo.getMemberId()); |
| | | if (StringUtils.isNotNull(goodsSku)) { |
| | | vo.setGoodsSkuName(goodsSku.getSkuName()); |
| | | } |
| | | if (StringUtils.isNotNull(member)) { |
| | | vo.setMemberName(member.getNickname()); |
| | | vo.setPhone(member.getPhone()); |
| | | } |
| | | } |
| | | return mgtAuctionBidRecordVOPageDTO; |
| | | } |
| | | } |