Commit 3882ca09 by wutong

Gzip直接转JSON

parent 79f14dde
......@@ -2,6 +2,7 @@ package com.bailuntec.job;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.bailuntec.domain.entity.DcBaseCompanyAccount;
import com.bailuntec.domain.entity.DcBaseFinanceAmazonAdProduct;
import com.bailuntec.domain.entity.JobAccountLog;
......@@ -10,10 +11,7 @@ import com.bailuntec.domain.enumerate.CurrencyType;
import com.bailuntec.domain.example.DcBaseCompanyAccountExample;
import com.bailuntec.domain.example.DcBaseFinanceAmazonAdProductExample;
import com.bailuntec.domain.example.JobAccountLogExample;
import com.bailuntec.domain.pojo.AmazonAdAuth;
import com.bailuntec.domain.pojo.AmazonAdProduct;
import com.bailuntec.domain.pojo.AmazonAdReportLocationResult;
import com.bailuntec.domain.pojo.AmazonAdSuccessResult;
import com.bailuntec.domain.pojo.*;
import com.bailuntec.mapper.DcBaseCompanyAccountMapper;
import com.bailuntec.mapper.DcBaseFinanceAmazonAdProductMapper;
import com.bailuntec.mapper.JobAccountLogMapper;
......@@ -31,6 +29,7 @@ import org.apache.commons.lang3.StringUtils;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.time.LocalDate;
......@@ -176,21 +175,9 @@ public class AmazonAdProductJob extends PointJob {
response = client.newCall(request).execute();
if (response.isSuccessful()) {
GZIPInputStream gzin = null;
InputStreamReader isr = null;
BufferedReader bufferedReader = null;
try {
gzin = new GZIPInputStream(response.body().byteStream());
isr = new InputStreamReader(gzin, "utf8");
bufferedReader = new BufferedReader(isr);
int i1 = (int) response.body().contentLength() * 48;
log.warn("计算的长度 " +i1);
StringBuffer sb = new StringBuffer(i1);
String str = null;
while ((str = bufferedReader.readLine()) != null) {
sb.append(str);
}
List<AmazonAdProduct> amazonAdProductList = JSON.parseArray(sb.toString(), AmazonAdProduct.class);
sb = null;
List<AmazonAdProduct> amazonAdProductList = JSON.parseObject(gzin,List.class);
if (amazonAdProductList != null && amazonAdProductList.size() > 0) {
DcBaseFinanceAmazonAdProduct dcBaseFinanceAmazonAdProduct = new DcBaseFinanceAmazonAdProduct();
DcBaseFinanceAmazonAdProductMapper mapper = SessionUtil.getSession().getMapper(DcBaseFinanceAmazonAdProductMapper.class);
......@@ -216,12 +203,6 @@ public class AmazonAdProductJob extends PointJob {
e.printStackTrace();
jobAccountLog.setMessage("解析Gzip格式的Report错误:" + ExceptionUtil.transform(e));
} finally {
if(bufferedReader != null) {
bufferedReader.close();
}
if(isr != null) {
isr.close();
}
if(gzin != null) {
gzin.close();
}
......
......@@ -48,7 +48,6 @@ public class AmazonAdProductTest {
dcBaseCompanyAccount.setStartTime(LocalDateTime.of(2019, 5, 30, 10, 0));
dcBaseCompanyAccount.setEndTime(LocalDateTime.of(2019, 5, 30, 11, 0));
while (dcBaseCompanyAccount.getStartTime().isBefore(LocalDateTime.now().plusDays(1L))) {
amazonAdProductJob.callAmazonAdApi(dcBaseCompanyAccount);
log.warn("TEST----" +dcBaseCompanyAccount.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) );
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment