|
@@ -81,25 +81,29 @@ public class SearchProductServiceImpl implements SearchProductService {
|
|
|
if (promotionFlag == 1) {
|
|
|
filterList.add("p_promotions_id > 0");
|
|
|
}
|
|
|
- if (!StringUtils.isEmpty(brandIds)) {
|
|
|
+ if (!StringUtils.isEmpty(brandIds) && !"null".equals(brandIds)) {
|
|
|
StringBuffer brandBuilder = new StringBuffer();
|
|
|
- if (brandIds.contains(",")) {
|
|
|
- String[] split = brandIds.split(",");
|
|
|
- for (int i = 0; i < split.length; i++) {
|
|
|
- if (i == 0) {
|
|
|
- brandBuilder.append("p_brand_id=").append(split[i]);
|
|
|
- } else {
|
|
|
- brandBuilder.append(" OR p_brand_id=").append(split[i]);
|
|
|
- }
|
|
|
+ List<String> brandList = new ArrayList<>();
|
|
|
+ String[] split = brandIds.split(",");
|
|
|
+ for (String s : split) {
|
|
|
+ if (!StringUtils.isEmpty(s) && !"null".equals(s)) {
|
|
|
+ brandList.add(s);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (int i = 0; i < brandList.size(); i++) {
|
|
|
+ if (i == 0) {
|
|
|
+ brandBuilder.append(brandList.get(i));
|
|
|
+ } else {
|
|
|
+ brandBuilder.append(" OR ").append(brandList.get(i));
|
|
|
}
|
|
|
- } else {
|
|
|
- brandBuilder.append("p_brand_id=").append(brandIds);
|
|
|
}
|
|
|
String brandFilter = brandBuilder.toString();
|
|
|
if (brandFilter.contains("OR")) {
|
|
|
brandFilter = "(" + brandFilter + ")";
|
|
|
}
|
|
|
- filterList.add(brandFilter);
|
|
|
+ if (!StringUtils.isEmpty(brandFilter)) {
|
|
|
+ filterList.add(brandFilter);
|
|
|
+ }
|
|
|
}
|
|
|
String filter = "";
|
|
|
StringBuffer filterBuffer = new StringBuffer();
|
|
@@ -111,7 +115,7 @@ public class SearchProductServiceImpl implements SearchProductService {
|
|
|
filterBuffer.append(" AND ").append(filterList.get(i));
|
|
|
}
|
|
|
}
|
|
|
- filter = "(" + filterBuffer.toString() + ")";
|
|
|
+ filter = filterBuffer.toString();
|
|
|
}
|
|
|
// 阿里云搜索
|
|
|
ResponseJson<String> result = queryProduct(queryStr, filter, identity, pageNum, pageSize, sortField, sortType);
|
|
@@ -240,25 +244,29 @@ public class SearchProductServiceImpl implements SearchProductService {
|
|
|
if (promotionFlag == 1) {
|
|
|
filterList.add("p_promotions_id > 0");
|
|
|
}
|
|
|
- if (!StringUtils.isEmpty(brandIds)) {
|
|
|
+ if (!StringUtils.isEmpty(brandIds) && !"null".equals(brandIds)) {
|
|
|
StringBuffer brandBuilder = new StringBuffer();
|
|
|
- if (brandIds.contains(",")) {
|
|
|
- String[] split = brandIds.split(",");
|
|
|
- for (int i = 0; i < split.length; i++) {
|
|
|
- if (i == 0) {
|
|
|
- brandBuilder.append("p_brand_id=").append(split[i]);
|
|
|
- } else {
|
|
|
- brandBuilder.append(" OR p_brand_id=").append(split[i]);
|
|
|
- }
|
|
|
+ List<String> brandList = new ArrayList<>();
|
|
|
+ String[] split = brandIds.split(",");
|
|
|
+ for (String s : split) {
|
|
|
+ if (!StringUtils.isEmpty(s) && !"null".equals(s)) {
|
|
|
+ brandList.add(s);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (int i = 0; i < brandList.size(); i++) {
|
|
|
+ if (i == 0) {
|
|
|
+ brandBuilder.append(brandList.get(i));
|
|
|
+ } else {
|
|
|
+ brandBuilder.append(" OR ").append(brandList.get(i));
|
|
|
}
|
|
|
- } else {
|
|
|
- brandBuilder.append("p_brand_id=").append(brandIds);
|
|
|
}
|
|
|
String brandFilter = brandBuilder.toString();
|
|
|
if (brandFilter.contains("OR")) {
|
|
|
brandFilter = "(" + brandFilter + ")";
|
|
|
}
|
|
|
- filterList.add(brandFilter);
|
|
|
+ if (!StringUtils.isEmpty(brandFilter)) {
|
|
|
+ filterList.add(brandFilter);
|
|
|
+ }
|
|
|
}
|
|
|
String filter = "";
|
|
|
StringBuffer filterBuffer = new StringBuffer();
|
|
@@ -270,7 +278,7 @@ public class SearchProductServiceImpl implements SearchProductService {
|
|
|
filterBuffer.append(" AND ").append(filterList.get(i));
|
|
|
}
|
|
|
}
|
|
|
- filter = "(" + filterBuffer.toString() + ")";
|
|
|
+ filter = filterBuffer.toString();
|
|
|
}
|
|
|
SearchParams searchParams = searchOpenService.getScrollProductParams(queryStr, identity, requestPageSize, sortField, sortType);
|
|
|
String thisFilter = searchParams.getFilter();
|