From 2dcde26e44e85d84c3a20fee0aaed3724edba3bc Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期一, 03 六月 2024 14:11:40 +0800 Subject: [PATCH] 用户端商品 --- ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/MemberAuctionCollectionServiceImpl.java | 100 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 99 insertions(+), 1 deletions(-) diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/MemberAuctionCollectionServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/MemberAuctionCollectionServiceImpl.java index 2aee5f2..343e525 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/MemberAuctionCollectionServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/MemberAuctionCollectionServiceImpl.java @@ -1,9 +1,28 @@ package com.ruoyi.auction.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.domain.MemberAuctionCollection; +import com.ruoyi.auction.mapper.AuctionGoodsMapper; import com.ruoyi.auction.mapper.MemberAuctionCollectionMapper; import com.ruoyi.auction.service.IMemberAuctionCollectionService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.constant.SecurityConstants; +import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.page.PageDTO; +import com.ruoyi.system.api.domain.AuctionGoods; +import com.ruoyi.system.api.domain.GoodsSku; +import com.ruoyi.system.api.domain.dto.AuctionCollectionDTO; +import com.ruoyi.system.api.domain.dto.AuctionGoodsListPageDTO; +import com.ruoyi.system.api.domain.vo.AuctionGoodsListVO; +import com.ruoyi.system.api.feignClient.GoodsSkuClient; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; +import javax.annotation.Resource; import org.springframework.stereotype.Service; /** @@ -17,4 +36,83 @@ @Service public class MemberAuctionCollectionServiceImpl extends ServiceImpl<MemberAuctionCollectionMapper, MemberAuctionCollection> implements IMemberAuctionCollectionService { + @Resource + private GoodsSkuClient goodsSkuClient; + @Resource + private AuctionGoodsMapper auctionGoodsMapper; + + + @Override + public void saveAuctionCollection(AuctionCollectionDTO auctionCollectionDTO) { + if (auctionCollectionDTO.getMemberId()!=null) { + throw new ServiceException("用户ID不能为空"); + } + if (auctionCollectionDTO.getState()!=null) { + throw new ServiceException("类型不能为空"); + } + + LambdaQueryWrapper< MemberAuctionCollection> wrapper= Wrappers.lambdaQuery(); + wrapper.eq(MemberAuctionCollection::getMemberId,auctionCollectionDTO.getMemberId()); + wrapper.eq(MemberAuctionCollection::getTargetId,auctionCollectionDTO.getGoodsSkuId()); + if (auctionCollectionDTO.getState()==1){ + List<MemberAuctionCollection> list = this.list(wrapper); + if (list.size()==0){ + MemberAuctionCollection m =new MemberAuctionCollection(); + m.setMemberId(auctionCollectionDTO.getMemberId()); + m.setTargetId(auctionCollectionDTO.getGoodsSkuId()); + this.save(m); + } + }else{ + List<MemberAuctionCollection> list = this.list(wrapper); + if (list.size()>0){ + for (MemberAuctionCollection memberArticleCollection:list){ + this.removeById(memberArticleCollection); + } + } + + } + } + + @Override + public PageDTO<AuctionGoodsListVO> getMemberAuctionCollectionList(AuctionCollectionDTO auctionCollectionDTO) { + Set<Long> goodsSkuIdList = null; + if (StringUtils.isNotEmpty(auctionCollectionDTO.getGoodsSkuName())) { + List<GoodsSku> goodsSku = goodsSkuClient.getGoodsByName(auctionCollectionDTO.getGoodsSkuName(), + SecurityConstants.INNER) + .getData(); + goodsSkuIdList = goodsSku.stream().map(GoodsSku::getId) + .collect(Collectors.toSet()); + } + AuctionGoodsListPageDTO auctionGoodsListPageDTO=new AuctionGoodsListPageDTO(); + auctionGoodsListPageDTO.setGoodsSkuIdList(goodsSkuIdList); + + Page<AuctionGoodsListVO> page = new Page<>(); + page.setSize(auctionCollectionDTO.getPageSize()); + page.setCurrent(auctionCollectionDTO.getPageCurr()); + LambdaQueryWrapper< MemberAuctionCollection> wrapper= Wrappers.lambdaQuery(); + wrapper.in( MemberAuctionCollection::getTargetId, goodsSkuIdList); + List<MemberAuctionCollection> list = this.list(wrapper); + + List<AuctionGoodsListVO> auctionGoodsVOS=new ArrayList<>(); + for (MemberAuctionCollection auctionCollection:list){ + AuctionGoods auctionGoods = auctionGoodsMapper.selectById(auctionCollection.getId()); + AuctionGoodsListVO auctionGoodsVO=new AuctionGoodsListVO(); + auctionGoodsVO.setAuctionStock(auctionGoods.getAuctionStock()); + auctionGoodsVO.setGoodsSkuId(auctionGoods.getId()); + auctionGoodsVO.setEndTime(auctionGoods.getEndTime()); + auctionGoodsVO.setStartTime(auctionGoods.getStartTime()); + auctionGoodsVO.setStartingPrice(auctionGoods.getStartingPrice()); + auctionGoodsVO.setStartStatus(auctionGoods.getStartStatus()); + GoodsSku goodsSkuOne = goodsSkuClient.getGoodsSkuOne(auctionGoods.getGoodsSkuId(), SecurityConstants.INNER).getData(); + auctionGoodsVO.setUnit(goodsSkuOne.getUnit()); + auctionGoodsVO.setSpec(goodsSkuOne.getSpec()); + auctionGoodsVO.setSpecUnit(goodsSkuOne.getSpecUnit()); + auctionGoodsVO.setGoodsSkuName(goodsSkuOne.getSkuName()); + auctionGoodsVO.setCoverPic(goodsSkuOne.getCoverPic()); + auctionGoodsVOS.add(auctionGoodsVO); + + } + page.setRecords(auctionGoodsVOS); + return PageDTO.of(page); + } } -- Gitblit v1.7.1