Compare commits
No commits in common. "659871efda4ae067ef354b75de5d33539fb8594c" and "962a3ee5b5adc0413b7d863ddae1977206749e73" have entirely different histories.
659871efda
...
962a3ee5b5
@ -1,6 +1,5 @@
|
|||||||
package com.tmerclub.cloud.common.local.dto;
|
package com.tmerclub.cloud.common.local.dto;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
@ -21,18 +20,5 @@ public class CueProductSearchDTO implements Serializable {
|
|||||||
* 商品名称
|
* 商品名称
|
||||||
*/
|
*/
|
||||||
private String productName;
|
private String productName;
|
||||||
/**
|
|
||||||
* 关联的球杆品牌ID
|
|
||||||
*/
|
|
||||||
@NotNull(message = "关联的球杆品牌ID不能为空")
|
|
||||||
private Long brandId;
|
|
||||||
/**
|
|
||||||
* 关联的球杆类型ID
|
|
||||||
*/
|
|
||||||
@NotNull(message = "关联的球杆类型ID不能为空")
|
|
||||||
private Long typeId;
|
|
||||||
|
|
||||||
public void setProductName(String productName) {
|
|
||||||
this.productName = productName.trim();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -2,8 +2,13 @@ package com.tmerclub.cloud.search.builder;
|
|||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.tmerclub.cloud.api.dto.EsPageDTO;
|
import com.tmerclub.cloud.api.dto.EsPageDTO;
|
||||||
|
import com.tmerclub.cloud.api.vo.EsPageVO;
|
||||||
|
import com.tmerclub.cloud.common.constant.Constant;
|
||||||
import com.tmerclub.cloud.common.i18n.I18nMessage;
|
import com.tmerclub.cloud.common.i18n.I18nMessage;
|
||||||
import com.tmerclub.cloud.common.local.dto.CueProductSearchDTO;
|
import com.tmerclub.cloud.common.local.dto.CueProductSearchDTO;
|
||||||
|
import com.tmerclub.cloud.common.local.vo.CueProductSearchVO;
|
||||||
|
import com.tmerclub.cloud.common.product.vo.search.SpuSearchVO;
|
||||||
|
import com.tmerclub.cloud.common.util.Json;
|
||||||
import com.tmerclub.cloud.search.constant.EsConstant;
|
import com.tmerclub.cloud.search.constant.EsConstant;
|
||||||
import com.tmerclub.cloud.search.constant.EsIndexEnum;
|
import com.tmerclub.cloud.search.constant.EsIndexEnum;
|
||||||
import com.tmerclub.cloud.search.util.EsSearchUtil;
|
import com.tmerclub.cloud.search.util.EsSearchUtil;
|
||||||
@ -11,11 +16,16 @@ import org.elasticsearch.action.search.SearchRequest;
|
|||||||
import org.elasticsearch.action.search.SearchResponse;
|
import org.elasticsearch.action.search.SearchResponse;
|
||||||
import org.elasticsearch.index.query.BoolQueryBuilder;
|
import org.elasticsearch.index.query.BoolQueryBuilder;
|
||||||
import org.elasticsearch.index.query.QueryBuilders;
|
import org.elasticsearch.index.query.QueryBuilders;
|
||||||
|
import org.elasticsearch.search.SearchHit;
|
||||||
|
import org.elasticsearch.search.SearchHits;
|
||||||
|
import org.elasticsearch.search.aggregations.Aggregations;
|
||||||
import org.elasticsearch.search.builder.SearchSourceBuilder;
|
import org.elasticsearch.search.builder.SearchSourceBuilder;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -77,12 +87,13 @@ public class LocalCueProductSearchRequestBuilder {
|
|||||||
* 关键字搜索
|
* 关键字搜索
|
||||||
*/
|
*/
|
||||||
private void keywordSearch(CueProductSearchDTO param, BoolQueryBuilder boolQueryBuilder, Integer lang) {
|
private void keywordSearch(CueProductSearchDTO param, BoolQueryBuilder boolQueryBuilder, Integer lang) {
|
||||||
BoolQueryBuilder keywordShouldQuery = QueryBuilders.boolQuery();
|
if (ObjectUtil.isEmpty(param.getProductName())) {
|
||||||
if (ObjectUtil.isNotEmpty(param.getProductName())) {
|
return;
|
||||||
keywordShouldQuery.must(QueryBuilders.wildcardQuery(EsConstant.CUE_PRODUCT_NAME, "*" + param.getProductName() + "*"));
|
|
||||||
}
|
}
|
||||||
keywordShouldQuery.must(QueryBuilders.termQuery(EsConstant.CUE_BRAND_ID, param.getBrandId()));
|
log.error("---------------------{}", param.getProductName());
|
||||||
keywordShouldQuery.must(QueryBuilders.termQuery(EsConstant.CUE_TYPE_ID, param.getTypeId()));
|
// 创建查询语句 ES中must和should不能同时使用 同时使用should失效 嵌套多个must 将should条件拼接在一个must中即可
|
||||||
|
BoolQueryBuilder keywordShouldQuery = QueryBuilders.boolQuery();
|
||||||
|
keywordShouldQuery.should(QueryBuilders.wildcardQuery(EsConstant.CUE_PRODUCT_NAME, "*" + param.getProductName() + "*"));
|
||||||
boolQueryBuilder.must(keywordShouldQuery);
|
boolQueryBuilder.must(keywordShouldQuery);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -172,8 +172,6 @@ public interface EsConstant {
|
|||||||
* 球杆商品
|
* 球杆商品
|
||||||
*/
|
*/
|
||||||
String CUE_PRODUCT_NAME = "productName";
|
String CUE_PRODUCT_NAME = "productName";
|
||||||
String CUE_BRAND_ID = "brandId";
|
|
||||||
String CUE_TYPE_ID = "typeId";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品指定返回字段
|
* 商品指定返回字段
|
||||||
|
@ -37,7 +37,7 @@ public class LocalCueProductSearchController {
|
|||||||
*/
|
*/
|
||||||
@GetMapping("/searchCueProductPage")
|
@GetMapping("/searchCueProductPage")
|
||||||
@Operation(summary = "APP端搜索球杆商品接口", description = "APP端搜索球杆商品接口")
|
@Operation(summary = "APP端搜索球杆商品接口", description = "APP端搜索球杆商品接口")
|
||||||
public ServerResponseEntity<EsPageVO<CueProductSearchVO>> searchCueProductPage(@Valid EsPageDTO pageDTO, @Valid CueProductSearchDTO cueProductSearchDTO) {
|
public ServerResponseEntity<EsPageVO<CueProductSearchVO>> searchCueProductPage(@Valid EsPageDTO pageDTO, CueProductSearchDTO cueProductSearchDTO) {
|
||||||
EsPageVO<CueProductSearchVO> page = localCueProductSearchManager.page(pageDTO, cueProductSearchDTO);
|
EsPageVO<CueProductSearchVO> page = localCueProductSearchManager.page(pageDTO, cueProductSearchDTO);
|
||||||
return ServerResponseEntity.success(page);
|
return ServerResponseEntity.success(page);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user