mitao
2024-06-04 a22249bfe0ac068f7c2c0a167aa8102ea98def0e
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java
@@ -1,4 +1,5 @@
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;
@@ -16,8 +17,8 @@
import com.ruoyi.goods.controller.management.dto.GoodsInfoTitleValueDTO;
import com.ruoyi.goods.controller.management.dto.GoodsSkuDTO;
import com.ruoyi.goods.controller.management.dto.GoodsSkuQuery;
import com.ruoyi.goods.controller.management.vo.GoodsInfoTitleValueVO;
import com.ruoyi.goods.controller.management.vo.GoodsSkuVO;
import com.ruoyi.system.api.domain.GoodsGroupPurchase;
import com.ruoyi.goods.domain.GoodsInfoTitleValue;
import com.ruoyi.goods.domain.MemberGoodsCollection;
import com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper;
@@ -26,11 +27,19 @@
import com.ruoyi.goods.service.IGoodsInfoTitleValueService;
import com.ruoyi.goods.service.IGoodsSkuService;
import com.ruoyi.goods.service.IMemberGoodsCollectionService;
import com.ruoyi.system.api.domain.*;
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.GoodsGroupPurchase;
import com.ruoyi.system.api.domain.GoodsSeckill;
import com.ruoyi.system.api.domain.GoodsSeries;
import com.ruoyi.system.api.domain.GoodsSku;
import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
import com.ruoyi.system.api.domain.dto.ListStatusDTO;
import com.ruoyi.system.api.domain.vo.HomeGoodsSkuInfoVO;
import com.ruoyi.system.api.domain.vo.HomeGoodsSkuListVO;
import com.ruoyi.system.api.feignClient.GoodsSkuClient;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
@@ -38,10 +47,7 @@
import java.util.Objects;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import com.ruoyi.system.api.domain.vo.HomeGoodsSkuListVO;
import com.ruoyi.system.api.domain.vo.HomeGoodsSkuInfoVO;
import com.ruoyi.system.api.feignClient.GoodsSkuClient;
import javax.annotation.Resource;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RLock;
@@ -49,8 +55,6 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
/**
 * <p>
@@ -69,6 +73,7 @@
    private final GoodsSeckillMapper goodsSeckillMapper;
    private final GoodsGroupPurchaseMapper goodsGroupPurchaseMapper;
    private final RedissonClient redissonClient;
    @Resource
    private  GoodsSkuClient goodsSkuClient;
@@ -409,4 +414,23 @@
                .eq(GoodsSku::getStock, skus.getStock())
                .update();
    }
    /**
     * 根据商品id查询信息标题列表
     *
     * @param id 商品id
     * @return List<GoodsInfoTitleValueVO>
     */
    @Override
    public GoodsSkuVO getGoodsDetail(Long id) {
        GoodsSku goodsSku = this.getById(id);
        if (StringUtils.isNull(goodsSku)) {
            throw new ServiceException("商品不存在");
        }
        GoodsSkuVO goodsSkuVO = BeanUtils.copyBean(goodsSku, GoodsSkuVO.class);
        List<GoodsInfoTitleValueVO> goodsInfoTitleValueVOList = goodsInfoTitleValueService.listByGoodsId(
                id);
        goodsSkuVO.setGoodsInfoTitleValueVOList(goodsInfoTitleValueVOList);
        return goodsSkuVO;
    }
}