java110 лет назад: 5
Родитель
Сommit
df774e4fd2

+ 19 - 0
java110-bean/src/main/java/com/java110/dto/product/ProductDto.java

@@ -35,6 +35,9 @@ public class ProductDto extends PageDto implements Serializable {
 
     private String coverPhoto;
 
+    private String stock;
+    private String sales;
+
     private List<String> carouselFigurePhotos;
 
     private List<ProductSpecValueDto> productSpecValues;
@@ -197,4 +200,20 @@ public class ProductDto extends PageDto implements Serializable {
     public void setCategoryName(String categoryName) {
         this.categoryName = categoryName;
     }
+
+    public String getStock() {
+        return stock;
+    }
+
+    public void setStock(String stock) {
+        this.stock = stock;
+    }
+
+    public String getSales() {
+        return sales;
+    }
+
+    public void setSales(String sales) {
+        this.sales = sales;
+    }
 }

+ 21 - 0
java110-db/src/main/resources/mapper/goods/ProductSpecValueServiceDaoImplMapper.xml

@@ -63,6 +63,27 @@
     </select>
 
 
+    <!-- 查询产品库存和销量 add by wuxw 2018-07-03 -->
+    <select id="queryProductStockAndSales" parameterType="Map" resultType="Map">
+        select t.product_id productId,sum(psv.stock) stock,SUM(psv.sales) sales
+        from product_spec_value t
+        where 1 =1
+        and t.status_cd= '0'
+        <if test="productId !=null and productId != ''">
+            and t.product_id= #{productId}
+        </if>
+        <if test="productIds != null">
+            and t.product_id in
+            <foreach collection="productIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="storeId !=null and storeId != ''">
+            and t.store_id= #{storeId}
+        </if>
+        group by t.product_id
+    </select>
+
     <!-- 修改产品规格值信息 add by wuxw 2018-07-03 -->
     <update id="updateProductSpecValueInfo" parameterType="Map">
         update product_spec_value t set t.status_cd = #{statusCd}

+ 10 - 0
java110-interface/src/main/java/com/java110/intf/goods/IProductSpecValueInnerServiceSMO.java

@@ -42,6 +42,16 @@ public interface IProductSpecValueInnerServiceSMO {
     @RequestMapping(value = "/queryProductSpecValues", method = RequestMethod.POST)
     List<ProductSpecValueDto> queryProductSpecValues(@RequestBody ProductSpecValueDto productSpecValueDto);
 
+    /**
+     * <p>查询小区楼信息</p>
+     *
+     *
+     * @param productSpecValueDto 数据对象分享
+     * @return ProductSpecValueDto 对象数据
+     */
+    @RequestMapping(value = "/queryProductStockAndSales", method = RequestMethod.POST)
+    List<ProductSpecValueDto> queryProductStockAndSales(@RequestBody ProductSpecValueDto productSpecValueDto);
+
     /**
      * 查询<p>小区楼</p>总记录数
      *

+ 14 - 1
service-goods/src/main/java/com/java110/goods/bmo/product/impl/GetProductBMOImpl.java

@@ -3,7 +3,6 @@ package com.java110.goods.bmo.product.impl;
 import com.java110.dto.file.FileRelDto;
 import com.java110.dto.product.ProductDto;
 import com.java110.dto.product.ProductSpecDetailDto;
-import com.java110.dto.product.ProductSpecDto;
 import com.java110.dto.productDetail.ProductDetailDto;
 import com.java110.dto.productSpecValue.ProductSpecValueDto;
 import com.java110.goods.bmo.product.IGetProductBMO;
@@ -93,6 +92,20 @@ public class GetProductBMOImpl implements IGetProductBMO {
             }
         }
 
+        //刷入库存和销量
+        ProductSpecValueDto productSpecValueDto = new ProductSpecValueDto();
+        productSpecValueDto.setStoreId(productDtos.get(0).getStoreId());
+        productSpecValueDto.setProductIds(productIds.toArray(new String[productIds.size()]));
+        List<ProductSpecValueDto> productSpecValueDtos = productSpecValueInnerServiceSMOImpl.queryProductStockAndSales(productSpecValueDto);
+        for (ProductDto tmpProduct : productDtos) {
+            for (ProductSpecValueDto tmpProdSpecValue : productSpecValueDtos) {
+                if (tmpProdSpecValue.getProductId().equals(tmpProduct.getProductId())) {
+                    tmpProduct.setSales(tmpProdSpecValue.getSales());
+                    tmpProduct.setStock(tmpProdSpecValue.getStock());
+                }
+            }
+        }
+
         // 查询规格
         if (productDtos.size() > 1) {
             return;

+ 5 - 0
service-goods/src/main/java/com/java110/goods/dao/IProductSpecValueServiceDao.java

@@ -41,6 +41,11 @@ public interface IProductSpecValueServiceDao {
     List<Map> getProductSpecValueInfo(Map info) throws DAOException;
 
 
+    List<Map> queryProductStockAndSales(Map info) throws DAOException;
+
+
+
+
 
     /**
      * 修改产品规格值信息

+ 16 - 0
service-goods/src/main/java/com/java110/goods/dao/impl/ProductSpecValueServiceDaoImpl.java

@@ -61,6 +61,22 @@ public class ProductSpecValueServiceDaoImpl extends BaseServiceDao implements IP
     }
 
 
+
+    /**
+     * 查询库存和销量(instance)
+     * @param info bId 信息
+     * @return List<Map>
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public List<Map> queryProductStockAndSales(Map info) throws DAOException {
+        logger.debug("查询产品规格值信息 入参 info : {}",info);
+
+        List<Map> businessProductSpecValueInfos = sqlSessionTemplate.selectList("productSpecValueServiceDaoImpl.queryProductStockAndSales",info);
+
+        return businessProductSpecValueInfos;
+    }
+
     /**
      * 修改产品规格值信息
      * @param info 修改信息

+ 9 - 0
service-goods/src/main/java/com/java110/goods/smo/impl/ProductSpecValueInnerServiceSMOImpl.java

@@ -67,6 +67,15 @@ public class ProductSpecValueInnerServiceSMOImpl extends BaseServiceSMO implemen
         return productSpecValues;
     }
 
+    @Override
+    public List<ProductSpecValueDto> queryProductStockAndSales(@RequestBody ProductSpecValueDto productSpecValueDto) {
+        List<ProductSpecValueDto> productSpecValues = BeanConvertUtil.covertBeanList(
+                productSpecValueServiceDaoImpl.queryProductStockAndSales(BeanConvertUtil.beanCovertMap(productSpecValueDto)),
+                ProductSpecValueDto.class);
+
+        return productSpecValues;
+    }
+
 
     @Override
     public int queryProductSpecValuesCount(@RequestBody ProductSpecValueDto productSpecValueDto) {