Commit 3882ca09 by wutong

Gzip直接转JSON

parent 79f14dde
...@@ -2,6 +2,7 @@ package com.bailuntec.job; ...@@ -2,6 +2,7 @@ package com.bailuntec.job;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.bailuntec.domain.entity.DcBaseCompanyAccount; import com.bailuntec.domain.entity.DcBaseCompanyAccount;
import com.bailuntec.domain.entity.DcBaseFinanceAmazonAdProduct; import com.bailuntec.domain.entity.DcBaseFinanceAmazonAdProduct;
import com.bailuntec.domain.entity.JobAccountLog; import com.bailuntec.domain.entity.JobAccountLog;
...@@ -10,10 +11,7 @@ import com.bailuntec.domain.enumerate.CurrencyType; ...@@ -10,10 +11,7 @@ import com.bailuntec.domain.enumerate.CurrencyType;
import com.bailuntec.domain.example.DcBaseCompanyAccountExample; import com.bailuntec.domain.example.DcBaseCompanyAccountExample;
import com.bailuntec.domain.example.DcBaseFinanceAmazonAdProductExample; import com.bailuntec.domain.example.DcBaseFinanceAmazonAdProductExample;
import com.bailuntec.domain.example.JobAccountLogExample; import com.bailuntec.domain.example.JobAccountLogExample;
import com.bailuntec.domain.pojo.AmazonAdAuth; import com.bailuntec.domain.pojo.*;
import com.bailuntec.domain.pojo.AmazonAdProduct;
import com.bailuntec.domain.pojo.AmazonAdReportLocationResult;
import com.bailuntec.domain.pojo.AmazonAdSuccessResult;
import com.bailuntec.mapper.DcBaseCompanyAccountMapper; import com.bailuntec.mapper.DcBaseCompanyAccountMapper;
import com.bailuntec.mapper.DcBaseFinanceAmazonAdProductMapper; import com.bailuntec.mapper.DcBaseFinanceAmazonAdProductMapper;
import com.bailuntec.mapper.JobAccountLogMapper; import com.bailuntec.mapper.JobAccountLogMapper;
...@@ -31,6 +29,7 @@ import org.apache.commons.lang3.StringUtils; ...@@ -31,6 +29,7 @@ import org.apache.commons.lang3.StringUtils;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
...@@ -176,21 +175,9 @@ public class AmazonAdProductJob extends PointJob { ...@@ -176,21 +175,9 @@ public class AmazonAdProductJob extends PointJob {
response = client.newCall(request).execute(); response = client.newCall(request).execute();
if (response.isSuccessful()) { if (response.isSuccessful()) {
GZIPInputStream gzin = null; GZIPInputStream gzin = null;
InputStreamReader isr = null;
BufferedReader bufferedReader = null;
try { try {
gzin = new GZIPInputStream(response.body().byteStream()); gzin = new GZIPInputStream(response.body().byteStream());
isr = new InputStreamReader(gzin, "utf8"); List<AmazonAdProduct> amazonAdProductList = JSON.parseObject(gzin,List.class);
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;
if (amazonAdProductList != null && amazonAdProductList.size() > 0) { if (amazonAdProductList != null && amazonAdProductList.size() > 0) {
DcBaseFinanceAmazonAdProduct dcBaseFinanceAmazonAdProduct = new DcBaseFinanceAmazonAdProduct(); DcBaseFinanceAmazonAdProduct dcBaseFinanceAmazonAdProduct = new DcBaseFinanceAmazonAdProduct();
DcBaseFinanceAmazonAdProductMapper mapper = SessionUtil.getSession().getMapper(DcBaseFinanceAmazonAdProductMapper.class); DcBaseFinanceAmazonAdProductMapper mapper = SessionUtil.getSession().getMapper(DcBaseFinanceAmazonAdProductMapper.class);
...@@ -216,12 +203,6 @@ public class AmazonAdProductJob extends PointJob { ...@@ -216,12 +203,6 @@ public class AmazonAdProductJob extends PointJob {
e.printStackTrace(); e.printStackTrace();
jobAccountLog.setMessage("解析Gzip格式的Report错误:" + ExceptionUtil.transform(e)); jobAccountLog.setMessage("解析Gzip格式的Report错误:" + ExceptionUtil.transform(e));
} finally { } finally {
if(bufferedReader != null) {
bufferedReader.close();
}
if(isr != null) {
isr.close();
}
if(gzin != null) { if(gzin != null) {
gzin.close(); gzin.close();
} }
......
...@@ -48,7 +48,6 @@ public class AmazonAdProductTest { ...@@ -48,7 +48,6 @@ public class AmazonAdProductTest {
dcBaseCompanyAccount.setStartTime(LocalDateTime.of(2019, 5, 30, 10, 0)); dcBaseCompanyAccount.setStartTime(LocalDateTime.of(2019, 5, 30, 10, 0));
dcBaseCompanyAccount.setEndTime(LocalDateTime.of(2019, 5, 30, 11, 0)); dcBaseCompanyAccount.setEndTime(LocalDateTime.of(2019, 5, 30, 11, 0));
while (dcBaseCompanyAccount.getStartTime().isBefore(LocalDateTime.now().plusDays(1L))) { while (dcBaseCompanyAccount.getStartTime().isBefore(LocalDateTime.now().plusDays(1L))) {
amazonAdProductJob.callAmazonAdApi(dcBaseCompanyAccount); amazonAdProductJob.callAmazonAdApi(dcBaseCompanyAccount);
log.warn("TEST----" +dcBaseCompanyAccount.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) ); 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