Commit 6f5e861b by huluobin

广告!!!!!

parent 669b9f8d
......@@ -17,7 +17,6 @@ import com.bailuntec.utils.OkHttpUtil;
import com.bailuntec.utils.SessionUtil;
import com.dangdang.ddframe.job.api.ShardingContext;
import com.dangdang.ddframe.job.api.simple.SimpleJob;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import lombok.extern.slf4j.Slf4j;
import okhttp3.OkHttpClient;
......@@ -26,7 +25,6 @@ import okhttp3.Response;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.ibatis.session.SqlSession;
import java.io.InputStreamReader;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.time.LocalDateTime;
......@@ -51,7 +49,7 @@ public class AmazonAdDownloadReportJob implements SimpleJob {
DcBaseFinanceAmazonAdProductMapper dcBaseFinanceAmazonAdProductMapper = sqlSession.getMapper(DcBaseFinanceAmazonAdProductMapper.class);
//获取15分钟前未下载的报告 注:省略报告状态判断 直接根据时间
List<JobAmazonAdLog> jobAmazonAdLogList = jobAmazonAdLogMapper.selectUnDownload(shardingContext, LocalDateTime.now().minusMinutes(15));
List<JobAmazonAdLog> jobAmazonAdLogList = jobAmazonAdLogMapper.selectUnDownload(shardingContext, LocalDateTime.now());
jobAmazonAdLogList.forEach(jobAmazonAdLog -> {
DcBaseCompanyAccount dcBaseCompanyAccount = dcBaseCompanyAccountMapper.selectOneByExample(DcBaseCompanyAccountExample.newAndCreateCriteria()
......@@ -82,7 +80,7 @@ public class AmazonAdDownloadReportJob implements SimpleJob {
try (GZIPInputStream gzipInputStream = new GZIPInputStream(response.body().byteStream())) {
Type type = new TypeToken<List<AmazonAdProduct>>() {
}.getType();
List<AmazonAdProduct> amazonAdProductList = new Gson().fromJson(new InputStreamReader(gzipInputStream), type);
List<AmazonAdProduct> amazonAdProductList = JSON.parseObject(gzipInputStream, type);
for (AmazonAdProduct amazonAdProduct : amazonAdProductList) {
if (amazonAdProduct.getCost() != null && BigDecimal.ZERO.compareTo(amazonAdProduct.getCost()) != 0) {
......
......@@ -123,15 +123,18 @@ public class AmazonAdGenerateReportIdJob implements SimpleJob {
}
//display
try {
AmazonAdAuth amazonAdAuth = JSON.parseObject(dcBaseCompanyAccount.getAmazonAdAuthJson(), AmazonAdAuth.class);
LocalDateTime reportDate = LocalDateTime.now().minusDays(1).minusHours(12);
// LocalDateTime reportDate = LocalDateTime.of(2020, 9, 1, 0, 0);
JSONObject jsonObject = new JSONObject();
jsonObject.put("reportDate", reportDate.format(DateTimeFormatter.ofPattern("yyyyMMdd")));
jsonObject.put("metrics", "campaignName,campaignId,impressions,adGroupId,adGroupName,asin,sku,adId,clicks,cost,currency,attributedConversions1d,attributedConversions7d,attributedConversions14d,attributedConversions30d,attributedConversions1dSameSKU,attributedConversions7dSameSKU,attributedConversions14dSameSKU,attributedConversions30dSameSKU,attributedUnitsOrdered1d,attributedUnitsOrdered7d,attributedUnitsOrdered14d,attributedUnitsOrdered30d,attributedSales1d,attributedSales7d,attributedSales14d,attributedSales30d,attributedSales1dSameSKU,attributedSales7dSameSKU,attributedSales14dSameSKU,attributedSales30dSameSKU");
;
//tactic = "T00020"
jsonObject.put("tactic", "T00020");
MediaType mediaType = MediaType.parse("application/json");
Response response;
......@@ -177,6 +180,8 @@ public class AmazonAdGenerateReportIdJob implements SimpleJob {
jobAmazonAdLogMapper.updateByPrimaryKeySelective(jobAmazonAdLog);
}
log.info("生成报告成功,报告日志:{}", JSON.toJSONString(jobAmazonAdLog));
} else {
log.error(JSON.toJSONString(response));
throw new RuntimeException("生成报告失败");
......
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