src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java
@@ -10,6 +10,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; import java.util.Map; public interface MallGoodsMapper extends BaseMapper<MallGoods> { IPage<MallGoodsListVo> selectMallGoodsListQueryInPage(@Param("record") MallGoodsQueryDto queryDto, Page<MallGoodsListVo> page); @@ -23,4 +26,6 @@ Integer selectMallGoodsCountByGoodsNo(@Param("goodsNo")String goodsNo); AdminMailGoodsDetailVo selectMallGoodsInfoById(@Param("id")long id); Map<String, BigDecimal> selectGoodsStockAndVolume(@Param("id") Long id); } src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java
@@ -17,7 +17,9 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.List; import java.util.Map; /** * @author wzy @@ -44,6 +46,10 @@ } 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; } src/main/resources/mapper/modules/MallGoodsMapper.xml
@@ -118,4 +118,12 @@ <select id="selectMallGoodsInfoById" resultType="cc.mrbird.febs.mall.vo.AdminMailGoodsDetailVo"> select * from mall_goods a where a.id = #{id} </select> <select id="selectGoodsStockAndVolume" resultType="java.util.HashMap"> select sum(stock) stock, sum(sku_volume) volume from mall_goods_sku where goods_id=#{id} </select> </mapper>