Browse Source

Merge remote-tracking branch 'origin/feature/yc-mobile_maimai-0525' into feature/yc-mobile_maimai-0525

shenjj 7 years ago
parent
commit
2a1a94f3f3

+ 2 - 2
src/main/java/com/uas/platform/b2c/prod/store/api/StoreInController.java

@@ -171,7 +171,7 @@ public class StoreInController {
 	 * @return
 	 */
 	@RequestMapping(value = "/stores", method = RequestMethod.GET, params = "op=similar")
-	public Page<StoreIn> findBySimilarName(@RequestParam(value = "keyword", required = false) String keyword, PageParams params, @RequestParam(value = "type", required = false) String type, HttpServletRequest request) {
-		return storeService.findBySimilarName(params, keyword, type, request);
+	public Page<StoreIn> findBySimilarName(@RequestParam(value = "keyword", required = false) String keyword, @RequestParam(value = "field", required = false) String field, PageParams params, @RequestParam(value = "type", required = false) String type, HttpServletRequest request) {
+		return storeService.findBySimilarName(params, keyword, type, field, request);
 	}
 }

+ 2 - 1
src/main/java/com/uas/platform/b2c/prod/store/service/StoreInService.java

@@ -205,7 +205,8 @@ public interface StoreInService {
 	 * @param params 分页参数
 	 * @param keyword 关键字
 	 * @param request requset
+	 * @param feild 类型
 	 * @return
 	 */
-	Page<StoreIn> findBySimilarName(PageParams params, String keyword, String type, HttpServletRequest request);
+	Page<StoreIn> findBySimilarName(PageParams params, String keyword, String type, String feild, HttpServletRequest request);
 }

+ 28 - 35
src/main/java/com/uas/platform/b2c/prod/store/service/impl/StoreInServiceImpl.java

@@ -705,11 +705,12 @@ public class StoreInServiceImpl implements StoreInService {
 	}
 
 	@Override
-	public Page<StoreIn> findBySimilarName(PageParams params, String keyword, String type, HttpServletRequest request) {
+	public Page<StoreIn> findBySimilarName(PageParams params, String keyword, String type, String field, HttpServletRequest request) {
 		LogicalExpression typeLogicalEx = null;
 		LogicalExpression keywordLogicalEx = null;
 		SimpleExpression nameSimpleEx = null;
 		final PageInfo pageInfo = new PageInfo(params);
+
 		// 搜索店铺类型
 		if (!StringUtils.isEmpty(type)) {
 			Set<StoreType> typeSet = getTypesFromString(type);
@@ -717,48 +718,40 @@ public class StoreInServiceImpl implements StoreInService {
 		}
 		// 搜索店铺名称
 		if (!StringUtils.isEmpty(keyword)) {
-			nameSimpleEx = PredicateUtils.like("storeName", keyword, true);
-			// 搜索器件、品牌、类目
-			PageParams pageParams = new PageParams();
-			pageParams.setCount(20);
-			pageParams.setPage(1);
-
-			ModelMap map = searcherService.searchComponentGoods(keyword, pageParams, request);
-			List<ComponentGoods> components = (List<ComponentGoods>) map.get("components");
-			Set<String> storeIds = new HashSet<>();
-			for (ComponentGoods componentGood : components) {
-				if (componentGood.getStoreId() != null) {
-					storeIds.add(componentGood.getStoreId());
-				}
-			}
+            if ("similar".equals(field)) {
+                // 搜索器件、品牌、类目
+                PageParams pageParams = new PageParams();
+                pageParams.setCount(20);
+                pageParams.setPage(1);
+
+                ModelMap map = searcherService.searchComponentGoods(keyword, pageParams, request);
+                List<ComponentGoods> components = (List<ComponentGoods>) map.get("components");
+                Set<String> storeIds = new HashSet<>();
+                for (ComponentGoods componentGood : components) {
+                    if (componentGood.getStoreId() != null) {
+                        storeIds.add(componentGood.getStoreId());
+                    }
+                }
 
-			if (CollectionUtils.isNotEmpty(storeIds)) {
-				keywordLogicalEx = PredicateUtils.in("uuid", storeIds, true);
-			}
+                if (CollectionUtils.isNotEmpty(storeIds)) {
+                    keywordLogicalEx = PredicateUtils.in("uuid", storeIds, true);
+                }
+            } else {
+                nameSimpleEx = PredicateUtils.like("storeName", keyword, true);
+            }
 		}
 
 		if (nameSimpleEx != null) {
-			if (keywordLogicalEx != null) {
-				keywordLogicalEx = PredicateUtils.or(nameSimpleEx, keywordLogicalEx);
-				if (typeLogicalEx != null) {
-					pageInfo.expression(PredicateUtils.and(keywordLogicalEx, typeLogicalEx));
-				} else {
-					pageInfo.expression(keywordLogicalEx);
-				}
-			} else if (typeLogicalEx != null) {
-				pageInfo.expression(PredicateUtils.and(nameSimpleEx, typeLogicalEx));
-			} else {
-				pageInfo.expression(nameSimpleEx);
-			}
-		} else if (keywordLogicalEx != null) {
-			if (typeLogicalEx != null) {
+            if (typeLogicalEx != null) {
+                pageInfo.expression(PredicateUtils.and(nameSimpleEx, typeLogicalEx));
+            } else {
+                pageInfo.expression(nameSimpleEx);
+            }
+        } else if (typeLogicalEx != null) {
 				pageInfo.expression(PredicateUtils.and(keywordLogicalEx, typeLogicalEx));
 			} else {
 				pageInfo.expression(keywordLogicalEx);
 			}
-		} else if (typeLogicalEx != null) {
-			pageInfo.expression(typeLogicalEx);
-		}
 
 		return storeDao.findAll(new Specification<StoreIn>() {
 			@Override