Sfoglia il codice sorgente

Merge branch 'feature-201820-wangcz' into release-201820-wangcz

wangdy 7 anni fa
parent
commit
6fc48054a7

+ 5 - 0
src/main/java/com/uas/platform/b2c/common/account/dao/EnterpriseDao.java

@@ -24,6 +24,11 @@ public interface EnterpriseDao extends JpaSpecificationExecutor<Enterprise>, Jpa
 	@Query(value="select e.enName from Enterprise e where e.enName like %?1%")
 	public List<String> findEnNameByName(String name);
 
+	@Query(value = "select e.*, ifnull(s.id, 0) as isStore from sec$enterprises e " +
+			" left join store$info s on e.en_uu = s.st_enuu and s.st_status = 'OPENED' where e.en_uu = :uu  "
+			, nativeQuery = true)
+	public Enterprise findEnterpriseAndIsStoreByUu(@Param("uu") Long uu);
+
 	/**
 	 * 企业资料初始化
 	 *

+ 11 - 0
src/main/java/com/uas/platform/b2c/common/account/model/Enterprise.java

@@ -189,6 +189,9 @@ public class Enterprise implements Serializable {
 	@Transient
 	private Integer receiptStatus;
 
+	@Transient
+	private Integer isStore;
+
 	/**
 	 * 企业简介
 	 */
@@ -235,6 +238,14 @@ public class Enterprise implements Serializable {
 		this.uu = uu;
 	}
 
+	public Integer getIsStore() {
+		return isStore;
+	}
+
+	public void setIsStore(Integer isStore) {
+		this.isStore = isStore;
+	}
+
 	public String getEnName() {
 		return enName;
 	}

+ 1 - 1
src/main/java/com/uas/platform/b2c/common/search/constant/SearchUrl.java

