Commit 56e48859 by huluobin

亚马逊广告

parent 170a7fba
import com.bailuntec.domain.entity.JobAccountLog;
import com.bailuntec.domain.entity.JobAmazonAdLog;
import com.bailuntec.domain.entity.JobPointLog;
import com.bailuntec.domain.example.JobAmazonAdLogExample;
import com.bailuntec.job.AmazonAdDownloadReportJob;
import com.bailuntec.job.AmazonAdGenerateReportIdJob;
import com.bailuntec.mapper.JobAmazonAdLogMapper;
import com.bailuntec.utils.SessionUtil;
import com.dangdang.ddframe.job.api.ShardingContext;
import com.dangdang.ddframe.job.executor.ShardingContexts;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
@Slf4j
public class AmazonAdProductTest {
@Test
public void test() throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException, InstantiationException {
Class clazz = Class.forName("com.bailuntec.job.AmazonAdGenerateReportIdJob");
Method generateReportId = clazz.getDeclaredMethod("generateReportId", JobAccountLog.class);
generateReportId.setAccessible(true);
JobAccountLog jobAccountLog = new JobAccountLog();
jobAccountLog.setStartTime(LocalDateTime.of(2020, 8, 17, 0, 0));
jobAccountLog.setEndTime(LocalDateTime.of(2020, 8, 18, 0, 0));
jobAccountLog.setCompanyId(1);
jobAccountLog.setAccountId(1779);
jobAccountLog.setIntervalTime(1);
jobAccountLog.setJobName("base-amazon-ad-product-generate");
generateReportId.invoke(clazz.newInstance(), jobAccountLog);
}
@Test
public void test2() throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException, InstantiationException {
Class clazz = Class.forName("com.bailuntec.job.AmazonAdDownloadReportJob");
Method generateReportId = clazz.getDeclaredMethod("downloadReport", JobAmazonAdLog.class);
int pageSize = 10;
generateReportId.setAccessible(true);
try {
JobAmazonAdLogMapper mapper = SessionUtil.getSession().getMapper(JobAmazonAdLogMapper.class);
List<JobAmazonAdLog> jobAmazonAdLogList = mapper.selectByExample(JobAmazonAdLogExample.newAndCreateCriteria()
.andStatusEqualTo(false)
.andBjModifiedLessThan(LocalDateTime.now().minusMinutes(15))
.example()
.orderBy("id")
.limit(0, pageSize));
if (jobAmazonAdLogList != null && !jobAmazonAdLogList.isEmpty()) {
for (JobAmazonAdLog jobAmazonAdLog : jobAmazonAdLogList) {
generateReportId.invoke(clazz.newInstance(), jobAmazonAdLog);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
SessionUtil.closeSession();
}
}
@Test
public void test3() throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException, InstantiationException {
Class clazz = Class.forName("com.bailuntec.job.AmazonAdDownloadReportJob");
Method generateReportId = clazz.getDeclaredMethod("downloadReport", JobAmazonAdLog.class);
int pageSize = 1;
generateReportId.setAccessible(true);
try {
JobAmazonAdLogMapper mapper = SessionUtil.getSession().getMapper(JobAmazonAdLogMapper.class);
List<JobAmazonAdLog> jobAmazonAdLogList = mapper.selectByExample(JobAmazonAdLogExample
.newAndCreateCriteria()
.andStatusEqualTo(false)
.andIdEqualTo(1969)
.andBjModifiedLessThan(LocalDateTime.now().minusMinutes(15))
.example()
.orderBy("id")
.limit(0, pageSize));
if (jobAmazonAdLogList != null && !jobAmazonAdLogList.isEmpty()) {
for (JobAmazonAdLog jobAmazonAdLog : jobAmazonAdLogList) {
generateReportId.invoke(clazz.newInstance(), jobAmazonAdLog);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
SessionUtil.closeSession();
}
}
@Test
public void unDownload() {
JobAmazonAdLogMapper jobAmazonAdLogMapper = SessionUtil.getSession().getMapper(JobAmazonAdLogMapper.class);
AmazonAdDownloadReportJob amazonAdDownloadReportJob = new AmazonAdDownloadReportJob();
jobAmazonAdLogMapper.selectByExample(JobAmazonAdLogExample.newAndCreateCriteria()
.andStatusEqualTo(false)
.example())
.forEach(jobAmazonAdLog -> {
amazonAdDownloadReportJob.downloadReport(jobAmazonAdLog, null);
});
}
@Test
public void testReport() {
AmazonAdGenerateReportIdJob amazonAdGenerateReportIdJob = new AmazonAdGenerateReportIdJob();
AmazonAdDownloadReportJob amazonAdDownloadReportJob = new AmazonAdDownloadReportJob();
amazonAdGenerateReportIdJob.execute(new ShardingContext(
new ShardingContexts(null, "amazonAdGenerateReportIdJob", 1, null, new HashMap<>()), 0
));
amazonAdDownloadReportJob.execute(new ShardingContext(
new ShardingContexts(null, "amazonAdDownloadReportJob", 1, null, new HashMap<>()), 0
));
}
}
......@@ -677,11 +677,11 @@
sum(IF(transport_type = '空运', count, 0)) as airCount,
sum(IF(transport_type = '铁路运输', count, 0)) as railwayCount
FROM (
SELECT t1.targetwareno as warehouse_code,
t2.sku as bailun_sku,
t1.transporttype as transport_type,
if(t2.deliverycount - t2.storagecount &lt; 0 ,0,t2.deliverycount - t2.storagecount) as `count`,
0 as countplan
SELECT t1.targetwareno as warehouse_code,
t2.sku as bailun_sku,
t1.transporttype as transport_type,
if(t2.deliverycount - t2.storagecount &lt; 0, 0, t2.deliverycount - t2.storagecount) as `count`,
0 as countplan
FROM dc_base_transfer_info t1
LEFT JOIN dc_base_transfer_info_skus t2 on t1.dataid = t2.dataid
where t1.stateid &lt; 5
......
......@@ -57,8 +57,7 @@ public class CalculateCostFirstJob extends PointJob {
dcBaseCostFirstList.forEach(dcBaseCostFirst -> dcBaseCostFirst.setDcBaseSku(Optional.ofNullable(dcBaseSkuMap.get(dcBaseCostFirst.getBailunSku()))));
Map<String, List<DcBaseCostFirst>> dcBaseCostFirstMap = dcBaseCostFirstList.stream().collect(
Collectors.groupingBy(val -> val.getChannelOrderId() + val.getTransferOrderId() + val.getBoxId() + val.getWarehouseCode())
);
Collectors.groupingBy(val -> val.getChannelOrderId() + val.getTransferOrderId() + val.getBoxId() + val.getWarehouseCode()));
List<DcMidCostFirstOrder> dcMidCostFirstOrderList = dcBaseCostFirstMap.values()
.stream()
......
EVENT_RDB_STORAGE_DRIVER=com.mysql.jdbc.Driver
EVENT_RDB_STORAGE_URL=jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
EVENT_RDB_STORAGE_USERNAME=root
EVENT_RDB_STORAGE_PASSWORD=123456
ZOOKEEPER_SERVER=127.0.0.1:2181
#EVENT_RDB_STORAGE_DRIVER=com.mysql.jdbc.Driver
#EVENT_RDB_STORAGE_URL=jdbc:mysql://10.0.8.15:3306/bailun_datacenter?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
#EVENT_RDB_STORAGE_URL=jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
#EVENT_RDB_STORAGE_USERNAME=root
#EVENT_RDB_STORAGE_PASSWORD=#7kfnymAM$Y9-Ntf
#ZOOKEEPER_SERVER=172.31.255.120:2181
#EVENT_RDB_STORAGE_PASSWORD=123456
#ZOOKEEPER_SERVER=127.0.0.1:2181
EVENT_RDB_STORAGE_DRIVER=com.mysql.jdbc.Driver
EVENT_RDB_STORAGE_URL=jdbc:mysql://10.0.8.15:3306/bailun_datacenter?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
EVENT_RDB_STORAGE_USERNAME=root
EVENT_RDB_STORAGE_PASSWORD=#7kfnymAM$Y9-Ntf
ZOOKEEPER_SERVER=172.31.255.120:2181
NAME_SPACE=data-center
JOB_NAME=mid-calculate-cost-first
JOB_CRON=0 33 7,12,20 * * ? *
......
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