|
|
@ -2,7 +2,6 @@ package com.inscloudtech.datacenter.service; |
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
|
import cn.hutool.core.collection.ListUtil; |
|
|
|
import cn.hutool.core.util.ArrayUtil; |
|
|
|
import cn.hutool.core.util.ClassUtil; |
|
|
|
import cn.hutool.core.util.StrUtil; |
|
|
@ -21,7 +20,6 @@ import com.inscloudtech.analysiscenter.mapper.AnalysisReportMapper; |
|
|
|
import com.inscloudtech.analysiscenter.mapper.AnalysisResultMapper; |
|
|
|
import com.inscloudtech.analysiscenter.service.IAnalysisReportService; |
|
|
|
import com.inscloudtech.analysiscenter.service.IAnalysisResultService; |
|
|
|
|
|
|
|
import com.inscloudtech.caseMange.domain.SysLawCase; |
|
|
|
import com.inscloudtech.caseMange.mapper.SysLawCaseMapper; |
|
|
|
import com.inscloudtech.common.annotation.IdCardField; |
|
|
@ -36,23 +34,16 @@ import com.inscloudtech.common.utils.StringUtils; |
|
|
|
import com.inscloudtech.common.utils.file.FileUtils; |
|
|
|
import com.inscloudtech.common.utils.poi.ExcelUtil; |
|
|
|
import com.inscloudtech.common.utils.spring.SpringUtils; |
|
|
|
|
|
|
|
import com.inscloudtech.datacenter.domain.*; |
|
|
|
import com.inscloudtech.datacenter.domain.dto.*; |
|
|
|
import com.inscloudtech.datacenter.mapper.*; |
|
|
|
import com.inscloudtech.datacenter.domain.vo.GetBankStatementListReq; |
|
|
|
import com.inscloudtech.datacenter.mapper.CarInfoMapper; |
|
|
|
import com.inscloudtech.datacenter.mapper.es.ESBankStatementMapper; |
|
|
|
import com.inscloudtech.datacenter.mapper.es.ESOpeningAccountInfoMapper; |
|
|
|
import com.inscloudtech.datacenter.mapper.es.OtherInformationEsMapper; |
|
|
|
|
|
|
|
import com.inscloudtech.datacenter.service.*; |
|
|
|
import com.inscloudtech.datacenter.service.BankService; |
|
|
|
import com.inscloudtech.datacenter.service.ICarInfoService; |
|
|
|
import com.inscloudtech.datacenter.service.IRealEstateService; |
|
|
|
import com.inscloudtech.system.domain.SysOss; |
|
|
|
import com.inscloudtech.system.mapper.SysOssMapper; |
|
|
|
import com.inscloudtech.system.service.ISysOssService; |
|
|
|
import com.inscloudtech.datacenter.service.IndexInitService; |
|
|
|
import com.inscloudtech.datacenter.service.PlateNumberService; |
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
import lombok.SneakyThrows; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
@ -66,7 +57,6 @@ import org.elasticsearch.action.search.SearchResponse; |
|
|
|
import org.elasticsearch.action.search.SearchScrollRequest; |
|
|
|
import org.elasticsearch.client.RequestOptions; |
|
|
|
import org.elasticsearch.client.RestHighLevelClient; |
|
|
|
|
|
|
|
import org.elasticsearch.client.indices.GetIndexRequest; |
|
|
|
import org.elasticsearch.common.xcontent.XContentType; |
|
|
|
import org.elasticsearch.core.TimeValue; |
|
|
@ -150,6 +140,7 @@ public class QueryCenterService { |
|
|
|
private final ICarInfoService carInfoService; |
|
|
|
|
|
|
|
private final PlateNumberService plateNumberService; |
|
|
|
private final BankService bankService; |
|
|
|
|
|
|
|
private Map<String,List<Class<?>>> importMapperMap = new HashMap(); |
|
|
|
|
|
|
@ -204,55 +195,21 @@ public class QueryCenterService { |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
public SearchResponse bankStatementQuery(QueryCenterQuery query){ |
|
|
|
SearchRequest searchRequest = new SearchRequest("dc_bank_statement"); // 设置要查询的索引 |
|
|
|
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); |
|
|
|
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery(); |
|
|
|
if (null != query.getCaseId()) { |
|
|
|
boolQuery.must(QueryBuilders.termQuery("caseId", query.getCaseId())); |
|
|
|
} |
|
|
|
|
|
|
|
//除了 cardHolderName |
|
|
|
|
|
|
|
public Long bankStatementQuery(QueryCenterQuery query){ |
|
|
|
String searchValue = query.getSearchValue().trim().replaceAll("([ ]|\\s|\\u00A0)+","") ; |
|
|
|
|
|
|
|
BoolQueryBuilder keywordQ = QueryBuilders.boolQuery(); |
|
|
|
searchValue = "*" +searchValue + "*"; |
|
|
|
keywordQ.should(QueryBuilders.wildcardQuery("idCardNo.keyword", searchValue)); |
|
|
|
keywordQ.should(QueryBuilders.wildcardQuery("cardNumber.keyword", searchValue)); |
|
|
|
keywordQ.should(QueryBuilders.wildcardQuery("transactionInstitutions.keyword", searchValue)); |
|
|
|
keywordQ.should(QueryBuilders.wildcardQuery("counterpartyName.keyword", searchValue)); |
|
|
|
keywordQ.should(QueryBuilders.wildcardQuery("counterpartyAccount.keyword", searchValue)); |
|
|
|
keywordQ.should(QueryBuilders.wildcardQuery("counterpartIdCardNo.keyword", searchValue)); |
|
|
|
keywordQ.should(QueryBuilders.wildcardQuery("counterpartyBankName.keyword", searchValue)); |
|
|
|
keywordQ.should(QueryBuilders.wildcardQuery("summary.keyword", searchValue)); |
|
|
|
keywordQ.should(QueryBuilders.wildcardQuery("transRemark.keyword", searchValue)); |
|
|
|
keywordQ.should(QueryBuilders.wildcardQuery("transChannel.keyword", searchValue)); |
|
|
|
keywordQ.should(QueryBuilders.wildcardQuery("realCounterpartyName.keyword", searchValue)); |
|
|
|
keywordQ.should(QueryBuilders.wildcardQuery("realCounterpartyAccount.keyword", searchValue)); |
|
|
|
keywordQ.should(QueryBuilders.wildcardQuery("phone.keyword", searchValue)); |
|
|
|
keywordQ.should(QueryBuilders.wildcardQuery("remark.keyword", searchValue)); |
|
|
|
|
|
|
|
boolQuery.must(keywordQ); |
|
|
|
|
|
|
|
|
|
|
|
searchSourceBuilder.query(boolQuery); |
|
|
|
searchRequest.source(searchSourceBuilder); |
|
|
|
SearchResponse searchResponse = null; |
|
|
|
try { |
|
|
|
searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT); |
|
|
|
} catch (IOException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
return searchResponse; |
|
|
|
GetBankStatementListReq req = new GetBankStatementListReq(); |
|
|
|
req.setCaseId(query.getCaseId()); |
|
|
|
req.setSearchValue(searchValue); |
|
|
|
TableDataInfo<BankStatement> page = bankService.page(req); |
|
|
|
return page.getTotal(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@SneakyThrows |
|
|
|
public JSONObject count(QueryCenterQuery query) { |
|
|
|
SearchResponse bsRes = this.bankStatementQuery(query); |
|
|
|
Long bsCount = this.bankStatementQuery(query); |
|
|
|
JSONObject indexAndCount = new JSONObject(); |
|
|
|
indexAndCount.put("dc_bank_statement",bsRes.getHits().getTotalHits().value); |
|
|
|
indexAndCount.put("dc_bank_statement",bsCount); |
|
|
|
|
|
|
|
JSONObject queryInfo = getQueryInfo(initQueryIndex(0)); |
|
|
|
List<String> indexList = queryInfo.getBeanList("indexArr", String.class); |
|
|
|