From f44e4d609e7efaed9eac545137970b1e334f8106 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期六, 21 九月 2024 09:01:36 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/MemberGoodsCollectionServiceImpl.java |  162 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 161 insertions(+), 1 deletions(-)

diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/MemberGoodsCollectionServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/MemberGoodsCollectionServiceImpl.java
index 93d95ed..cfb4ae3 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/MemberGoodsCollectionServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/MemberGoodsCollectionServiceImpl.java
@@ -1,9 +1,31 @@
 package com.ruoyi.goods.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.common.core.exception.ServiceException;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.page.CollUtils;
+import com.ruoyi.common.core.utils.page.PageDTO;
 import com.ruoyi.goods.domain.MemberGoodsCollection;
+import com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper;
+import com.ruoyi.goods.mapper.GoodsSeckillMapper;
+import com.ruoyi.goods.mapper.GoodsSkuMapper;
 import com.ruoyi.goods.mapper.MemberGoodsCollectionMapper;
 import com.ruoyi.goods.service.IMemberGoodsCollectionService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.system.api.domain.GoodsGroupPurchase;
+import com.ruoyi.system.api.domain.GoodsSeckill;
+import com.ruoyi.system.api.domain.GoodsSku;
+import com.ruoyi.system.api.domain.dto.AuctionCollectionDTO;
+import com.ruoyi.system.api.domain.vo.HomeGoodsSkuListVO;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+import javax.annotation.Resource;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +39,142 @@
 @Service
 public class MemberGoodsCollectionServiceImpl extends ServiceImpl<MemberGoodsCollectionMapper, MemberGoodsCollection> implements IMemberGoodsCollectionService {
 
+
+     @Resource
+     private GoodsSkuMapper goodsSkuMapper;
+
+    @Resource
+    private GoodsSeckillMapper goodsSeckillMapper;
+
+
+    @Resource
+    private GoodsGroupPurchaseMapper goodsGroupPurchaseMapper;
+
+    @Override
+    public void saveGoodsCollection(AuctionCollectionDTO auctionCollectionDTO) {
+        if (auctionCollectionDTO.getMemberId()==null) {
+            throw new ServiceException("用户ID不能为空");
+        }
+        if (auctionCollectionDTO.getState()==null) {
+            throw new ServiceException("类型不能为空");
+        }
+
+        LambdaQueryWrapper< MemberGoodsCollection> wrapper= Wrappers.lambdaQuery();
+        wrapper.eq(MemberGoodsCollection::getMemberId,auctionCollectionDTO.getMemberId());
+        wrapper.eq(MemberGoodsCollection::getTargetId,auctionCollectionDTO.getGoodsSkuId());
+        if (auctionCollectionDTO.getType()!=null){
+            wrapper.eq(MemberGoodsCollection::getType,auctionCollectionDTO.getType());
+        }
+        if (auctionCollectionDTO.getState()==1){
+            List<MemberGoodsCollection> list = this.list(wrapper);
+            if (list.size()==0){
+                MemberGoodsCollection m =new MemberGoodsCollection();
+                m.setMemberId(auctionCollectionDTO.getMemberId());
+                m.setTargetId(auctionCollectionDTO.getGoodsSkuId());
+                m.setType(auctionCollectionDTO.getType());
+                this.save(m);
+            }
+        }else{
+            List<MemberGoodsCollection> list = this.list(wrapper);
+            if (list.size()>0){
+                for (MemberGoodsCollection memberArticleCollection:list){
+                    this.removeById(memberArticleCollection);
+                }
+            }
+
+        }
+    }
+
+    @Override
+    public PageDTO<HomeGoodsSkuListVO> getGoodsCollectionList(AuctionCollectionDTO auctionCollectionDTO) {
+
+        Set<Long> goodsSkuIdList = null;
+        if (StringUtils.isNotEmpty(auctionCollectionDTO.getGoodsSkuName())) {
+            LambdaQueryWrapper<GoodsSku> wrapper= Wrappers.lambdaQuery();
+            wrapper.like(GoodsSku::getSkuName,auctionCollectionDTO.getGoodsSkuName());
+            wrapper.eq(GoodsSku::getDelFlag,0);
+            List<GoodsSku> page1 = goodsSkuMapper.selectList(wrapper);
+            goodsSkuIdList = page1.stream().map(GoodsSku::getId)
+                    .collect(Collectors.toSet());
+        }
+
+
+        Page<HomeGoodsSkuListVO> page = new Page<>();
+        page.setSize(auctionCollectionDTO.getPageSize());
+        page.setCurrent(auctionCollectionDTO.getPageCurr());
+        LambdaQueryWrapper< MemberGoodsCollection> wrapper= Wrappers.lambdaQuery();
+        wrapper.eq(MemberGoodsCollection::getMemberId,auctionCollectionDTO.getMemberId());
+        if (StringUtils.isNotEmpty(auctionCollectionDTO.getGoodsSkuName())){
+            if (goodsSkuIdList.size()>0){
+                wrapper.in(MemberGoodsCollection::getTargetId,goodsSkuIdList);
+            }else{
+                goodsSkuIdList=new HashSet<>();
+                goodsSkuIdList.add(0L);
+                wrapper.in(MemberGoodsCollection::getTargetId,goodsSkuIdList);
+            }
+        }
+        List<MemberGoodsCollection> list = this.list(wrapper);
+        if (CollUtils.isNotEmpty(list)) {
+            List<HomeGoodsSkuListVO> auctionGoodsVOS = new ArrayList<>();
+            for (MemberGoodsCollection auctionCollection : list) {
+                if (auctionCollection.getType() == 1) {
+                    HomeGoodsSkuListVO auctionGoodsVO = new HomeGoodsSkuListVO();
+                    GoodsSku goodsSku = goodsSkuMapper.selectById(auctionCollection.getTargetId());
+                    if (Objects.nonNull(goodsSku)) {
+                        auctionGoodsVO.setId(goodsSku.getId());
+                        auctionGoodsVO.setPrice(goodsSku.getPrice());
+                        auctionGoodsVO.setCoverPic(goodsSku.getCoverPic());
+                        auctionGoodsVO.setSkuName(goodsSku.getSkuName());
+                        auctionGoodsVO.setSoldQuantity(goodsSku.getSoldQuantity());
+                        auctionGoodsVO.setIsCollection(2);
+                        auctionGoodsVO.setType(auctionCollection.getType());
+                        auctionGoodsVOS.add(auctionGoodsVO);
+                    }
+                }
+                if (auctionCollection.getType() == 3) {
+                    HomeGoodsSkuListVO auctionGoodsVO = new HomeGoodsSkuListVO();
+                    GoodsSeckill goodsSeckill = goodsSeckillMapper.selectById(
+                            auctionCollection.getTargetId());
+                    GoodsSku goodsSku = goodsSkuMapper.selectById(goodsSeckill.getGoodsSkuId());
+                    auctionGoodsVO.setId(auctionCollection.getTargetId());
+                    auctionGoodsVO.setPrice(goodsSeckill.getSeckillPrice());
+                    auctionGoodsVO.setCoverPic(goodsSku.getCoverPic());
+                    auctionGoodsVO.setSkuName(goodsSku.getSkuName());
+                    auctionGoodsVO.setSoldQuantity(goodsSku.getSoldQuantity());
+                    auctionGoodsVO.setIsCollection(2);
+                    auctionGoodsVO.setStartStatus(goodsSeckill.getStartStatus());
+                    auctionGoodsVO.setStartTime(goodsSeckill.getStartTime());
+                    auctionGoodsVO.setEndTime(goodsSeckill.getEndTime());
+                    auctionGoodsVO.setXiaosPrice(goodsSku.getPrice());
+                    auctionGoodsVO.setType(auctionCollection.getType());
+                    auctionGoodsVOS.add(auctionGoodsVO);
+                }
+                if (auctionCollection.getType() == 2) {
+                    GoodsGroupPurchase goodsGroupPurchase = goodsGroupPurchaseMapper.selectById(
+                            auctionCollection.getTargetId());
+                    HomeGoodsSkuListVO auctionGoodsVO = new HomeGoodsSkuListVO();
+                    if (goodsGroupPurchase != null) {
+                        GoodsSku goodsSku = goodsSkuMapper.selectById(
+                                goodsGroupPurchase.getGoodsSkuId());
+                        auctionGoodsVO.setId(auctionCollection.getTargetId());
+                        auctionGoodsVO.setPrice(goodsGroupPurchase.getGroupPurchasePrice());
+                        auctionGoodsVO.setCoverPic(goodsSku.getCoverPic());
+                        auctionGoodsVO.setSkuName(goodsSku.getSkuName());
+                        auctionGoodsVO.setSoldQuantity(goodsSku.getSoldQuantity());
+                        auctionGoodsVO.setIsCollection(2);
+                        auctionGoodsVO.setXiaosPrice(goodsSku.getPrice());
+                        auctionGoodsVO.setStartTime(goodsGroupPurchase.getStartTime());
+                        auctionGoodsVO.setEndTime(goodsGroupPurchase.getEndTime());
+                        auctionGoodsVO.setXiaosPrice(goodsGroupPurchase.getGroupPurchasePrice());
+                        auctionGoodsVO.setType(auctionCollection.getType());
+                        auctionGoodsVOS.add(auctionGoodsVO);
+                    }
+
+                }
+
+            }
+            page.setRecords(auctionGoodsVOS);
+        }
+        return PageDTO.of(page);
+    }
 }

--
Gitblit v1.7.1