mitao
2024-07-29 fc8b51f40e71aa09bb49f407c1e9f68ac94ceb58
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java
@@ -55,6 +55,7 @@
import java.util.List;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -194,7 +195,8 @@
        Page<GoodsSku> page = this.lambdaQuery()
                .select(GoodsSku::getId, GoodsSku::getSkuName, GoodsSku::getPrice,
                        GoodsSku::getStock, GoodsSku::getSoldQuantity, GoodsSku::getSortNum,
                        GoodsSku::getListingStatus)
                        GoodsSku::getListingStatus, GoodsSku::getUnit, GoodsSku::getSpec,
                        GoodsSku::getSpecUnit)
                .like(StringUtils.isNotEmpty(query.getSkuName()), GoodsSku::getSkuName,
                        query.getSkuName())
                .eq(StringUtils.isNotNull(query.getListingStatus()
@@ -231,20 +233,25 @@
                .eq(GoodsSeckill::getGoodsSkuId, dto.getId());
        List<GoodsSeckill> goodsSeckillList = goodsSeckillMapper.selectList(queryWrapper);
        if (StringUtils.isNotNull(goodsSeckillList)) {
            for (GoodsSeckill goodsSeckill : goodsSeckillList) {
            goodsSeckillList = goodsSeckillList.stream().peek(goodsSeckill -> {
                goodsSeckill.setListingStatus(ListingStatusEnum.REMOVED_FROM_THE_SHELF);
                goodsSeckillMapper.updateById(goodsSeckill);
            }
            }).collect(Collectors.toList());
            goodsSeckillMapper.updateListingStatusBatch(
                    ListingStatusEnum.REMOVED_FROM_THE_SHELF.getCode(), goodsSeckillList);
        }
        LambdaQueryWrapper<GoodsGroupPurchase> queryWrapper1 =new LambdaQueryWrapper<>();
        queryWrapper1.eq(GoodsGroupPurchase::getListingStatus,
                        ListingStatusEnum.ON_SHELVES)
                .eq(GoodsGroupPurchase::getGoodsSkuId, dto.getId());
        GoodsGroupPurchase goodsGroupPurchase = goodsGroupPurchaseMapper.selectOne(queryWrapper1);
        if (StringUtils.isNotNull(goodsGroupPurchase)) {
            goodsGroupPurchase.setListingStatus(ListingStatusEnum.REMOVED_FROM_THE_SHELF);
            goodsGroupPurchaseMapper.updateById(goodsGroupPurchase);
        List<GoodsGroupPurchase> goodsGroupPurchaseList = goodsGroupPurchaseMapper.selectList(
                queryWrapper1);
        if (CollUtils.isNotEmpty(goodsGroupPurchaseList)) {
            goodsGroupPurchaseList = goodsGroupPurchaseList.stream().peek(goodsGroupPurchase -> {
                goodsGroupPurchase.setListingStatus(ListingStatusEnum.REMOVED_FROM_THE_SHELF);
            }).collect(Collectors.toList());
            goodsGroupPurchaseMapper.updateListingStatusBatch(
                    ListingStatusEnum.REMOVED_FROM_THE_SHELF.getCode(), goodsGroupPurchaseList);
        }
    }
@@ -299,11 +306,11 @@
        LambdaQueryWrapper<GoodsSku> wrapper3= Wrappers.lambdaQuery();
        wrapper3.eq(GoodsSku::getDelFlag,0);
        wrapper3.eq(GoodsSku::getListingStatus,0);
        if(homeGoodsSkuDTO.getId()!=null){
            List arr=new ArrayList<>();
            arr.add(homeGoodsSkuDTO.getId());
            wrapper3.notIn(GoodsSku::getId,arr);
        }
        // if(homeGoodsSkuDTO.getId()!=null){
        //     List arr=new ArrayList<>();
        //     arr.add(homeGoodsSkuDTO.getId());
        //     wrapper3.notIn(GoodsSku::getId,arr);
        // }
        if (homeGoodsSkuDTO.getSkuName()!=null&&homeGoodsSkuDTO.getSkuName()!=""){
            wrapper3.like(GoodsSku::getSkuName,homeGoodsSkuDTO.getSkuName());
        }
@@ -386,7 +393,10 @@
            wrapper3.le(GoodsSku::getYears, parseTime7)
                    .ge(GoodsSku::getYears, parseTime15);
        }
        wrapper3.orderByAsc(GoodsSku::getSortNum);
        wrapper3.orderByDesc(GoodsSku::getCreateTime);
        wrapper3.last(",IF(isnull(sort_num),1,0), sort_num DESC");
        Page<GoodsSku> page1 = this.page(page, wrapper3);
        PageDTO<HomeGoodsSkuListVO> articleCommentsVOPageDTO = PageDTO.of(page1, HomeGoodsSkuListVO.class);
        return  articleCommentsVOPageDTO;