From 89797724de8d01ce53bb39004940d00981602882 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 27 十月 2020 18:37:09 +0800
Subject: [PATCH] 优化代码
---
service-goods/src/main/java/com/java110/goods/bmo/product/impl/GetProductBMOImpl.java | 61 ++++++++++++++++++++++++++++++
1 files changed, 60 insertions(+), 1 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
index a7f2a25..89f679f 100644
--- 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
@@ -2,11 +2,15 @@
import com.java110.dto.file.FileRelDto;
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.IProductDetailInnerServiceSMO;
import com.java110.intf.goods.IProductInnerServiceSMO;
+import com.java110.intf.goods.IProductSpecDetailInnerServiceSMO;
+import com.java110.intf.goods.IProductSpecValueInnerServiceSMO;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@@ -27,6 +31,12 @@
@Autowired
private IProductDetailInnerServiceSMO productDetailInnerServiceSMOImpl;
+
+ @Autowired
+ private IProductSpecValueInnerServiceSMO productSpecValueInnerServiceSMOImpl;
+
+ @Autowired
+ private IProductSpecDetailInnerServiceSMO productSpecDetailInnerServiceSMOImpl;
/**
* @param productDto
@@ -82,6 +92,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 +127,8 @@
tmpProductDto.setCarouselFigurePhotos(photos);
}
+ freshProductSpecValue(productDtos);
+
ProductDetailDto productDetailDto = new ProductDetailDto();
productDetailDto.setProductId(productDtos.get(0).getProductId());
productDetailDto.setStoreId(productDtos.get(0).getStoreId());
@@ -114,4 +141,36 @@
productDtos.get(0).setContent(productDetailDtos.get(0).getContent());
}
+ 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