|  |  |  | 
|---|
|  |  |  | package cc.mrbird.febs.mall.service.impl; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import cc.mrbird.febs.common.exception.FebsException; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.conversion.MallGoodsConversion; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.conversion.MallMemberConversion; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.dto.MallGoodsQueryDto; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.entity.MallGoods; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.mapper.MallGoodsImagesMapper; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.mapper.MallGoodsMapper; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.service.IApiMallGoodsService; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.vo.MallGoodsDetailsVo; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.vo.MallGoodsListVo; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.metadata.IPage; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
|---|
|  |  |  | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @author wzy | 
|---|
|  |  |  | 
|---|
|  |  |  | @RequiredArgsConstructor | 
|---|
|  |  |  | public class ApiMallGoodsServiceImpl extends ServiceImpl<MallGoodsMapper, MallGoods> implements IApiMallGoodsService { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private final MallGoodsImagesMapper goodsImagesMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<MallGoodsListVo> findMallGoodsListInPage(MallGoodsQueryDto queryDto) { | 
|---|
|  |  |  | Page<MallGoodsListVo> page = new Page<>(queryDto.getPageNow(), queryDto.getPageSize()); | 
|---|
|  |  |  | return this.baseMapper.selectMallGoodsListQueryInPage(queryDto, page); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public MallGoodsDetailsVo findMallGoodsDetailsById(Long id) { | 
|---|
|  |  |  | MallGoods mallGoods = this.baseMapper.selectGoodsDetailById(id); | 
|---|
|  |  |  | if (mallGoods == null) { | 
|---|
|  |  |  | throw new FebsException("商品不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<String> images = goodsImagesMapper.selectGoodsImagesByGoodsId(mallGoods.getId()); | 
|---|
|  |  |  | MallGoodsDetailsVo mallGoodsDetailsVo = MallGoodsConversion.INSTANCE.entityToDetailsVo(mallGoods); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Map<String, BigDecimal> stockAndVolume = this.baseMapper.selectGoodsStockAndVolume(id); | 
|---|
|  |  |  | mallGoodsDetailsVo.setStock(stockAndVolume.get("stock").intValue()); | 
|---|
|  |  |  | mallGoodsDetailsVo.setVolume(stockAndVolume.get("volume").intValue()); | 
|---|
|  |  |  | mallGoodsDetailsVo.setImages(images); | 
|---|
|  |  |  | return mallGoodsDetailsVo; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|