diff --git a/src/main/java/com/nis/domain/report/ReportResult.java b/src/main/java/com/nis/domain/report/ReportResult.java index ca7b3af35..4bdf1f29f 100644 --- a/src/main/java/com/nis/domain/report/ReportResult.java +++ b/src/main/java/com/nis/domain/report/ReportResult.java @@ -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 extends RestfulResult{ public void setData(Page data) { this.data = data; } - public ReportResult getReport(String reportUrl,SearchReport searchCondition) throws MaatConvertException, UnsupportedEncodingException{ + public ReportResult getReport(String reportUrl, SearchReport searchCondition) throws MaatConvertException, UnsupportedEncodingException{ // if(StringUtils.isBlank(searchCondition.getSearchService())){ // throw new MaatConvertException(""); // } String result = null; ReportResult 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 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);