From 515febc28dd30ba343143600e21d1f78be12a0c3 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 10 May 2022 15:40:43 +0800
Subject: [PATCH] fix goods-list and details interface

---
 src/main/java/cc/mrbird/febs/mall/vo/MallGoodsDetailsVo.java                |    7 +++++++
 src/main/resources/mapper/modules/MallGoodsMapper.xml                       |   10 ++++++----
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java |    9 ++++++---
 3 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java
index b7fc216..35dfc36 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java
@@ -10,6 +10,7 @@
 import cc.mrbird.febs.mall.service.IApiMallGoodsService;
 import cc.mrbird.febs.mall.vo.MallGoodsDetailsVo;
 import cc.mrbird.febs.mall.vo.MallGoodsListVo;
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -47,9 +48,11 @@
         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());
+        if (CollUtil.isNotEmpty(mallGoods.getStyles())) {
+            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;
     }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MallGoodsDetailsVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MallGoodsDetailsVo.java
index 3f358ae..1a00506 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MallGoodsDetailsVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MallGoodsDetailsVo.java
@@ -4,6 +4,7 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -44,6 +45,12 @@
     @ApiModelProperty(value = "销量")
     private Integer volume;
 
+    @ApiModelProperty(value = "商品类型")
+    private Integer goodsType;
+
+    @ApiModelProperty(value = "积分")
+    private BigDecimal score;
+
     @ApiModelProperty(value = "轮播图")
     private List<String> images;
 
diff --git a/src/main/resources/mapper/modules/MallGoodsMapper.xml b/src/main/resources/mapper/modules/MallGoodsMapper.xml
index 552d078..2b0cbce 100644
--- a/src/main/resources/mapper/modules/MallGoodsMapper.xml
+++ b/src/main/resources/mapper/modules/MallGoodsMapper.xml
@@ -16,6 +16,8 @@
         <result property="categoryId" column="category_id" />
         <result property="volume" column="volume" />
         <result property="stock" column="stock" />
+        <result property="score" column="score" />
+        <result property="goodsType" column="goods_type" />
         <collection property="styles" ofType="cc.mrbird.febs.mall.entity.MallGoodsStyle">
             <id property="id" column="style_id" />
             <result property="name" column="style_name" />
@@ -24,7 +26,7 @@
                 <id property="id" column="sku_id" />
                 <result property="skuName" column="sku_name" />
                 <result property="skuImage" column="sku_image" />
-                <result property="stock" column="stock" />
+                <result property="stock" column="sku_stock" />
                 <result property="skuVolume" column="sku_volume" />
                 <result property="originalPrice" column="sku_original_price" />
                 <result property="presentPrice" column="sku_present_price" />
@@ -43,7 +45,7 @@
             c.id sku_id,
             c.sku_name,
             c.sku_image,
-            c.stock,
+            c.stock sku_stock,
             c.sku_volume,
             c.original_price sku_original_price,
             c.present_price sku_present_price,
@@ -68,8 +70,8 @@
                 min(b.present_price) price,
                 sum(b.sku_volume) saleVolume
             from mall_goods a
-                 inner join mall_goods_sku b on a.id=b.goods_id
-                 inner join mall_goods_category c on a.category_id=c.id
+                 left join mall_goods_sku b on a.id=b.goods_id
+                 left join mall_goods_category c on a.category_id=c.id
             <where>
                 a.is_sale=1
                 <if test="record != null">

--
Gitblit v1.9.1