@@ -20,7 +20,7 @@ public class SearchUrl {
     /**
      * 获取企业物料
      */
-    public static final String PRODUCT_ID_NENUU_URL = "/search/productIds?keyword={keyword}&page={page}&size={size}";
+    public static final String PRODUCT_ID_NENUU_URL = "/search/productIds?keyword={keyword}&page={page}&size={size}&duplicate=true";
 
     /**
      * 标准型号联想(物料)

+ 4 - 8
src/main/java/com/uas/platform/b2c/common/search/rpc/service/Impl/SearchServiceImpl.java

@@ -190,7 +190,7 @@ public class SearchServiceImpl implements SearchService{
     }
 
     @Override
-    public Map<String, Object> getComponentIds(String keyword, PageParams var2) throws SearchException {
+    public String getComponentIds(String keyword, PageParams var2) throws SearchException {
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
         map.put("params", FlexJsonUtils.toJsonDeep(var2));
@@ -198,16 +198,12 @@ public class SearchServiceImpl implements SearchService{
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
-            try {
-                Map<String, Object> reMap = FastjsonUtils.fromJson(str, Map.class);
-                return reMap;
-            }catch (Exception e) {
-                e.printStackTrace();
-                return null;
-            }
+            return str;
         }
     }
 
+
+
     @Override
     public Set<Long> getKindIdsBySearchComponent(String keyword, String brandId) throws SearchException {
         Map<String, Object> map = new HashedMap();

+ 1 - 1
src/main/java/com/uas/platform/b2c/common/search/rpc/service/SearchService.java

@@ -29,7 +29,7 @@ public interface SearchService {
 
     SPage<Map<String, Object>> getbrandsAndSellers(String keyword, Integer page, Integer size) throws SearchException;
 
-    Map<String, Object> getComponentIds(String keyword, PageParams var2) throws SearchException;
+    String getComponentIds(String keyword, PageParams var2) throws SearchException;
 
     Set<Long> getKindIdsBySearchComponent(String keyword, String brandId) throws SearchException;
 

+ 50 - 10
src/main/java/com/uas/platform/b2c/common/search/service/impl/SearcherServiceImpl.java

@@ -200,23 +200,63 @@ public class SearcherServiceImpl implements SearcherService {
 	@Override
 	public ModelMap searchComponent(String keyword, PageParams page) {
 		ModelMap map = new ModelMap();
-		Map<String, Object> results = new HashMap<>();
+		String results = "";
 		try {
 			results = searchService.getComponentIds(keyword, convertPageParams(page));
 		} catch (SearchException e) {
 			throwSystemException(e);
 		}
-		List<Long> componentIds = (List<Long>) results.get("componentIds");
-		if (!CollectionUtils.isEmpty(componentIds)) {
-			List<ComponentInfo> components = componentInfoDao
-					.findByIdsInOrder(componentIds.toArray(new Long[componentIds.size()]));
+
+		ComponentIdsResult componentIdsResult = FastjsonUtils.fromJson(results, ComponentIdsResult.class);
+		Long[] componentIds = componentIdsResult.getComponentIds();
+
+		if (componentIds.length > 0) {
+			List<ComponentInfo> components = componentInfoDao.findByIdsInOrder(componentIds);
 			map.put("components", components);// 当前页器件内容
 		}
-		map.put("total", results.get("total"));// 搜索结果总数
-		map.put("page", results.get("page"));// 当前页面
-		map.put("size", results.get("size"));// 每页个数
+		map.put("total", componentIdsResult.getTotal());// 搜索结果总数
+		map.put("page", componentIdsResult.getPage());// 当前页面
+		map.put("size", componentIdsResult.getSize());// 每页个数
 		return map;
 	}
+    public static class ComponentIdsResult{
+        private int total;
+        private int size;
+        private int page;
+        private Long[] componentIds;
+
+        public int getTotal() {
+            return total;
+        }
+
+        public void setTotal(int total) {
+            this.total = total;
+        }
+
+        public int getSize() {
+            return size;
+        }
+
+        public void setSize(int size) {
+            this.size = size;
+        }
+
+        public int getPage() {
+            return page;
+        }
+
+        public void setPage(int page) {
+            this.page = page;
+        }
+
+        public Long[] getComponentIds() {
+            return componentIds;
+        }
+
+        public void setComponentIds(Long[] componentIds) {
+            this.componentIds = componentIds;
+        }
+    }
 	/**
 	 * 智能搜索批次
 	 *
@@ -327,7 +367,7 @@ public class SearcherServiceImpl implements SearcherService {
 
         if (!CollectionUtils.isEmpty(enUUs)) {
             for (Object enuu : enUUs) {
-                vendorIntroductionsFutures.add(VendorIntroduction.convertFromEnterprise(enterpriseDao.findByUu(Long.valueOf(enuu.toString()))));
+                vendorIntroductionsFutures.add(VendorIntroduction.convertFromEnterprise(enterpriseDao.findEnterpriseAndIsStoreByUu(Long.valueOf(enuu.toString()))));
             }
         }
 
@@ -458,7 +498,7 @@ public class SearcherServiceImpl implements SearcherService {
 
                 if (!CollectionUtils.isEmpty(enUUs)) {
                     for (Object enuu : enUUs) {
-                        vendorIntroductionsFutures.add(VendorIntroduction.convertFromEnterprise(enterpriseDao.findByUu(Long.valueOf(enuu.toString()))));
+                        vendorIntroductionsFutures.add(VendorIntroduction.convertFromEnterprise(enterpriseDao.findEnterpriseAndIsStoreByUu(Long.valueOf(enuu.toString()))));
                     }
                 }
 

+ 9 - 12
src/main/java/com/uas/platform/b2c/prod/product/component/service/impl/ComponentGoodsServiceImpl.java

@@ -2,6 +2,8 @@ package com.uas.platform.b2c.prod.product.component.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.uas.platform.b2c.common.search.rpc.service.SearchService;
+import com.uas.platform.b2c.common.search.service.impl.SearcherServiceImpl;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.commodity.model.Goods;
 import com.uas.platform.b2c.prod.product.component.dao.ComponentGoodsDao;
@@ -16,7 +18,6 @@ import com.uas.platform.b2c.common.search.util.PageParams.FilterField;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
-import org.springframework.data.domain.Sort;
 import org.springframework.data.domain.Sort.Direction;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
@@ -48,7 +49,7 @@ public class ComponentGoodsServiceImpl implements ComponentGoodsService {
 	@Override
 	public Page<ComponentGoods> getCompGoodsByKindid(final PageInfo info) {
 		Map<String, Object> filter = info.getFilters();
-		Map<String, Object> searchResult = null;
+		String searchResult = "";
 		//只能显示20页的数据
 		if(info.getPageNumber() > Constant.PAGEMAX) {
 			info.setPageNumber(Constant.PAGEMAX);
@@ -72,18 +73,14 @@ public class ComponentGoodsServiceImpl implements ComponentGoodsService {
 					filter.remove("code");
 				}
 				searchResult = searchService.getComponentIds(code, pageParams);
-				@SuppressWarnings("unchecked")
-				List<Integer> componentIds = (List<Integer>) searchResult.get("componentIds");
-				List<Long> componentIdsLong = new ArrayList<>();
-				for (Integer cid:componentIds) {
-					componentIdsLong.add(cid.longValue());
-				}
+				SearcherServiceImpl.ComponentIdsResult componentIdsResult = FastjsonUtils.fromJson(searchResult, SearcherServiceImpl.ComponentIdsResult.class);
+				Long[] componentIds = componentIdsResult.getComponentIds();
+
 				List<ComponentGoods> componentGoods = new ArrayList<>();
-				if (componentIds.size() > 0) {
-					Long[] idArr = new Long[componentIdsLong.size()];
-					componentGoods = componentGoodsDao.findByIdsInOrder(componentIdsLong.toArray(idArr));
+				if (componentIds.length > 0) {
+					componentGoods = componentGoodsDao.findByIdsInOrder(componentIds);
 				}
-				int length = (int)searchResult.get("total");
+				int length = componentIdsResult.getTotal();
 				if(length < componentGoods.size()) {
 					length = componentGoods.size();
 				}

+ 9 - 7
src/main/java/com/uas/platform/b2c/prod/product/component/service/impl/ComponentServiceImpl.java

@@ -2,9 +2,11 @@ package com.uas.platform.b2c.prod.product.component.service.impl;
 
 import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.common.search.rpc.service.SearchService;
+import com.uas.platform.b2c.common.search.service.impl.SearcherServiceImpl;
 import com.uas.platform.b2c.common.search.util.PageParams;
 import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.constant.SplitChar;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsHistoryDao;
 import com.uas.platform.b2c.prod.commodity.model.Goods;
@@ -192,7 +194,7 @@ public class ComponentServiceImpl implements ComponentService {
 	@Override
 	public Page<ComponentInfo> findInfoPage(final PageInfo info) {
 		Map<String, Object> filter = info.getFilters();
-		Map<String, Object> searchResult = null;
+		String searchResult = "";
 		// filter: kindid 可以筛选kindID及其子类目下属的所有器件
 		//只能显示40页的数据
 		if(info.getPageNumber() > Constant.PAGEMAX) {
@@ -218,14 +220,14 @@ public class ComponentServiceImpl implements ComponentService {
 					filter.remove("code");
 				}
 				searchResult = searchService.getComponentIds(code, pageParams);
-				@SuppressWarnings("unchecked")
-				List<Long> componentIds = (List<Long>) searchResult.get("componentIds");
+				SearcherServiceImpl.ComponentIdsResult componentIdsResult = FastjsonUtils.fromJson(searchResult, SearcherServiceImpl.ComponentIdsResult.class);
+				Long[] componentIds = componentIdsResult.getComponentIds();
+
 				List<ComponentInfo> components = new ArrayList<ComponentInfo>();
-				if (componentIds.size() > 0) {
-					Long[] idArr = new Long[componentIds.size()];
-					components = componentInfoDao.findByIdsInOrder(componentIds.toArray(idArr));
+				if (componentIds.length > 0) {
+					components = componentInfoDao.findByIdsInOrder(componentIds);
 				}
-				PageImpl<ComponentInfo> pageImpl = new PageImpl<ComponentInfo>(components, info, (int) searchResult.get("total"));
+				PageImpl<ComponentInfo> pageImpl = new PageImpl<ComponentInfo>(components, info, componentIdsResult.getTotal());
 				return pageImpl;
 			}
 			if (filter.get("kindid") != null) {

+ 2 - 2
src/main/java/com/uas/platform/b2c/trade/vendor/model/VendorIntroduction.java

@@ -260,10 +260,10 @@ public class VendorIntroduction {
         vendorIntroduction.setEnTel(enterprise.getEnTel());
         vendorIntroduction.setEnCorporation(enterprise.getEnCorporation());
         vendorIntroduction.setEnLogoUrl(enterprise.getEnLogoUrl());
-        if (null == enterprise.getEnMallVendorStatus()) {
+        if (null == enterprise.getIsStore()) {
             vendorIntroduction.setIsStore(new Short((short)0));
         } else {
-            vendorIntroduction.setIsStore(enterprise.getEnMallVendorStatus().intValue() ==  313 ? new Short("1") : 0);
+            vendorIntroduction.setIsStore(enterprise.getIsStore().intValue() != 0 ? new Short("1") : 0);
         }
        return vendorIntroduction;
     }