mirror of
https://github.com/chatopera/cosin.git
synced 2025-08-01 16:38:02 +08:00
Replace ElasticsearchTemplate with ElasticsearchRestTemplate
This commit is contained in:
parent
9208dcfa9e
commit
0d51674081
File diff suppressed because it is too large
Load Diff
@ -31,6 +31,7 @@ import org.springframework.http.HttpStatus;
|
|||||||
import org.springframework.lang.NonNull;
|
import org.springframework.lang.NonNull;
|
||||||
import org.springframework.web.server.ResponseStatusException;
|
import org.springframework.web.server.ResponseStatusException;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -74,7 +75,7 @@ public class ActivityResource extends Resource {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void begin() {
|
public void begin() throws IOException {
|
||||||
if (!StringUtils.isBlank(jobDetail.getFilterid())) {
|
if (!StringUtils.isBlank(jobDetail.getFilterid())) {
|
||||||
formFilter = formFilterRes.findByIdAndOrgi(jobDetail.getFilterid(), this.jobDetail.getOrgi());
|
formFilter = formFilterRes.findByIdAndOrgi(jobDetail.getFilterid(), this.jobDetail.getOrgi());
|
||||||
List<FormFilterItem> formFilterList = formFilterItemRes.findByOrgiAndFormfilterid(this.jobDetail.getOrgi(), jobDetail.getFilterid());
|
List<FormFilterItem> formFilterList = formFilterItemRes.findByOrgiAndFormfilterid(this.jobDetail.getOrgi(), jobDetail.getFilterid());
|
||||||
@ -160,7 +161,7 @@ public class ActivityResource extends Resource {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void end(boolean clear) {
|
public void end(boolean clear) throws IOException {
|
||||||
if (this.atomInt.intValue() > 0) {
|
if (this.atomInt.intValue() > 0) {
|
||||||
this.batchDataProcess.end();
|
this.batchDataProcess.end();
|
||||||
}
|
}
|
||||||
|
@ -1,50 +1,52 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2017 优客服-多渠道客服系统
|
* Copyright (C) 2017 优客服-多渠道客服系统
|
||||||
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package com.chatopera.cc.config;
|
package com.chatopera.cc.config;
|
||||||
|
|
||||||
import com.chatopera.cc.basic.MainContext;
|
import com.chatopera.cc.basic.MainContext;
|
||||||
import com.chatopera.cc.model.Favorites;
|
import com.chatopera.cc.model.Favorites;
|
||||||
import com.chatopera.cc.model.WorkOrders;
|
import com.chatopera.cc.model.WorkOrders;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.context.ApplicationListener;
|
import org.springframework.context.ApplicationListener;
|
||||||
import org.springframework.context.event.ContextRefreshedEvent;
|
import org.springframework.context.event.ContextRefreshedEvent;
|
||||||
import org.springframework.data.elasticsearch.ElasticsearchException;
|
import org.springframework.data.elasticsearch.ElasticsearchException;
|
||||||
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
|
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.lang.NonNull;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
@Component
|
|
||||||
public class ApplicationStartupListener implements ApplicationListener<ContextRefreshedEvent> {
|
@Component
|
||||||
|
@RequiredArgsConstructor
|
||||||
@Autowired ElasticsearchTemplate elasticSearchTemplate;
|
public class ApplicationStartupListener implements ApplicationListener<ContextRefreshedEvent> {
|
||||||
|
@NonNull
|
||||||
@Override
|
private final ElasticsearchRestTemplate elasticsearchRestTemplate;
|
||||||
public void onApplicationEvent(ContextRefreshedEvent event) {
|
|
||||||
if (!elasticSearchTemplate.indexExists(WorkOrders.class)) {
|
@Override
|
||||||
elasticSearchTemplate.createIndex(WorkOrders.class);
|
public void onApplicationEvent(@NonNull ContextRefreshedEvent event) {
|
||||||
}
|
if (!elasticsearchRestTemplate.indexExists(WorkOrders.class)) {
|
||||||
if (!elasticSearchTemplate.indexExists(Favorites.class)) {
|
elasticsearchRestTemplate.createIndex(WorkOrders.class);
|
||||||
elasticSearchTemplate.createIndex(Favorites.class);
|
}
|
||||||
}
|
if (!elasticsearchRestTemplate.indexExists(Favorites.class)) {
|
||||||
try {
|
elasticsearchRestTemplate.createIndex(Favorites.class);
|
||||||
elasticSearchTemplate.getMapping(WorkOrders.class);
|
}
|
||||||
} catch (ElasticsearchException e) {
|
try {
|
||||||
elasticSearchTemplate.putMapping(Favorites.class);
|
elasticsearchRestTemplate.getMapping(WorkOrders.class);
|
||||||
elasticSearchTemplate.putMapping(WorkOrders.class);
|
} catch (ElasticsearchException e) {
|
||||||
}
|
elasticsearchRestTemplate.putMapping(Favorites.class);
|
||||||
MainContext.setTemplet(elasticSearchTemplate);
|
elasticsearchRestTemplate.putMapping(WorkOrders.class);
|
||||||
}
|
}
|
||||||
}
|
MainContext.setTemplet(elasticsearchRestTemplate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -42,6 +42,7 @@ import org.springframework.web.servlet.ModelAndView;
|
|||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
@ -73,7 +74,7 @@ public class SipTrunkController extends Handler {
|
|||||||
|
|
||||||
@RequestMapping(value = "/agent")
|
@RequestMapping(value = "/agent")
|
||||||
@Menu(type = "callcenter", subtype = "agent", access = true)
|
@Menu(type = "callcenter", subtype = "agent", access = true)
|
||||||
public ModelAndView agent(ModelMap map, HttpServletResponse response, @Valid String ani, @Valid String sip) {
|
public ModelAndView agent(ModelMap map, HttpServletResponse response, @Valid String ani, @Valid String sip) throws IOException {
|
||||||
SipTrunk sipTrunk = CallCenterUtils.siptrunk(sip, sipTrunkRes);
|
SipTrunk sipTrunk = CallCenterUtils.siptrunk(sip, sipTrunkRes);
|
||||||
map.addAttribute("siptrunk", sipTrunk);
|
map.addAttribute("siptrunk", sipTrunk);
|
||||||
String agent = null;
|
String agent = null;
|
||||||
|
@ -24,10 +24,9 @@ import org.apache.commons.lang.StringUtils;
|
|||||||
import org.elasticsearch.index.query.*;
|
import org.elasticsearch.index.query.*;
|
||||||
import org.elasticsearch.search.sort.FieldSortBuilder;
|
import org.elasticsearch.search.sort.FieldSortBuilder;
|
||||||
import org.elasticsearch.search.sort.SortOrder;
|
import org.elasticsearch.search.sort.SortOrder;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
|
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
|
||||||
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
||||||
import org.springframework.lang.NonNull;
|
import org.springframework.lang.NonNull;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@ -43,13 +42,8 @@ import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
|||||||
public class ContactsRepositoryImpl implements ContactsEsCommonRepository {
|
public class ContactsRepositoryImpl implements ContactsEsCommonRepository {
|
||||||
@NonNull
|
@NonNull
|
||||||
private final UserRepository userRes;
|
private final UserRepository userRes;
|
||||||
|
@NonNull
|
||||||
private ElasticsearchTemplate elasticsearchTemplate;
|
private final ElasticsearchRestTemplate elasticsearchRestTemplate;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setElasticsearchTemplate(ElasticsearchTemplate elasticsearchTemplate) {
|
|
||||||
this.elasticsearchTemplate = elasticsearchTemplate;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<Contacts> findByCreaterAndSharesAndOrgi(String creater, String shares, String orgi, boolean includeDeleteData, String q, Pageable page) {
|
public Page<Contacts> findByCreaterAndSharesAndOrgi(String creater, String shares, String orgi, boolean includeDeleteData, String q, Pageable page) {
|
||||||
@ -160,8 +154,8 @@ public class ContactsRepositoryImpl implements ContactsEsCommonRepository {
|
|||||||
searchQueryBuilder.withPageable(page);
|
searchQueryBuilder.withPageable(page);
|
||||||
|
|
||||||
Page<Contacts> entCustomerList = null;
|
Page<Contacts> entCustomerList = null;
|
||||||
if (elasticsearchTemplate.indexExists(Contacts.class)) {
|
if (elasticsearchRestTemplate.indexExists(Contacts.class)) {
|
||||||
entCustomerList = elasticsearchTemplate.queryForPage(searchQueryBuilder.build(), Contacts.class);
|
entCustomerList = elasticsearchRestTemplate.queryForPage(searchQueryBuilder.build(), Contacts.class);
|
||||||
}
|
}
|
||||||
if (entCustomerList != null && entCustomerList.getContent().size() > 0) {
|
if (entCustomerList != null && entCustomerList.getContent().size() > 0) {
|
||||||
List<String> ids = new ArrayList<>();
|
List<String> ids = new ArrayList<>();
|
||||||
|
@ -24,10 +24,9 @@ import org.apache.commons.lang.StringUtils;
|
|||||||
import org.elasticsearch.index.query.*;
|
import org.elasticsearch.index.query.*;
|
||||||
import org.elasticsearch.search.sort.FieldSortBuilder;
|
import org.elasticsearch.search.sort.FieldSortBuilder;
|
||||||
import org.elasticsearch.search.sort.SortOrder;
|
import org.elasticsearch.search.sort.SortOrder;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
|
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
|
||||||
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
||||||
import org.springframework.lang.NonNull;
|
import org.springframework.lang.NonNull;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
@ -43,21 +42,16 @@ import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class EntCustomerRepositoryImpl implements EntCustomerEsCommonRepository {
|
public class EntCustomerRepositoryImpl implements EntCustomerEsCommonRepository {
|
||||||
|
|
||||||
private final SimpleDateFormat dateFromate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
private final UserRepository userRes;
|
private final UserRepository userRes;
|
||||||
|
|
||||||
private ElasticsearchTemplate elasticsearchTemplate;
|
@NonNull
|
||||||
|
private final ElasticsearchRestTemplate elasticsearchRestTemplate;
|
||||||
@Autowired
|
|
||||||
public void setElasticsearchTemplate(ElasticsearchTemplate elasticsearchTemplate) {
|
|
||||||
this.elasticsearchTemplate = elasticsearchTemplate;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<EntCustomer> findByCreaterAndSharesAndOrgi(String creater, String shares, String orgi, boolean includeDeleteData, String q, Pageable page) {
|
public Page<EntCustomer> findByCreaterAndSharesAndOrgi(String creater, String shares, String orgi, boolean includeDeleteData, String q, Pageable page) {
|
||||||
|
|
||||||
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
|
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
|
||||||
BoolQueryBuilder boolQueryBuilder1 = new BoolQueryBuilder();
|
BoolQueryBuilder boolQueryBuilder1 = new BoolQueryBuilder();
|
||||||
boolQueryBuilder1.should(termQuery("creater", creater));
|
boolQueryBuilder1.should(termQuery("creater", creater));
|
||||||
@ -125,12 +119,12 @@ public class EntCustomerRepositoryImpl implements EntCustomerEsCommonRepository
|
|||||||
}
|
}
|
||||||
RangeQueryBuilder rangeQuery = QueryBuilders.rangeQuery("createtime");
|
RangeQueryBuilder rangeQuery = QueryBuilders.rangeQuery("createtime");
|
||||||
if (begin != null) {
|
if (begin != null) {
|
||||||
rangeQuery.from(dateFromate.format(begin));
|
rangeQuery.from(DATE_FORMAT.format(begin));
|
||||||
}
|
}
|
||||||
if (end != null) {
|
if (end != null) {
|
||||||
rangeQuery.to(dateFromate.format(end));
|
rangeQuery.to(DATE_FORMAT.format(end));
|
||||||
} else {
|
} else {
|
||||||
rangeQuery.to(dateFromate.format(new Date()));
|
rangeQuery.to(DATE_FORMAT.format(new Date()));
|
||||||
}
|
}
|
||||||
if (begin != null || end != null) {
|
if (begin != null || end != null) {
|
||||||
boolQueryBuilder.must(rangeQuery);
|
boolQueryBuilder.must(rangeQuery);
|
||||||
@ -148,8 +142,8 @@ public class EntCustomerRepositoryImpl implements EntCustomerEsCommonRepository
|
|||||||
searchQueryBuilder.withPageable(page);
|
searchQueryBuilder.withPageable(page);
|
||||||
|
|
||||||
Page<EntCustomer> entCustomerList = null;
|
Page<EntCustomer> entCustomerList = null;
|
||||||
if (elasticsearchTemplate.indexExists(EntCustomer.class)) {
|
if (elasticsearchRestTemplate.indexExists(EntCustomer.class)) {
|
||||||
entCustomerList = elasticsearchTemplate.queryForPage(searchQueryBuilder.build(), EntCustomer.class);
|
entCustomerList = elasticsearchRestTemplate.queryForPage(searchQueryBuilder.build(), EntCustomer.class);
|
||||||
}
|
}
|
||||||
if (entCustomerList != null && entCustomerList.getContent().size() > 0) {
|
if (entCustomerList != null && entCustomerList.getContent().size() > 0) {
|
||||||
List<String> ids = new ArrayList<>();
|
List<String> ids = new ArrayList<>();
|
||||||
|
@ -26,7 +26,7 @@ import org.elasticsearch.search.sort.FieldSortBuilder;
|
|||||||
import org.elasticsearch.search.sort.SortOrder;
|
import org.elasticsearch.search.sort.SortOrder;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.PageRequest;
|
||||||
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
|
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
|
||||||
import org.springframework.data.elasticsearch.core.EntityMapper;
|
import org.springframework.data.elasticsearch.core.EntityMapper;
|
||||||
import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentEntity;
|
import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentEntity;
|
||||||
import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentProperty;
|
import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentProperty;
|
||||||
@ -46,15 +46,15 @@ public class KbsTopicCommentRepositoryImpl implements KbsTopicCommentEsCommonRep
|
|||||||
@NonNull
|
@NonNull
|
||||||
private final UKResultMapper resultMapper;
|
private final UKResultMapper resultMapper;
|
||||||
@NonNull
|
@NonNull
|
||||||
private final ElasticsearchTemplate elasticsearchTemplate;
|
private final ElasticsearchRestTemplate elasticsearchRestTemplate;
|
||||||
@NonNull
|
@NonNull
|
||||||
private final UKAggResultExtractor ukAggResultExtractor;
|
private final UKAggResultExtractor ukAggResultExtractor;
|
||||||
@NonNull
|
@NonNull
|
||||||
private final UKAggTopResultExtractor ukAggTopResultExtractor;
|
private final UKAggTopResultExtractor ukAggTopResultExtractor;
|
||||||
|
|
||||||
public KbsTopicCommentRepositoryImpl(@NonNull UKResultMapper resultMapper, @NonNull ElasticsearchTemplate elasticsearchTemplate, @NonNull EntityMapper entityMapper, @NonNull MappingContext<? extends ElasticsearchPersistentEntity<?>, ElasticsearchPersistentProperty> mappingContext) {
|
public KbsTopicCommentRepositoryImpl(@NonNull UKResultMapper resultMapper, @NonNull ElasticsearchRestTemplate elasticsearchRestTemplate, @NonNull EntityMapper entityMapper, @NonNull MappingContext<? extends ElasticsearchPersistentEntity<?>, ElasticsearchPersistentProperty> mappingContext) {
|
||||||
this.resultMapper = resultMapper;
|
this.resultMapper = resultMapper;
|
||||||
this.elasticsearchTemplate = elasticsearchTemplate;
|
this.elasticsearchRestTemplate = elasticsearchRestTemplate;
|
||||||
ukAggTopResultExtractor = new UKAggTopResultExtractor(entityMapper, mappingContext);
|
ukAggTopResultExtractor = new UKAggTopResultExtractor(entityMapper, mappingContext);
|
||||||
ukAggResultExtractor = new UKAggResultExtractor(entityMapper, mappingContext);
|
ukAggResultExtractor = new UKAggResultExtractor(entityMapper, mappingContext);
|
||||||
}
|
}
|
||||||
@ -63,8 +63,8 @@ public class KbsTopicCommentRepositoryImpl implements KbsTopicCommentEsCommonRep
|
|||||||
public Page<KbsTopicComment> findByDataid(String id, int p, int ps) {
|
public Page<KbsTopicComment> findByDataid(String id, int p, int ps) {
|
||||||
Page<KbsTopicComment> pages = null;
|
Page<KbsTopicComment> pages = null;
|
||||||
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("dataid", id)).withSort(new FieldSortBuilder("optimal").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC)).build().setPageable(PageRequest.of(p, ps));
|
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("dataid", id)).withSort(new FieldSortBuilder("optimal").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC)).build().setPageable(PageRequest.of(p, ps));
|
||||||
if (elasticsearchTemplate.indexExists(KbsTopicComment.class)) {
|
if (elasticsearchRestTemplate.indexExists(KbsTopicComment.class)) {
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, KbsTopicComment.class);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, KbsTopicComment.class);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@ -73,8 +73,8 @@ public class KbsTopicCommentRepositoryImpl implements KbsTopicCommentEsCommonRep
|
|||||||
public List<KbsTopicComment> findByOptimal(String dataid) {
|
public List<KbsTopicComment> findByOptimal(String dataid) {
|
||||||
List<KbsTopicComment> commentList = null;
|
List<KbsTopicComment> commentList = null;
|
||||||
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("dataid", dataid)).withQuery(termQuery("optimal", true)).build();
|
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("dataid", dataid)).withQuery(termQuery("optimal", true)).build();
|
||||||
if (elasticsearchTemplate.indexExists(KbsTopicComment.class)) {
|
if (elasticsearchRestTemplate.indexExists(KbsTopicComment.class)) {
|
||||||
commentList = elasticsearchTemplate.queryForList(searchQuery, KbsTopicComment.class);
|
commentList = elasticsearchRestTemplate.queryForList(searchQuery, KbsTopicComment.class);
|
||||||
}
|
}
|
||||||
return commentList;
|
return commentList;
|
||||||
}
|
}
|
||||||
@ -86,13 +86,13 @@ public class KbsTopicCommentRepositoryImpl implements KbsTopicCommentEsCommonRep
|
|||||||
searchQueryBuilder.withQuery(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
|
searchQueryBuilder.withQuery(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
|
||||||
}
|
}
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build();
|
SearchQuery searchQuery = searchQueryBuilder.build();
|
||||||
if (elasticsearchTemplate.indexExists(KbsTopicComment.class)) {
|
if (elasticsearchRestTemplate.indexExists(KbsTopicComment.class)) {
|
||||||
if (!StringUtils.isBlank(q)) {
|
if (!StringUtils.isBlank(q)) {
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, KbsTopicComment.class, resultMapper);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, KbsTopicComment.class, resultMapper);
|
||||||
} else {
|
} else {
|
||||||
ukAggTopResultExtractor.setTerm(field);
|
ukAggTopResultExtractor.setTerm(field);
|
||||||
ukAggTopResultExtractor.setName(aggname);
|
ukAggTopResultExtractor.setName(aggname);
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, KbsTopicComment.class, ukAggTopResultExtractor);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, KbsTopicComment.class, ukAggTopResultExtractor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
@ -106,7 +106,7 @@ public class KbsTopicCommentRepositoryImpl implements KbsTopicCommentEsCommonRep
|
|||||||
if (!StringUtils.isBlank(q)) {
|
if (!StringUtils.isBlank(q)) {
|
||||||
searchQueryBuilder.withQuery(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
|
searchQueryBuilder.withQuery(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
|
||||||
}
|
}
|
||||||
return elasticsearchTemplate.queryForPage(searchQueryBuilder.build(), KbsTopicComment.class, resultMapper);
|
return elasticsearchRestTemplate.queryForPage(searchQueryBuilder.build(), KbsTopicComment.class, resultMapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -117,9 +117,9 @@ public class KbsTopicCommentRepositoryImpl implements KbsTopicCommentEsCommonRep
|
|||||||
searchQueryBuilder.withQuery(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
|
searchQueryBuilder.withQuery(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
|
||||||
}
|
}
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
||||||
if (elasticsearchTemplate.indexExists(Topic.class)) {
|
if (elasticsearchRestTemplate.indexExists(Topic.class)) {
|
||||||
ukAggResultExtractor.setTerm("creater");
|
ukAggResultExtractor.setTerm("creater");
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, KbsTopicComment.class, ukAggResultExtractor);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, KbsTopicComment.class, ukAggResultExtractor);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ import org.elasticsearch.search.sort.FieldSortBuilder;
|
|||||||
import org.elasticsearch.search.sort.SortOrder;
|
import org.elasticsearch.search.sort.SortOrder;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.PageRequest;
|
||||||
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
|
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
|
||||||
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
||||||
import org.springframework.data.elasticsearch.core.query.SearchQuery;
|
import org.springframework.data.elasticsearch.core.query.SearchQuery;
|
||||||
import org.springframework.lang.NonNull;
|
import org.springframework.lang.NonNull;
|
||||||
@ -42,7 +42,7 @@ public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository {
|
|||||||
@NonNull
|
@NonNull
|
||||||
private final UKResultMapper ukResultMapper;
|
private final UKResultMapper ukResultMapper;
|
||||||
@NonNull
|
@NonNull
|
||||||
private final ElasticsearchTemplate elasticsearchTemplate;
|
private final ElasticsearchRestTemplate elasticsearchRestTemplate;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<KbsTopic> getTopicByCate(String cate, String q, final int p, final int ps) {
|
public Page<KbsTopic> getTopicByCate(String cate, String q, final int p, final int ps) {
|
||||||
@ -58,8 +58,8 @@ public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository {
|
|||||||
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
||||||
searchQueryBuilder.withHighlightFields(new HighlightBuilder.Field("title").fragmentSize(200));
|
searchQueryBuilder.withHighlightFields(new HighlightBuilder.Field("title").fragmentSize(200));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
||||||
if (elasticsearchTemplate.indexExists(KbsTopic.class)) {
|
if (elasticsearchRestTemplate.indexExists(KbsTopic.class)) {
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, KbsTopic.class, ukResultMapper);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, KbsTopic.class, ukResultMapper);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@ -79,8 +79,8 @@ public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository {
|
|||||||
|
|
||||||
searchQueryBuilder.withHighlightFields(new HighlightBuilder.Field("title").fragmentSize(200));
|
searchQueryBuilder.withHighlightFields(new HighlightBuilder.Field("title").fragmentSize(200));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
||||||
if (elasticsearchTemplate.indexExists(KbsTopic.class)) {
|
if (elasticsearchRestTemplate.indexExists(KbsTopic.class)) {
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, KbsTopic.class, ukResultMapper);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, KbsTopic.class, ukResultMapper);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@ -99,8 +99,8 @@ public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository {
|
|||||||
|
|
||||||
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withQuery(termQuery("creater", user)).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withQuery(termQuery("creater", user)).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
||||||
if (elasticsearchTemplate.indexExists(KbsTopic.class)) {
|
if (elasticsearchRestTemplate.indexExists(KbsTopic.class)) {
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, KbsTopic.class, ukResultMapper);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, KbsTopic.class, ukResultMapper);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@ -116,8 +116,8 @@ public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository {
|
|||||||
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withFilter(QueryBuilders.boolQuery().must(beginFilter).must(endFilter)).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withFilter(QueryBuilders.boolQuery().must(beginFilter).must(endFilter)).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
||||||
|
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
||||||
if (elasticsearchTemplate.indexExists(KbsTopic.class)) {
|
if (elasticsearchRestTemplate.indexExists(KbsTopic.class)) {
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, KbsTopic.class);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, KbsTopic.class);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@ -140,8 +140,8 @@ public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository {
|
|||||||
|
|
||||||
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build();
|
SearchQuery searchQuery = searchQueryBuilder.build();
|
||||||
if (elasticsearchTemplate.indexExists(KbsTopic.class)) {
|
if (elasticsearchRestTemplate.indexExists(KbsTopic.class)) {
|
||||||
list = elasticsearchTemplate.queryForList(searchQuery, KbsTopic.class);
|
list = elasticsearchRestTemplate.queryForList(searchQuery, KbsTopic.class);
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ import org.elasticsearch.search.sort.SortOrder;
|
|||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.PageRequest;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
|
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
|
||||||
import org.springframework.data.elasticsearch.core.query.DeleteQuery;
|
import org.springframework.data.elasticsearch.core.query.DeleteQuery;
|
||||||
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
||||||
import org.springframework.data.elasticsearch.core.query.SearchQuery;
|
import org.springframework.data.elasticsearch.core.query.SearchQuery;
|
||||||
@ -46,7 +46,7 @@ public class QuickReplyRepositoryImpl implements QuickReplyEsCommonRepository {
|
|||||||
private final UKResultMapper ukResultMapper;
|
private final UKResultMapper ukResultMapper;
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
private final ElasticsearchTemplate elasticsearchTemplate;
|
private final ElasticsearchRestTemplate elasticsearchRestTemplate;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<QuickReply> getByOrgiAndCate(String orgi, String cate, String q, Pageable page) {
|
public Page<QuickReply> getByOrgiAndCate(String orgi, String cate, String q, Pageable page) {
|
||||||
@ -62,8 +62,8 @@ public class QuickReplyRepositoryImpl implements QuickReplyEsCommonRepository {
|
|||||||
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
||||||
searchQueryBuilder.withHighlightFields(new HighlightBuilder.Field("title").fragmentSize(200));
|
searchQueryBuilder.withHighlightFields(new HighlightBuilder.Field("title").fragmentSize(200));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(page);
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(page);
|
||||||
if (elasticsearchTemplate.indexExists(QuickReply.class)) {
|
if (elasticsearchRestTemplate.indexExists(QuickReply.class)) {
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, QuickReply.class, ukResultMapper);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, QuickReply.class, ukResultMapper);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@ -95,8 +95,8 @@ public class QuickReplyRepositoryImpl implements QuickReplyEsCommonRepository {
|
|||||||
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
||||||
searchQueryBuilder.withHighlightFields(new HighlightBuilder.Field("title").fragmentSize(200));
|
searchQueryBuilder.withHighlightFields(new HighlightBuilder.Field("title").fragmentSize(200));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(0, 10000));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(0, 10000));
|
||||||
if (elasticsearchTemplate.indexExists(QuickReply.class)) {
|
if (elasticsearchRestTemplate.indexExists(QuickReply.class)) {
|
||||||
pages = elasticsearchTemplate.queryForList(searchQuery, QuickReply.class);
|
pages = elasticsearchRestTemplate.queryForList(searchQuery, QuickReply.class);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@ -114,8 +114,8 @@ public class QuickReplyRepositoryImpl implements QuickReplyEsCommonRepository {
|
|||||||
|
|
||||||
searchQueryBuilder.withHighlightFields(new HighlightBuilder.Field("title").fragmentSize(200));
|
searchQueryBuilder.withHighlightFields(new HighlightBuilder.Field("title").fragmentSize(200));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
||||||
if (elasticsearchTemplate.indexExists(QuickReply.class)) {
|
if (elasticsearchRestTemplate.indexExists(QuickReply.class)) {
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, QuickReply.class, ukResultMapper);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, QuickReply.class, ukResultMapper);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@ -134,8 +134,8 @@ public class QuickReplyRepositoryImpl implements QuickReplyEsCommonRepository {
|
|||||||
|
|
||||||
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withQuery(termQuery("creater", user)).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withQuery(termQuery("creater", user)).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
||||||
if (elasticsearchTemplate.indexExists(QuickReply.class)) {
|
if (elasticsearchRestTemplate.indexExists(QuickReply.class)) {
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, QuickReply.class, ukResultMapper);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, QuickReply.class, ukResultMapper);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@ -151,8 +151,8 @@ public class QuickReplyRepositoryImpl implements QuickReplyEsCommonRepository {
|
|||||||
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withFilter(QueryBuilders.boolQuery().must(beginFilter).must(endFilter)).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withFilter(QueryBuilders.boolQuery().must(beginFilter).must(endFilter)).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
||||||
|
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
||||||
if (elasticsearchTemplate.indexExists(QuickReply.class)) {
|
if (elasticsearchRestTemplate.indexExists(QuickReply.class)) {
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, QuickReply.class);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, QuickReply.class);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@ -174,8 +174,8 @@ public class QuickReplyRepositoryImpl implements QuickReplyEsCommonRepository {
|
|||||||
|
|
||||||
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(page);
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(page);
|
||||||
if (elasticsearchTemplate.indexExists(QuickReply.class)) {
|
if (elasticsearchRestTemplate.indexExists(QuickReply.class)) {
|
||||||
list = elasticsearchTemplate.queryForPage(searchQuery, QuickReply.class);
|
list = elasticsearchRestTemplate.queryForPage(searchQuery, QuickReply.class);
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
@ -187,7 +187,7 @@ public class QuickReplyRepositoryImpl implements QuickReplyEsCommonRepository {
|
|||||||
boolQueryBuilder.must(termQuery("orgi", orgi));
|
boolQueryBuilder.must(termQuery("orgi", orgi));
|
||||||
boolQueryBuilder.must(termQuery("cate", cate));
|
boolQueryBuilder.must(termQuery("cate", cate));
|
||||||
deleteQuery.setQuery(boolQueryBuilder);
|
deleteQuery.setQuery(boolQueryBuilder);
|
||||||
elasticsearchTemplate.delete(deleteQuery);
|
elasticsearchRestTemplate.delete(deleteQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -210,8 +210,8 @@ public class QuickReplyRepositoryImpl implements QuickReplyEsCommonRepository {
|
|||||||
|
|
||||||
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(0, 10000));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(0, 10000));
|
||||||
if (elasticsearchTemplate.indexExists(QuickReply.class)) {
|
if (elasticsearchRestTemplate.indexExists(QuickReply.class)) {
|
||||||
list = elasticsearchTemplate.queryForList(searchQuery, QuickReply.class);
|
list = elasticsearchRestTemplate.queryForList(searchQuery, QuickReply.class);
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ import org.elasticsearch.search.sort.FieldSortBuilder;
|
|||||||
import org.elasticsearch.search.sort.SortOrder;
|
import org.elasticsearch.search.sort.SortOrder;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.PageRequest;
|
||||||
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
|
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
|
||||||
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
||||||
import org.springframework.data.elasticsearch.core.query.SearchQuery;
|
import org.springframework.data.elasticsearch.core.query.SearchQuery;
|
||||||
import org.springframework.lang.NonNull;
|
import org.springframework.lang.NonNull;
|
||||||
@ -41,7 +41,7 @@ import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class TopicRepositoryImpl implements TopicEsCommonRepository {
|
public class TopicRepositoryImpl implements TopicEsCommonRepository {
|
||||||
@NonNull
|
@NonNull
|
||||||
private final ElasticsearchTemplate elasticsearchTemplate;
|
private final ElasticsearchRestTemplate elasticsearchRestTemplate;
|
||||||
@NonNull
|
@NonNull
|
||||||
private final XiaoEUKResultMapper resultMapper;
|
private final XiaoEUKResultMapper resultMapper;
|
||||||
|
|
||||||
@ -61,8 +61,8 @@ public class TopicRepositoryImpl implements TopicEsCommonRepository {
|
|||||||
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
||||||
searchQueryBuilder.withHighlightFields(new HighlightBuilder.Field("title").fragmentSize(200));
|
searchQueryBuilder.withHighlightFields(new HighlightBuilder.Field("title").fragmentSize(200));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
||||||
if (elasticsearchTemplate.indexExists(Topic.class)) {
|
if (elasticsearchRestTemplate.indexExists(Topic.class)) {
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, Topic.class, resultMapper);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, Topic.class, resultMapper);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@ -87,8 +87,8 @@ public class TopicRepositoryImpl implements TopicEsCommonRepository {
|
|||||||
|
|
||||||
searchQueryBuilder.withHighlightFields(new HighlightBuilder.Field("title").fragmentSize(200));
|
searchQueryBuilder.withHighlightFields(new HighlightBuilder.Field("title").fragmentSize(200));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
||||||
if (elasticsearchTemplate.indexExists(Topic.class)) {
|
if (elasticsearchRestTemplate.indexExists(Topic.class)) {
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, Topic.class, resultMapper);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, Topic.class, resultMapper);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@ -107,8 +107,8 @@ public class TopicRepositoryImpl implements TopicEsCommonRepository {
|
|||||||
|
|
||||||
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withQuery(termQuery("creater", user)).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withQuery(termQuery("creater", user)).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
||||||
if (elasticsearchTemplate.indexExists(Topic.class)) {
|
if (elasticsearchRestTemplate.indexExists(Topic.class)) {
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, Topic.class, resultMapper);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, Topic.class, resultMapper);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@ -123,8 +123,8 @@ public class TopicRepositoryImpl implements TopicEsCommonRepository {
|
|||||||
|
|
||||||
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withFilter(QueryBuilders.boolQuery().must(beginFilter).must(endFilter)).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withFilter(QueryBuilders.boolQuery().must(beginFilter).must(endFilter)).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
||||||
if (elasticsearchTemplate.indexExists(Topic.class)) {
|
if (elasticsearchRestTemplate.indexExists(Topic.class)) {
|
||||||
pages = elasticsearchTemplate.queryForPage(searchQuery, Topic.class);
|
pages = elasticsearchRestTemplate.queryForPage(searchQuery, Topic.class);
|
||||||
}
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@ -147,8 +147,8 @@ public class TopicRepositoryImpl implements TopicEsCommonRepository {
|
|||||||
|
|
||||||
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build();
|
SearchQuery searchQuery = searchQueryBuilder.build();
|
||||||
if (elasticsearchTemplate.indexExists(Topic.class)) {
|
if (elasticsearchRestTemplate.indexExists(Topic.class)) {
|
||||||
list = elasticsearchTemplate.queryForList(searchQuery, Topic.class);
|
list = elasticsearchRestTemplate.queryForList(searchQuery, Topic.class);
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
@ -1,69 +1,68 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2017 优客服-多渠道客服系统
|
* Copyright (C) 2017 优客服-多渠道客服系统
|
||||||
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package com.chatopera.cc.persistence.impl;
|
package com.chatopera.cc.persistence.impl;
|
||||||
|
|
||||||
import com.chatopera.cc.basic.MainContext;
|
import com.chatopera.cc.basic.MainContext;
|
||||||
import com.chatopera.cc.model.MetadataTable;
|
import com.chatopera.cc.model.MetadataTable;
|
||||||
import com.chatopera.cc.util.dsdata.process.JPAProcess;
|
import com.chatopera.cc.util.dsdata.process.JPAProcess;
|
||||||
import com.chatopera.cc.util.es.UKDataBean;
|
import com.chatopera.cc.util.es.UKDataBean;
|
||||||
import org.elasticsearch.action.bulk.BulkRequestBuilder;
|
import org.elasticsearch.action.bulk.BulkRequest;
|
||||||
|
import org.elasticsearch.client.RequestOptions;
|
||||||
import java.util.Map;
|
import org.springframework.lang.NonNull;
|
||||||
|
|
||||||
public class BatchDataProcess implements JPAProcess{
|
import java.io.IOException;
|
||||||
|
import java.util.Map;
|
||||||
private MetadataTable metadata;
|
|
||||||
private ESDataExchangeImpl esDataExchangeImpl ;
|
public class BatchDataProcess implements JPAProcess {
|
||||||
private BulkRequestBuilder builder ;
|
|
||||||
|
private final MetadataTable metadata;
|
||||||
public BatchDataProcess(MetadataTable metadata , ESDataExchangeImpl esDataExchangeImpl) {
|
private final ESDataExchangeImpl esDataExchangeImpl;
|
||||||
this.metadata = metadata ;
|
@NonNull
|
||||||
this.esDataExchangeImpl = esDataExchangeImpl ;
|
private final BulkRequest request;
|
||||||
builder = MainContext.getTemplet().getClient().prepareBulk() ;
|
|
||||||
}
|
public BatchDataProcess(MetadataTable metadata, ESDataExchangeImpl esDataExchangeImpl) {
|
||||||
|
this.metadata = metadata;
|
||||||
@SuppressWarnings("unchecked")
|
this.esDataExchangeImpl = esDataExchangeImpl;
|
||||||
@Override
|
request = new BulkRequest();
|
||||||
public void process(Object data) {
|
}
|
||||||
UKDataBean dataBean = new UKDataBean();
|
|
||||||
if(data instanceof UKDataBean) {
|
@SuppressWarnings("unchecked")
|
||||||
dataBean = (UKDataBean)data;
|
@Override
|
||||||
}else {
|
public void process(Object data) {
|
||||||
dataBean.setTable(this.metadata);
|
UKDataBean dataBean = new UKDataBean();
|
||||||
dataBean.setValues((Map<String, Object>) data);
|
if (data instanceof UKDataBean) {
|
||||||
}
|
dataBean = (UKDataBean) data;
|
||||||
try {
|
} else {
|
||||||
if(builder!=null) {
|
dataBean.setTable(this.metadata);
|
||||||
builder.add(esDataExchangeImpl.saveBulk(dataBean)) ;
|
dataBean.setValues((Map<String, Object>) data);
|
||||||
}else {
|
}
|
||||||
esDataExchangeImpl.saveIObject(dataBean);
|
try {
|
||||||
}
|
request.add(esDataExchangeImpl.saveBulk(dataBean));
|
||||||
if(builder.numberOfActions() % 1000 ==0) {
|
if (request.numberOfActions() % 1000 == 0) {
|
||||||
builder.execute().actionGet();
|
end();
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void end() {
|
public void end() throws IOException {
|
||||||
if(builder!=null) {
|
MainContext.getTemplet().getClient().bulk(request, RequestOptions.DEFAULT);
|
||||||
builder.execute().actionGet();
|
request.requests().clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@ -1,59 +1,59 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2017 优客服-多渠道客服系统
|
* Copyright (C) 2017 优客服-多渠道客服系统
|
||||||
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package com.chatopera.cc.persistence.impl;
|
package com.chatopera.cc.persistence.impl;
|
||||||
|
|
||||||
import com.chatopera.cc.basic.MainContext;
|
import com.chatopera.cc.basic.MainContext;
|
||||||
import com.chatopera.cc.util.dsdata.process.JPAProcess;
|
import com.chatopera.cc.util.dsdata.process.JPAProcess;
|
||||||
import com.chatopera.cc.util.es.UKDataBean;
|
import com.chatopera.cc.util.es.UKDataBean;
|
||||||
import org.elasticsearch.action.bulk.BulkRequestBuilder;
|
import org.elasticsearch.action.bulk.BulkRequest;
|
||||||
|
import org.elasticsearch.client.RequestOptions;
|
||||||
public class DataBatProcess implements JPAProcess{
|
import org.springframework.lang.NonNull;
|
||||||
|
|
||||||
private ESDataExchangeImpl esDataExchangeImpl ;
|
import java.io.IOException;
|
||||||
private BulkRequestBuilder builder ;
|
|
||||||
|
public class DataBatProcess implements JPAProcess {
|
||||||
public DataBatProcess(ESDataExchangeImpl esDataExchangeImpl) {
|
@NonNull
|
||||||
this.esDataExchangeImpl = esDataExchangeImpl ;
|
private final BulkRequest request;
|
||||||
builder = MainContext.getTemplet().getClient().prepareBulk() ;
|
@NonNull
|
||||||
}
|
private final ESDataExchangeImpl esDataExchangeImpl;
|
||||||
|
|
||||||
@Override
|
public DataBatProcess(@NonNull ESDataExchangeImpl esDataExchangeImpl) {
|
||||||
public void process(Object data) {
|
this.esDataExchangeImpl = esDataExchangeImpl;
|
||||||
if(data instanceof UKDataBean){
|
request = new BulkRequest();
|
||||||
UKDataBean dataBean = (UKDataBean)data;
|
}
|
||||||
try {
|
|
||||||
if(builder!=null) {
|
@Override
|
||||||
builder.add(esDataExchangeImpl.saveBulk(dataBean)) ;
|
public void process(Object data) {
|
||||||
}else {
|
if (data instanceof UKDataBean) {
|
||||||
esDataExchangeImpl.saveIObject(dataBean);
|
UKDataBean dataBean = (UKDataBean) data;
|
||||||
}
|
try {
|
||||||
if(builder.numberOfActions() % 1000 ==0) {
|
request.add(esDataExchangeImpl.saveBulk(dataBean));
|
||||||
builder.execute().actionGet();
|
if (request.numberOfActions() % 1000 == 0) {
|
||||||
}
|
end();
|
||||||
} catch (Exception e) {
|
}
|
||||||
e.printStackTrace();
|
} catch (Exception e) {
|
||||||
}
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
@Override
|
|
||||||
public void end() {
|
@Override
|
||||||
if(builder!=null) {
|
public void end() throws IOException {
|
||||||
builder.execute().actionGet();
|
MainContext.getTemplet().getClient().bulk(request, RequestOptions.DEFAULT);
|
||||||
}
|
request.requests().clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,10 +25,12 @@ import com.chatopera.cc.persistence.repository.UserRepository;
|
|||||||
import com.chatopera.cc.util.es.UKDataBean;
|
import com.chatopera.cc.util.es.UKDataBean;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.elasticsearch.action.get.GetRequest;
|
||||||
import org.elasticsearch.action.get.GetResponse;
|
import org.elasticsearch.action.get.GetResponse;
|
||||||
import org.elasticsearch.action.index.IndexRequestBuilder;
|
import org.elasticsearch.action.index.IndexRequest;
|
||||||
import org.elasticsearch.action.search.SearchRequestBuilder;
|
import org.elasticsearch.action.search.SearchRequest;
|
||||||
import org.elasticsearch.action.search.SearchResponse;
|
import org.elasticsearch.action.search.SearchResponse;
|
||||||
|
import org.elasticsearch.client.RequestOptions;
|
||||||
import org.elasticsearch.index.query.QueryBuilder;
|
import org.elasticsearch.index.query.QueryBuilder;
|
||||||
import org.elasticsearch.search.SearchHit;
|
import org.elasticsearch.search.SearchHit;
|
||||||
import org.elasticsearch.search.aggregations.Aggregation;
|
import org.elasticsearch.search.aggregations.Aggregation;
|
||||||
@ -36,6 +38,7 @@ import org.elasticsearch.search.aggregations.AggregationBuilder;
|
|||||||
import org.elasticsearch.search.aggregations.AggregationBuilders;
|
import org.elasticsearch.search.aggregations.AggregationBuilders;
|
||||||
import org.elasticsearch.search.aggregations.bucket.terms.StringTerms;
|
import org.elasticsearch.search.aggregations.bucket.terms.StringTerms;
|
||||||
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
|
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
|
||||||
|
import org.elasticsearch.search.builder.SearchSourceBuilder;
|
||||||
import org.elasticsearch.search.sort.FieldSortBuilder;
|
import org.elasticsearch.search.sort.FieldSortBuilder;
|
||||||
import org.elasticsearch.search.sort.SortOrder;
|
import org.elasticsearch.search.sort.SortOrder;
|
||||||
import org.springframework.data.domain.PageImpl;
|
import org.springframework.data.domain.PageImpl;
|
||||||
@ -44,6 +47,7 @@ import org.springframework.data.domain.Sort.Order;
|
|||||||
import org.springframework.lang.NonNull;
|
import org.springframework.lang.NonNull;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -62,31 +66,26 @@ public class ESDataExchangeImpl {
|
|||||||
@NonNull
|
@NonNull
|
||||||
private final OrganRepository organRes;
|
private final OrganRepository organRes;
|
||||||
|
|
||||||
public void saveIObject(UKDataBean dataBean) {
|
public void saveIObject(UKDataBean dataBean) throws IOException {
|
||||||
if (dataBean.getId() == null) {
|
if (dataBean.getId() == null) {
|
||||||
dataBean.setId((String) dataBean.getValues().get("id"));
|
dataBean.setId((String) dataBean.getValues().get("id"));
|
||||||
}
|
}
|
||||||
this.saveBulk(dataBean).execute().actionGet();
|
MainContext.getTemplet().getClient().index(this.saveBulk(dataBean), RequestOptions.DEFAULT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@NonNull
|
||||||
*
|
public IndexRequest saveBulk(UKDataBean dataBean) {
|
||||||
*/
|
|
||||||
public IndexRequestBuilder saveBulk(UKDataBean dataBean) {
|
|
||||||
IndexRequestBuilder indexRequestBuilder;
|
|
||||||
if (dataBean.getId() == null) {
|
if (dataBean.getId() == null) {
|
||||||
dataBean.setId((String) dataBean.getValues().get("id"));
|
dataBean.setId((String) dataBean.getValues().get("id"));
|
||||||
}
|
}
|
||||||
|
String type;
|
||||||
if (!StringUtils.isBlank(dataBean.getType())) {
|
if (!StringUtils.isBlank(dataBean.getType())) {
|
||||||
indexRequestBuilder = MainContext.getTemplet().getClient().prepareIndex(Constants.SYSTEM_INDEX,
|
type = dataBean.getType();
|
||||||
dataBean.getType(), dataBean.getId())
|
|
||||||
.setSource(processValues(dataBean));
|
|
||||||
} else {
|
} else {
|
||||||
indexRequestBuilder = MainContext.getTemplet().getClient().prepareIndex(Constants.SYSTEM_INDEX,
|
type = dataBean.getTable().getTablename();
|
||||||
dataBean.getTable().getTablename(), dataBean.getId())
|
|
||||||
.setSource(processValues(dataBean));
|
|
||||||
}
|
}
|
||||||
return indexRequestBuilder;
|
return new IndexRequest(Constants.SYSTEM_INDEX,
|
||||||
|
type, dataBean.getId()).source(processValues(dataBean));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -113,18 +112,16 @@ public class ESDataExchangeImpl {
|
|||||||
|
|
||||||
public void deleteById(String type, String id) {
|
public void deleteById(String type, String id) {
|
||||||
if (!StringUtils.isBlank(type) && !StringUtils.isBlank(id)) {
|
if (!StringUtils.isBlank(type) && !StringUtils.isBlank(id)) {
|
||||||
MainContext.getTemplet().getClient()
|
MainContext.getTemplet().delete(Constants.SYSTEM_INDEX, type, id);
|
||||||
.prepareDelete(Constants.SYSTEM_INDEX, type, id).execute().actionGet();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public UKDataBean getIObjectByPK(UKDataBean dataBean) {
|
public UKDataBean getIObjectByPK(UKDataBean dataBean) throws IOException {
|
||||||
if (dataBean.getTable() != null) {
|
if (dataBean.getTable() != null) {
|
||||||
GetResponse getResponse = MainContext.getTemplet().getClient()
|
GetResponse getResponse = MainContext.getTemplet().getClient()
|
||||||
.prepareGet(Constants.SYSTEM_INDEX,
|
.get(new GetRequest(Constants.SYSTEM_INDEX,
|
||||||
dataBean.getTable().getTablename(), dataBean.getId())
|
dataBean.getTable().getTablename(), dataBean.getId()), RequestOptions.DEFAULT);
|
||||||
.execute().actionGet();
|
|
||||||
dataBean.setValues(getResponse.getSource());
|
dataBean.setValues(getResponse.getSource());
|
||||||
dataBean.setType(getResponse.getType());
|
dataBean.setType(getResponse.getType());
|
||||||
} else {
|
} else {
|
||||||
@ -134,13 +131,12 @@ public class ESDataExchangeImpl {
|
|||||||
return processDate(dataBean);
|
return processDate(dataBean);
|
||||||
}
|
}
|
||||||
|
|
||||||
public UKDataBean getIObjectByPK(String type, String id) {
|
public UKDataBean getIObjectByPK(String type, String id) throws IOException {
|
||||||
UKDataBean dataBean = new UKDataBean();
|
UKDataBean dataBean = new UKDataBean();
|
||||||
if (!StringUtils.isBlank(type)) {
|
if (!StringUtils.isBlank(type)) {
|
||||||
GetResponse getResponse = MainContext.getTemplet().getClient()
|
GetResponse getResponse = MainContext.getTemplet().getClient()
|
||||||
.prepareGet(Constants.SYSTEM_INDEX,
|
.get(new GetRequest(Constants.SYSTEM_INDEX,
|
||||||
type, id)
|
type, id), RequestOptions.DEFAULT);
|
||||||
.execute().actionGet();
|
|
||||||
dataBean.setValues(getResponse.getSource());
|
dataBean.setValues(getResponse.getSource());
|
||||||
dataBean.setType(getResponse.getType());
|
dataBean.setType(getResponse.getType());
|
||||||
} else {
|
} else {
|
||||||
@ -152,32 +148,35 @@ public class ESDataExchangeImpl {
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public PageImpl<UKDataBean> findPageResult(QueryBuilder query, MetadataTable metadata, Pageable page, boolean loadRef) {
|
public PageImpl<UKDataBean> findPageResult(QueryBuilder query, MetadataTable metadata, Pageable page, boolean loadRef) throws IOException {
|
||||||
return findAllPageResult(query, metadata, page, loadRef, metadata != null ? metadata.getTablename() : null);
|
return findAllPageResult(query, metadata, page, loadRef, metadata != null ? metadata.getTablename() : null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public PageImpl<UKDataBean> findAllPageResult(QueryBuilder query, MetadataTable metadata, Pageable page, boolean loadRef, String types) {
|
public PageImpl<UKDataBean> findAllPageResult(QueryBuilder query, MetadataTable metadata, Pageable page, boolean loadRef, String types) throws IOException {
|
||||||
List<UKDataBean> dataBeanList = new ArrayList<>();
|
|
||||||
SearchRequestBuilder searchBuilder = MainContext.getTemplet().getClient().prepareSearch(Constants.SYSTEM_INDEX);
|
SearchSourceBuilder source = new SearchSourceBuilder();
|
||||||
if (!StringUtils.isBlank(types)) {
|
int start = page.getPageSize() * page.getPageNumber();
|
||||||
searchBuilder.setTypes(types);
|
source.from(start).size(page.getPageSize()).query(query);
|
||||||
|
|
||||||
|
for (Order order : page.getSort()) {
|
||||||
|
source.sort(new FieldSortBuilder(order.getProperty()).unmappedType(order.getProperty().equals("createtime") ? "long" : "string").order(order.isDescending() ? SortOrder.DESC : SortOrder.ASC));
|
||||||
}
|
}
|
||||||
|
|
||||||
int start = page.getPageSize() * page.getPageNumber();
|
SearchRequest request = new SearchRequest(new String[]{Constants.SYSTEM_INDEX}, source);
|
||||||
searchBuilder.setFrom(start).setSize(page.getPageSize());
|
if (!StringUtils.isBlank(types)) {
|
||||||
page.getSort();
|
request.types(types);
|
||||||
for (Order order : page.getSort()) {
|
|
||||||
searchBuilder.addSort(new FieldSortBuilder(order.getProperty()).unmappedType(order.getProperty().equals("createtime") ? "long" : "string").order(order.isDescending() ? SortOrder.DESC : SortOrder.ASC));
|
|
||||||
}
|
}
|
||||||
SearchResponse response = searchBuilder.setQuery(query).execute().actionGet();
|
|
||||||
|
SearchResponse response = MainContext.getTemplet().getClient().search(request, RequestOptions.DEFAULT);
|
||||||
List<String> users = new ArrayList<>();
|
List<String> users = new ArrayList<>();
|
||||||
List<String> organs = new ArrayList<>();
|
List<String> organs = new ArrayList<>();
|
||||||
List<String> taskList = new ArrayList<>();
|
List<String> taskList = new ArrayList<>();
|
||||||
// List<String> batchList = new ArrayList<>();
|
// List<String> batchList = new ArrayList<>();
|
||||||
// List<String> activityList = new ArrayList<>();
|
// List<String> activityList = new ArrayList<>();
|
||||||
|
List<UKDataBean> dataBeanList = new ArrayList<>();
|
||||||
for (SearchHit hit : response.getHits().getHits()) {
|
for (SearchHit hit : response.getHits().getHits()) {
|
||||||
UKDataBean temp = new UKDataBean();
|
UKDataBean temp = new UKDataBean();
|
||||||
temp.setType(hit.getType());
|
temp.setType(hit.getType());
|
||||||
@ -268,29 +267,26 @@ public class ESDataExchangeImpl {
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public PageImpl<UKDataBean> findAllPageAggResult(QueryBuilder query, String aggField, Pageable page, boolean loadRef, String types) {
|
public PageImpl<UKDataBean> findAllPageAggResult(QueryBuilder query, String aggField, Pageable page, boolean loadRef, String types) throws IOException {
|
||||||
List<UKDataBean> dataBeanList = new ArrayList<>();
|
|
||||||
SearchRequestBuilder searchBuilder = MainContext.getTemplet().getClient().prepareSearch(Constants.SYSTEM_INDEX);
|
|
||||||
if (!StringUtils.isBlank(types)) {
|
|
||||||
searchBuilder.setTypes(types);
|
|
||||||
}
|
|
||||||
|
|
||||||
int size = page.getPageSize() * (page.getPageNumber() + 1);
|
int size = page.getPageSize() * (page.getPageNumber() + 1);
|
||||||
searchBuilder.setFrom(0).setSize(0);
|
|
||||||
|
|
||||||
AggregationBuilder aggregition = AggregationBuilders.terms(aggField).field(aggField).size(size);
|
AggregationBuilder aggregition = AggregationBuilders.terms(aggField).field(aggField).size(size);
|
||||||
aggregition.subAggregation(AggregationBuilders.terms("apstatus").field("apstatus"));
|
aggregition.subAggregation(AggregationBuilders.terms("apstatus").field("apstatus"));
|
||||||
aggregition.subAggregation(AggregationBuilders.terms("callstatus").field("callstatus"));
|
aggregition.subAggregation(AggregationBuilders.terms("callstatus").field("callstatus"));
|
||||||
|
|
||||||
searchBuilder.addAggregation(aggregition);
|
SearchSourceBuilder source = new SearchSourceBuilder().aggregation(aggregition).query(query);
|
||||||
|
SearchRequest request = new SearchRequest(new String[]{Constants.SYSTEM_INDEX}, source);
|
||||||
|
if (!StringUtils.isBlank(types)) {
|
||||||
SearchResponse response = searchBuilder.setQuery(query).execute().actionGet();
|
request.types(types);
|
||||||
|
}
|
||||||
|
SearchResponse response = MainContext.getTemplet().getClient().search(request, RequestOptions.DEFAULT);
|
||||||
List<String> users = new ArrayList<>();
|
List<String> users = new ArrayList<>();
|
||||||
List<String> organs = new ArrayList<>();
|
List<String> organs = new ArrayList<>();
|
||||||
List<String> taskList = new ArrayList<>();
|
List<String> taskList = new ArrayList<>();
|
||||||
// List<String> batchList = new ArrayList<>();
|
// List<String> batchList = new ArrayList<>();
|
||||||
// List<String> activityList = new ArrayList<>();
|
// List<String> activityList = new ArrayList<>();
|
||||||
|
List<UKDataBean> dataBeanList = new ArrayList<>();
|
||||||
|
|
||||||
if (response.getAggregations().get(aggField) instanceof Terms) {
|
if (response.getAggregations().get(aggField) instanceof Terms) {
|
||||||
Terms agg = response.getAggregations().get(aggField);
|
Terms agg = response.getAggregations().get(aggField);
|
||||||
|
@ -32,6 +32,7 @@ import org.springframework.ui.ModelMap;
|
|||||||
import javax.persistence.criteria.CriteriaBuilder.In;
|
import javax.persistence.criteria.CriteriaBuilder.In;
|
||||||
import javax.persistence.criteria.Predicate;
|
import javax.persistence.criteria.Predicate;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.LinkedHashSet;
|
import java.util.LinkedHashSet;
|
||||||
@ -407,7 +408,7 @@ public class CallCenterUtils {
|
|||||||
/**
|
/**
|
||||||
* 获取指定活动,已分配的名单数
|
* 获取指定活动,已分配的名单数
|
||||||
*/
|
*/
|
||||||
public static int getActDisnum(@Valid String actid, @Valid int p, @Valid int ps) {
|
public static int getActDisnum(@Valid String actid, @Valid int p, @Valid int ps) throws IOException {
|
||||||
BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
|
BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
|
||||||
queryBuilder.must(termQuery("actid", actid));// 活动ID
|
queryBuilder.must(termQuery("actid", actid));// 活动ID
|
||||||
queryBuilder.mustNot(termQuery("status", MainContext.NamesDisStatusType.NOT.toString()));
|
queryBuilder.mustNot(termQuery("status", MainContext.NamesDisStatusType.NOT.toString()));
|
||||||
|
@ -1,26 +1,30 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2017 优客服-多渠道客服系统
|
* Copyright (C) 2017 优客服-多渠道客服系统
|
||||||
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package com.chatopera.cc.util.dsdata;
|
package com.chatopera.cc.util.dsdata;
|
||||||
|
|
||||||
|
|
||||||
public abstract class DataProcess {
|
import java.io.IOException;
|
||||||
protected DSDataEvent event ;
|
|
||||||
public DataProcess(final DSDataEvent event){
|
public abstract class DataProcess {
|
||||||
this.event = event ;
|
protected DSDataEvent event;
|
||||||
}
|
|
||||||
public abstract void process() ;
|
public DataProcess(final DSDataEvent event) {
|
||||||
}
|
this.event = event;
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract void process() throws IOException;
|
||||||
|
}
|
||||||
|
@ -51,12 +51,12 @@ public class ExcelImportProecess extends DataProcess {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void process() {
|
public void process() throws IOException {
|
||||||
processExcel(event);
|
processExcel(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||||
private void processExcel(final DSDataEvent event) {
|
private void processExcel(final DSDataEvent event) throws IOException {
|
||||||
InputStream is = null;
|
InputStream is = null;
|
||||||
try {
|
try {
|
||||||
event.getDSData().getReport().setTableid(event.getDSData().getTask().getId());
|
event.getDSData().getReport().setTableid(event.getDSData().getTask().getId());
|
||||||
|
@ -1,22 +1,25 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2017 优客服-多渠道客服系统
|
* Copyright (C) 2017 优客服-多渠道客服系统
|
||||||
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package com.chatopera.cc.util.dsdata.process;
|
package com.chatopera.cc.util.dsdata.process;
|
||||||
|
|
||||||
public interface JPAProcess {
|
import java.io.IOException;
|
||||||
public void process(Object data) ;
|
|
||||||
public void end();
|
public interface JPAProcess {
|
||||||
}
|
void process(Object data);
|
||||||
|
|
||||||
|
void end() throws IOException;
|
||||||
|
}
|
||||||
|
@ -30,6 +30,7 @@ import org.springframework.data.domain.PageImpl;
|
|||||||
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.PageRequest;
|
||||||
import org.springframework.data.domain.Sort;
|
import org.springframework.data.domain.Sort;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static org.elasticsearch.index.query.QueryBuilders.rangeQuery;
|
import static org.elasticsearch.index.query.QueryBuilders.rangeQuery;
|
||||||
@ -37,7 +38,7 @@ import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
|||||||
|
|
||||||
public class SearchTools {
|
public class SearchTools {
|
||||||
|
|
||||||
public static PageImpl<UKDataBean> search(String orgi, List<FormFilterItem> itemList, MetadataTable metadataTable, boolean loadRef, int p, int ps) {
|
public static PageImpl<UKDataBean> search(String orgi, List<FormFilterItem> itemList, MetadataTable metadataTable, boolean loadRef, int p, int ps) throws IOException {
|
||||||
BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
|
BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
|
||||||
queryBuilder.must(termQuery("orgi", orgi));
|
queryBuilder.must(termQuery("orgi", orgi));
|
||||||
|
|
||||||
@ -96,7 +97,7 @@ public class SearchTools {
|
|||||||
return search(queryBuilder, metadataTable, loadRef, p, ps);
|
return search(queryBuilder, metadataTable, loadRef, p, ps);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PageImpl<UKDataBean> dissearch(String orgi, List<FormFilterItem> itemList, MetadataTable metadataTable, int p, int ps) {
|
public static PageImpl<UKDataBean> dissearch(String orgi, List<FormFilterItem> itemList, MetadataTable metadataTable, int p, int ps) throws IOException {
|
||||||
BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
|
BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
|
||||||
queryBuilder.must(termQuery("orgi", orgi));
|
queryBuilder.must(termQuery("orgi", orgi));
|
||||||
queryBuilder.must(termQuery("status", MainContext.NamesDisStatusType.NOT.toString()));
|
queryBuilder.must(termQuery("status", MainContext.NamesDisStatusType.NOT.toString()));
|
||||||
@ -156,7 +157,7 @@ public class SearchTools {
|
|||||||
return search(queryBuilder, metadataTable, false, p, ps);
|
return search(queryBuilder, metadataTable, false, p, ps);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PageImpl<UKDataBean> recoversearch(String orgi, String cmd, String id, MetadataTable metadataTable, int p, int ps) {
|
public static PageImpl<UKDataBean> recoversearch(String orgi, String cmd, String id, MetadataTable metadataTable, int p, int ps) throws IOException {
|
||||||
BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
|
BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
|
||||||
queryBuilder.must(termQuery("orgi", orgi));
|
queryBuilder.must(termQuery("orgi", orgi));
|
||||||
queryBuilder.mustNot(termQuery("status", MainContext.NamesDisStatusType.NOT.toString()));
|
queryBuilder.mustNot(termQuery("status", MainContext.NamesDisStatusType.NOT.toString()));
|
||||||
@ -198,7 +199,7 @@ public class SearchTools {
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static PageImpl<UKDataBean> namesearch(String orgi, String phonenum) {
|
public static PageImpl<UKDataBean> namesearch(String orgi, String phonenum) throws IOException {
|
||||||
BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
|
BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
|
||||||
queryBuilder.must(termQuery("orgi", orgi));
|
queryBuilder.must(termQuery("orgi", orgi));
|
||||||
queryBuilder.must(termQuery("validresult", "valid"));
|
queryBuilder.must(termQuery("validresult", "valid"));
|
||||||
@ -219,14 +220,14 @@ public class SearchTools {
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static PageImpl<UKDataBean> search(BoolQueryBuilder queryBuilder, int p, int ps) {
|
public static PageImpl<UKDataBean> search(BoolQueryBuilder queryBuilder, int p, int ps) throws IOException {
|
||||||
return search(queryBuilder, null, true, p, ps);
|
return search(queryBuilder, null, true, p, ps);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static PageImpl<UKDataBean> search(BoolQueryBuilder queryBuilder, MetadataTable metadataTable, boolean loadRef, int p, int ps) {
|
private static PageImpl<UKDataBean> search(BoolQueryBuilder queryBuilder, MetadataTable metadataTable, boolean loadRef, int p, int ps) throws IOException {
|
||||||
ESDataExchangeImpl esDataExchange = MainContext.getContext().getBean(ESDataExchangeImpl.class);
|
ESDataExchangeImpl esDataExchange = MainContext.getContext().getBean(ESDataExchangeImpl.class);
|
||||||
return esDataExchange.findPageResult(queryBuilder, metadataTable, PageRequest.of(p, ps, Sort.Direction.ASC, "createtime"), loadRef);
|
return esDataExchange.findPageResult(queryBuilder, metadataTable, PageRequest.of(p, ps, Sort.Direction.ASC, "createtime"), loadRef);
|
||||||
}
|
}
|
||||||
@ -234,7 +235,7 @@ public class SearchTools {
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static PageImpl<UKDataBean> aggregation(BoolQueryBuilder queryBuilder, String aggField, boolean loadRef, int p, int ps) {
|
public static PageImpl<UKDataBean> aggregation(BoolQueryBuilder queryBuilder, String aggField, boolean loadRef, int p, int ps) throws IOException {
|
||||||
ESDataExchangeImpl esDataExchange = MainContext.getContext().getBean(ESDataExchangeImpl.class);
|
ESDataExchangeImpl esDataExchange = MainContext.getContext().getBean(ESDataExchangeImpl.class);
|
||||||
return esDataExchange.findAllPageAggResult(queryBuilder, aggField, PageRequest.of(p, ps, Sort.Direction.ASC, "createtime"), loadRef, null);
|
return esDataExchange.findAllPageAggResult(queryBuilder, aggField, PageRequest.of(p, ps, Sort.Direction.ASC, "createtime"), loadRef, null);
|
||||||
}
|
}
|
||||||
@ -242,7 +243,7 @@ public class SearchTools {
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static UKDataBean get(UKDataBean dataBean) {
|
public static UKDataBean get(UKDataBean dataBean) throws IOException {
|
||||||
ESDataExchangeImpl esDataExchange = MainContext.getContext().getBean(ESDataExchangeImpl.class);
|
ESDataExchangeImpl esDataExchange = MainContext.getContext().getBean(ESDataExchangeImpl.class);
|
||||||
return esDataExchange.getIObjectByPK(dataBean);
|
return esDataExchange.getIObjectByPK(dataBean);
|
||||||
}
|
}
|
||||||
@ -250,7 +251,7 @@ public class SearchTools {
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static UKDataBean get(String type, String id) {
|
public static UKDataBean get(String type, String id) throws IOException {
|
||||||
ESDataExchangeImpl esDataExchange = MainContext.getContext().getBean(ESDataExchangeImpl.class);
|
ESDataExchangeImpl esDataExchange = MainContext.getContext().getBean(ESDataExchangeImpl.class);
|
||||||
return esDataExchange.getIObjectByPK(type, id);
|
return esDataExchange.getIObjectByPK(type, id);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user