package com.curtao.company.coordinate.tesk;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.antfact.oplate.util.http.HttpClientService;
import com.curtao.company.coordinate.config.CompanyPersistenceContents;
import com.curtao.company.coordinate.config.EsClientInit;
import com.curtao.company.coordinate.entity.CompanyDTO;
import com.curtao.company.coordinate.entity.gaode.Gaode;
import com.curtao.company.coordinate.entity.gaode.Geocode;
import com.curtao.company.coordinate.model.CompanyBaseInfo;
import com.curtao.company.coordinate.utils.BaseUtilCompany;
import com.curtao.company.coordinate.utils.HttpRequest;
import org.apache.commons.lang.StringUtils;
import org.elasticsearch.action.delete.DeleteResponse;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.support.WriteRequest;
import org.elasticsearch.action.update.UpdateRequestBuilder;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.Scroll;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.cassandra.core.CassandraTemplate;
import org.springframework.data.cassandra.core.query.Query;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import static org.springframework.data.cassandra.core.query.Criteria.where;
/**
* <p>功能描述</p>
*
* @date 2021/5/12 17:00
*/
@RequestMapping("/v1")
@RestController
public class UpdateCompanyCoordubateTask {
private static final Logger LOGGER = LoggerFactory.getLogger(UpdateCompanyCoordubateTask.class);
//日最大查询数量
private static final int daySize=10000000;
@Autowired
private CassandraTemplate template;
@Autowired
private EsClientInit esClientInitProduce;
@Autowired
private TransportClient client;
@Value(value = "${gaode.url}")
private String gaodeUrl;
@Value(value = "${gaode.key}")
private String gaodeKey;
@Autowired
private HttpClientService httpService;
@RequestMapping(value = "/get", method = RequestMethod.GET, produces = "application/json")
public void handleCompanyInfo() {
LOGGER.info("--->>查询库内公司信息:");
getCompanyInfo();
}
private void getCompanyInfo() {
try {
//es增加
CompanyBaseInfo companyBaseInfo10=new CompanyBaseInfo();
companyBaseInfo10.setId("ffffff123456789");
companyBaseInfo10.setName("公司");
IndexResponse indexResponse = client
.prepareIndex(CompanyPersistenceContents.COMPANYINDEX_NEW
,CompanyPersistenceContents.COMPANYBASEINFO,companyBaseInfo10.getId()).setSource(JSON.toJSONString(companyBaseInfo10)
, XContentType.JSON).get();
System.err.println();
System.err.println(); System.err.println();
System.err.println();
//es修改
CompanyDTO companyDTO2=new CompanyDTO();
companyDTO2.setId("ffffff123456789");
companyDTO2.setCity("济南");
companyDTO2.setLatitude("123.456");
UpdateRequestBuilder updateRequestBuilder12=client.prepareUpdate(CompanyPersistenceContents.COMPANYINDEX_NEW,
CompanyPersistenceContents.COMPANYBASEINFO,companyDTO2.getId());
updateRequestBuilder12.setDoc(JSON.parseObject(JSON.toJSONString(companyDTO2)));
updateRequestBuilder12.execute().actionGet();
System.err.println();
System.err.println(); System.err.println();
System.err.println();
//查询未更新坐标数据
BoolQueryBuilder boolQuery10 = QueryBuilders.boolQuery();
//es查询
boolQuery10.must(QueryBuilders.termQuery("id",companyBaseInfo10.getId()));
final Scroll scroll10 = new Scroll(TimeValue.timeValueMinutes(100));
SearchResponse response10= esClientInitProduce.getServer().get()
.prepareSearch()
.setIndices(CompanyPersistenceContents.COMPANYINDEX_NEW)
.setTypes(CompanyPersistenceContents.COMPANYBASEINFO)
.setScroll(scroll10)
.setQuery(boolQuery10).get();
List<CompanyBaseInfo> logs10 = BaseUtilCompany.tanslateResponse(response10, CompanyBaseInfo.class);
System.err.println();
System.err.println();
//es删除
DeleteResponse response2 = client.prepareDelete(CompanyPersistenceContents.COMPANYINDEX_NEW,
CompanyPersistenceContents.COMPANYBASEINFO,
companyBaseInfo10.getId()).get();
System.err.println();
System.err.println();
int a=0;
if (a==0){
return;
}
}
}
es增删改查api
最新推荐文章于 2024-03-05 21:19:54 发布