修改请求共用方法

This commit is contained in:
wangxin
2018-07-16 19:22:09 +08:00
parent b1a045b693
commit 8d2347d8c3

View File

@@ -9,13 +9,14 @@
package com.nis.domain.report;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.net.URI;
import java.util.Map.Entry;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.Invocation.Builder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;
import com.google.common.reflect.TypeToken;
import com.google.gson.Gson;
@@ -65,41 +66,45 @@ public class ReportResult<T extends BaseReport> extends RestfulResult{
public void setData(Page<T> data) {
this.data = data;
}
public ReportResult<T> getReport(String reportUrl,SearchReport searchCondition) throws MaatConvertException, UnsupportedEncodingException{
public ReportResult<T> getReport(String reportUrl, SearchReport searchCondition) throws MaatConvertException, UnsupportedEncodingException{
// if(StringUtils.isBlank(searchCondition.getSearchService())){
// throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>");
// }
String result = null;
ReportResult<T> bean = null;
StringBuffer url=new StringBuffer(reportUrl);
url.append("searchBusinessType=").append(searchCondition.getSearchBusinessType())
.append("&searchService=").append(searchCondition.getSearchService());
UriBuilder builder=UriBuilder.fromPath(reportUrl);
builder.queryParam("searchBusinessType",searchCondition.getSearchBusinessType());
builder.queryParam("searchService",searchCondition.getSearchService());
if(searchCondition.getSearchCondition()!=null){
for(Entry<String, Object> e:searchCondition.getSearchCondition().entrySet()){
url.append("&").append(e.getKey()).append("=").append((String)e.getValue());
builder.queryParam(e.getKey(),e.getValue());
}
}
if(StringUtils.isNotBlank(searchCondition.getSearchReportStartTime())){
url.append("&searchReportStartTime=").append(searchCondition.getSearchReportStartTime());
builder.queryParam("searchReportStartTime",searchCondition.getSearchReportStartTime());
}
if(StringUtils.isNotBlank(searchCondition.getSearchReportEndTime())){
url.append("&searchReportEndTime=").append(searchCondition.getSearchReportEndTime());
builder.queryParam("searchReportEndTime",searchCondition.getSearchReportEndTime());
}
if(searchCondition.getPageNo()!=null){
url.append("&pageNo=").append(searchCondition.getPageNo());
builder.queryParam("pageNo",searchCondition.getPageNo());
}
if(searchCondition.getPageSize()!=null){
url.append("&pageSize=").append(searchCondition.getPageSize());
builder.queryParam("pageSize",searchCondition.getPageSize());
}
if(StringUtils.isNotBlank(searchCondition.getOrderBy())){
url.append("&orderBy=").append(searchCondition.getOrderBy());
builder.queryParam("orderBy",searchCondition.getOrderBy());
}
if(StringUtils.isNotBlank(searchCondition.getFields())){
url.append("&fields=").append(searchCondition.getFields());
builder.queryParam("fields",searchCondition.getFields());
}
URI uri=builder.build();
//创建连接
WebTarget wt = ClientUtil.getWebTarger(URLEncoder.encode(url.toString(),"UTF-8"));
Builder header = wt.request(MediaType.APPLICATION_JSON);
ClientUtil.initClient();
Client client=ClientUtil.getClient();
WebTarget wt = client.target(uri);
Builder header = wt.request();
Response response= header.get();
if( response.getStatus() == 200){
result= response.readEntity(String.class);