From e57e32fc43da31917912eebb4e47d4e50df1a9e9 Mon Sep 17 00:00:00 2001
From: shiyj1101 <1098226878@qq.com>
Date: 星期四, 05 八月 2021 22:56:15 +0800
Subject: [PATCH] 完善格式化功能

---
 service-goods/src/main/java/com/java110/goods/bmo/product/impl/GetProductBMOImpl.java |   96 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 94 insertions(+), 2 deletions(-)

diff --git a/service-goods/src/main/java/com/java110/goods/bmo/product/impl/GetProductBMOImpl.java b/service-goods/src/main/java/com/java110/goods/bmo/product/impl/GetProductBMOImpl.java
old mode 100644
new mode 100755
index a7f2a25..1b3f3b7
--- a/service-goods/src/main/java/com/java110/goods/bmo/product/impl/GetProductBMOImpl.java
+++ b/service-goods/src/main/java/com/java110/goods/bmo/product/impl/GetProductBMOImpl.java
@@ -1,12 +1,16 @@
 package com.java110.goods.bmo.product.impl;
 
 import com.java110.dto.file.FileRelDto;
+import com.java110.dto.groupBuyProduct.GroupBuyProductDto;
+import com.java110.dto.groupBuyProductSpec.GroupBuyProductSpecDto;
+import com.java110.dto.product.ProductActivityDto;
 import com.java110.dto.product.ProductDto;
+import com.java110.dto.product.ProductSpecDetailDto;
 import com.java110.dto.productDetail.ProductDetailDto;
+import com.java110.dto.productSpecValue.ProductSpecValueDto;
 import com.java110.goods.bmo.product.IGetProductBMO;
-import com.java110.intf.IProductDetailInnerServiceSMO;
 import com.java110.intf.common.IFileRelInnerServiceSMO;
-import com.java110.intf.goods.IProductInnerServiceSMO;
+import com.java110.intf.goods.*;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -27,6 +31,19 @@
 
     @Autowired
     private IProductDetailInnerServiceSMO productDetailInnerServiceSMOImpl;
+
+    @Autowired
+    private IProductSpecValueInnerServiceSMO productSpecValueInnerServiceSMOImpl;
+
+    @Autowired
+    private IProductSpecDetailInnerServiceSMO productSpecDetailInnerServiceSMOImpl;
+
+    @Autowired
+    private IGroupBuyProductInnerServiceSMO groupBuyProductInnerServiceSMOImpl;
+
+
+    @Autowired
+    private IGroupBuyProductSpecInnerServiceSMO groupBuyProductSpecInnerServiceSMOImpl;
 
     /**
      * @param productDto
@@ -82,6 +99,21 @@
             }
         }
 
+        //鍒峰叆搴撳瓨鍜岄攢閲�
+        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;
         }
@@ -102,6 +134,10 @@
             tmpProductDto.setCarouselFigurePhotos(photos);
         }
 
+        freshProductSpecValue(productDtos);
+        judgeGroupBuyProduct(productDtos.get(0));
+
+
         ProductDetailDto productDetailDto = new ProductDetailDto();
         productDetailDto.setProductId(productDtos.get(0).getProductId());
         productDetailDto.setStoreId(productDtos.get(0).getStoreId());
@@ -114,4 +150,60 @@
         productDtos.get(0).setContent(productDetailDtos.get(0).getContent());
     }
 
+    private void judgeGroupBuyProduct(ProductDto productDto) {
+        //鍒ゆ柇鍟嗗搧鏄惁 鎷煎洟
+        GroupBuyProductDto groupBuyProductDto = new GroupBuyProductDto();
+        groupBuyProductDto.setProductId(productDto.getProductId());
+        groupBuyProductDto.setStoreId(productDto.getStoreId());
+        List<GroupBuyProductDto> groupBuyProductDtos = groupBuyProductInnerServiceSMOImpl.queryGroupBuyProducts(groupBuyProductDto);
+
+        if (groupBuyProductDtos == null || groupBuyProductDtos.size() < 1) {
+            return;
+        }
+
+        productDto.setActType(ProductActivityDto.ACT_TYPE_GROUP);
+        productDto.setActEndTime(groupBuyProductDtos.get(0).getBatchEndTime());
+        productDto.setActProdName(groupBuyProductDtos.get(0).getGroupProdName());
+        productDto.setActProdDesc(groupBuyProductDtos.get(0).getGroupProdDesc());
+
+        GroupBuyProductSpecDto groupBuyProductSpecDto = new GroupBuyProductSpecDto();
+        groupBuyProductSpecDto.setStoreId(groupBuyProductDtos.get(0).getStoreId());
+        groupBuyProductSpecDto.setProductId(groupBuyProductDtos.get(0).getProductId());
+        groupBuyProductSpecInnerServiceSMOImpl.queryGroupBuyProductSpecs(groupBuyProductSpecDto);
+
+
+    }
+
+    private void freshProductSpecValue(List<ProductDto> productDtos) {
+        ProductSpecValueDto productSpecValueDto = new ProductSpecValueDto();
+        productSpecValueDto.setProductId(productDtos.get(0).getProductId());
+        productSpecValueDto.setStoreId(productDtos.get(0).getStoreId());
+        List<ProductSpecValueDto> productSpecValueDtos = productSpecValueInnerServiceSMOImpl.queryProductSpecValues(productSpecValueDto);
+
+        if (productSpecValueDtos == null || productSpecValueDtos.size() < 1) {
+            return;
+        }
+        productDtos.get(0).setProductSpecValues(productSpecValueDtos);
+
+        List<String> specIds = new ArrayList<>();
+        for (ProductSpecValueDto productSpecValue : productSpecValueDtos) {
+            specIds.add(productSpecValue.getSpecId());
+        }
+
+        ProductSpecDetailDto productSpecDetailDto = new ProductSpecDetailDto();
+        productSpecDetailDto.setSpecIds(specIds.toArray(new String[specIds.size()]));
+        productSpecDetailDto.setStoreId(productDtos.get(0).getStoreId());
+        List<ProductSpecDetailDto> productSpecDetailDtos = productSpecDetailInnerServiceSMOImpl.queryProductSpecDetails(productSpecDetailDto);
+        List<ProductSpecDetailDto> tmpProductSpecDetailDtos = null;
+        for (ProductSpecValueDto productSpecValue : productSpecValueDtos) {
+            tmpProductSpecDetailDtos = new ArrayList<>();
+            for (ProductSpecDetailDto tmpProductSpecDetailDto : productSpecDetailDtos) {
+                if (productSpecValue.getSpecId().equals(tmpProductSpecDetailDto.getSpecId())) {
+                    tmpProductSpecDetailDtos.add(tmpProductSpecDetailDto);
+                }
+            }
+            productSpecValue.setProductSpecDetails(tmpProductSpecDetailDtos);
+        }
+    }
+
 }

--
Gitblit v1.8.0