From 3e04833f48f5146e7e60e169a9872cc73a313af9 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 11 十月 2020 19:56:26 +0800
Subject: [PATCH] 优化添加查询商品代码

---
 service-goods/src/main/java/com/java110/goods/bmo/product/impl/GetProductBMOImpl.java |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 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 873515b..a7f2a25 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
@@ -1,7 +1,11 @@
 package com.java110.goods.bmo.product.impl;
 
+import com.java110.dto.file.FileRelDto;
 import com.java110.dto.product.ProductDto;
+import com.java110.dto.productDetail.ProductDetailDto;
 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.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -18,18 +22,25 @@
     @Autowired
     private IProductInnerServiceSMO productInnerServiceSMOImpl;
 
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
+    @Autowired
+    private IProductDetailInnerServiceSMO productDetailInnerServiceSMOImpl;
+
     /**
      * @param productDto
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     public ResponseEntity<String> get(ProductDto productDto) {
 
-
         int count = productInnerServiceSMOImpl.queryProductsCount(productDto);
 
         List<ProductDto> productDtos = null;
         if (count > 0) {
             productDtos = productInnerServiceSMOImpl.queryProducts(productDto);
+
+            freshProductDtos(productDtos, productDto);
         } else {
             productDtos = new ArrayList<>();
         }
@@ -41,4 +52,66 @@
         return responseEntity;
     }
 
+    private void freshProductDtos(List<ProductDto> productDtos, ProductDto productDto) {
+
+        if (productDtos == null || productDtos.size() < 1) {
+            return;
+        }
+
+        //杈撳叆
+        List<String> productIds = new ArrayList<>();
+
+        for (ProductDto tmpProductDto : productDtos) {
+            productIds.add(tmpProductDto.getProductId());
+        }
+
+        FileRelDto fileRelDto = new FileRelDto();
+        fileRelDto.setObjIds(productIds.toArray(new String[productIds.size()]));
+        fileRelDto.setRelTypeCd(FileRelDto.REL_TYPE_CD_GOODS_COVER);
+        List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
+
+        //鍒峰叆鍥剧墖淇℃伅
+        List<String> photoVos = null;
+        String url = null;
+        for (ProductDto tmpProductDto : productDtos) {
+            for (FileRelDto tmpFileRelDto : fileRelDtos) {
+                if (tmpProductDto.getProductId().equals(tmpFileRelDto.getObjId())) {
+                    url = "/callComponent/download/getFile/file?fileId=" + tmpFileRelDto.getFileRealName() + "&communityId=-1";
+                    tmpProductDto.setCoverPhoto(url);
+                }
+            }
+        }
+
+        if (productDtos.size() > 1) {
+            return;
+        }
+
+        //杈撳叆杞挱鍥�
+        fileRelDto = new FileRelDto();
+        fileRelDto.setObjId(productDtos.get(0).getProductId());
+        fileRelDto.setRelTypeCd(FileRelDto.REL_TYPE_CD_GOODS_CAROUSEL_FIGURE);
+        fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
+        List<String> photos = new ArrayList<>();
+        for (ProductDto tmpProductDto : productDtos) {
+            for (FileRelDto tmpFileRelDto : fileRelDtos) {
+                if (tmpProductDto.getProductId().equals(tmpFileRelDto.getObjId())) {
+                    url = "/callComponent/download/getFile/file?fileId=" + tmpFileRelDto.getFileRealName() + "&communityId=-1";
+                    photos.add(url);
+                }
+            }
+            tmpProductDto.setCarouselFigurePhotos(photos);
+        }
+
+        ProductDetailDto productDetailDto = new ProductDetailDto();
+        productDetailDto.setProductId(productDtos.get(0).getProductId());
+        productDetailDto.setStoreId(productDtos.get(0).getStoreId());
+        List<ProductDetailDto> productDetailDtos = productDetailInnerServiceSMOImpl.queryProductDetails(productDetailDto);
+
+        if (productDetailDtos == null || productDetailDtos.size() < 1) {
+            return;
+        }
+
+        productDtos.get(0).setContent(productDetailDtos.get(0).getContent());
+    }
+
 }

--
Gitblit v1.8.0