| | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.auction.controller.forepart.vo.MemberAuctionSalesroomVO; |
| | | import com.google.common.collect.Lists; |
| | | import com.ruoyi.auction.controller.management.dto.AuctionGoodsDTO; |
| | | import com.ruoyi.auction.controller.management.dto.AuctionGoodsQuery; |
| | | import com.ruoyi.auction.controller.management.vo.AuctionBidRecordVO; |
| | | import com.ruoyi.auction.controller.management.vo.AuctionGoodsVO; |
| | | import com.ruoyi.auction.controller.management.dto.MgtAuctionGoodsDTO; |
| | | import com.ruoyi.auction.controller.management.dto.MgtAuctionGoodsQuery; |
| | | import com.ruoyi.auction.controller.management.vo.MgtAuctionBidRecordVO; |
| | | import com.ruoyi.auction.controller.management.vo.MgtAuctionGoodsVO; |
| | | import com.ruoyi.auction.domain.AuctionBidRecord; |
| | | import com.ruoyi.auction.domain.MemberAuctionCollection; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.system.api.domain.*; |
| | | import com.ruoyi.auction.mapper.AuctionGoodsMapper; |
| | | import com.ruoyi.auction.service.IAuctionBidRecordService; |
| | | import com.ruoyi.auction.service.IAuctionGoodsService; |
| | |
| | | import com.ruoyi.common.core.utils.page.BeanUtils; |
| | | import com.ruoyi.common.core.utils.page.PageDTO; |
| | | import com.ruoyi.system.api.domain.AuctionGoods; |
| | | import com.ruoyi.system.api.domain.dto.*; |
| | | import com.ruoyi.system.api.domain.dto.AuctionGoodsListDTO; |
| | | import com.ruoyi.system.api.domain.dto.AuctionGoodsListPageDTO; |
| | | import com.ruoyi.system.api.domain.GoodsBrand; |
| | | import com.ruoyi.system.api.domain.GoodsCategory; |
| | | import com.ruoyi.system.api.domain.GoodsFlavorType; |
| | | import com.ruoyi.system.api.domain.GoodsSeries; |
| | | import com.ruoyi.system.api.domain.GoodsSku; |
| | | import com.ruoyi.system.api.domain.Member; |
| | | import com.ruoyi.system.api.domain.MemberAddress; |
| | | import com.ruoyi.system.api.domain.OrderAuctionBond; |
| | | import com.ruoyi.system.api.domain.dto.AuctionGoodsListDTO; |
| | | import com.ruoyi.system.api.domain.dto.AuctionGoodsListPageDTO; |
| | | import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO; |
| | | import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO; |
| | | import com.ruoyi.system.api.domain.dto.OrderDTO; |
| | | import com.ruoyi.system.api.domain.dto.RefundDTO; |
| | | import com.ruoyi.system.api.domain.vo.AuctionGoodsListVO; |
| | |
| | | import java.util.Objects; |
| | | import java.util.Set; |
| | | import java.util.stream.Collectors; |
| | | import javax.annotation.Resource; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @return PageDTO<AuctionGoodsVO> |
| | | */ |
| | | @Override |
| | | public PageDTO<AuctionGoodsVO> getAuctionGoodsPage(AuctionGoodsQuery query) { |
| | | public PageDTO<MgtAuctionGoodsVO> getAuctionGoodsPage(MgtAuctionGoodsQuery query) { |
| | | Set<Long> goodsSkuIdList = null; |
| | | if (StringUtils.isNotEmpty(query.getGoodsSkuName())) { |
| | | List<GoodsSku> goodsSku = goodsSkuClient.getGoodsByName(query.getGoodsSkuName(), |
| | |
| | | .eq(StringUtils.isNotNull(query.getStartStatus()), AuctionGoods::getStartStatus, |
| | | query.getStartStatus()) |
| | | .page(new Page<>(query.getPageCurr(), query.getPageSize())); |
| | | return PageDTO.of(page, AuctionGoodsVO.class); |
| | | return PageDTO.of(page, MgtAuctionGoodsVO.class); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | @GlobalTransactional(rollbackFor = Exception.class) |
| | | public void saveAuctionGoods(AuctionGoodsDTO dto) { |
| | | public void saveAuctionGoods(MgtAuctionGoodsDTO dto) { |
| | | Long id = dto.getId(); |
| | | Long goodsSkuId = dto.getGoodsSkuId(); |
| | | AuctionGoods auctionGoods = BeanUtils.copyBean(dto, AuctionGoods.class); |
| | |
| | | * @return AuctionGoodsVO |
| | | */ |
| | | @Override |
| | | public AuctionGoodsVO getAuctionGoodsById(Long id) { |
| | | public MgtAuctionGoodsVO getAuctionGoodsById(Long id) { |
| | | AuctionGoods auctionGoods = this.getById(id); |
| | | if (StringUtils.isNull(auctionGoods)) { |
| | | throw new ServiceException("拍卖商品不存在"); |
| | | } |
| | | AuctionGoodsVO auctionGoodsVO = BeanUtils.copyBean(auctionGoods, AuctionGoodsVO.class); |
| | | MgtAuctionGoodsVO auctionGoodsVO = BeanUtils.copyBean(auctionGoods, |
| | | MgtAuctionGoodsVO.class); |
| | | if (!auctionGoods.getStartStatus().equals(AuctionStartStatusEnum.IN_PREVIEW)) { |
| | | List<AuctionBidRecord> list = auctionBidRecordService.lambdaQuery() |
| | | .eq(AuctionBidRecord::getTargetId, auctionGoodsVO.getId()) |
| | |
| | | getMemberListByIds(collect, SecurityConstants.INNER).getData(); |
| | | Map<Long, String> memberMap = memberList.stream() |
| | | .collect(Collectors.toMap(Member::getId, Member::getNickname)); |
| | | List<AuctionBidRecordVO> auctionBidRecordVOS = BeanUtils.copyList(list, |
| | | AuctionBidRecordVO.class); |
| | | for (AuctionBidRecordVO vo : auctionBidRecordVOS) { |
| | | List<MgtAuctionBidRecordVO> mgtAuctionBidRecordVOS = BeanUtils.copyList(list, |
| | | MgtAuctionBidRecordVO.class); |
| | | for (MgtAuctionBidRecordVO vo : mgtAuctionBidRecordVOS) { |
| | | String memberName = memberMap.get(vo.getMemberId()); |
| | | vo.setMemberName(StringUtils.isNotEmpty(memberName) ? memberName : ""); |
| | | } |
| | | auctionGoodsVO.setRecordList(auctionBidRecordVOS); |
| | | auctionGoodsVO.setRecordList(mgtAuctionBidRecordVOS); |
| | | } |
| | | } |
| | | return auctionGoodsVO; |