Commit 0717021e by huluobin

周转

parent 4aa239e6
......@@ -34,8 +34,8 @@ public class AmazonAdJob {
* 每天下午1点生成昨天的亚马逊广告报告
* </p>
*/
// @Scheduled(cron = "0 0 13 * * ?")
// @Scheduled(cron = "0/1 * * * * ?")
@Scheduled(cron = "0 0 13 * * ?")
// @Scheduled(cron = "0/10 * * * * ?")
public void generateAmazonAdReport() {
log.info("每天下午1点生成昨天的亚马逊广告报告 任务开始");
amazonJobService.generateAmazonAdReport();
......@@ -47,8 +47,8 @@ public class AmazonAdJob {
* 每小时下载未下载的报告
* </p>
*/
// @Scheduled(cron = "0/1 * * * * ?")
// @Scheduled(cron = "0 1 0/1 * * ?")
// @Scheduled(cron = "0/10 * * * * ?")
@Scheduled(cron = "0 0 0/1 * * ?")
public void downloadAmazonAdReport() {
log.info("每小时下载未下载的报告 任务开始");
amazonJobService.downloadAmazonAdReport();
......
......@@ -252,7 +252,7 @@ public class AmazonJobService {
List<JobAmazonAdLog> jobAmazonAdLogList = jobAmazonAdLogMapper.selectList(new LambdaQueryWrapper<JobAmazonAdLog>()
.eq(JobAmazonAdLog::getStatus, false));
jobAmazonAdLogList.forEach(jobAmazonAdLog -> {
jobAmazonAdLogList.parallelStream().forEach(jobAmazonAdLog -> {
try {
this.downloadAmazonAdReport(jobAmazonAdLog);
} catch (FeignException ex) {
......
......@@ -4,7 +4,7 @@ spring:
name: base-sync-amazon-ad
# 数据配置
datasource:
url: jdbc:mysql://10.0.8.15:3306/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
url: jdbc:mysql://10.0.8.15:3306/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
......@@ -4,7 +4,7 @@ spring:
name: base-sync-amazon-ad
# 数据配置
datasource:
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
......@@ -4,7 +4,7 @@ spring:
name: base-sync-amazon-ad
# 数据配置
datasource:
url: jdbc:mysql://10.0.8.15:3306/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
url: jdbc:mysql://10.0.8.15:3306/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
......@@ -4,7 +4,7 @@ spring:
name: base-sync-amazon-ad
# 数据配置
datasource:
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
......@@ -4,7 +4,7 @@ spring:
name: base-sync-company
# 数据配置
datasource:
url: jdbc:mysql://10.0.8.15:3306/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
url: jdbc:mysql://10.0.8.15:3306/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
......@@ -4,7 +4,7 @@ spring:
name: base-sync-company
# 数据配置
datasource:
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
......@@ -4,7 +4,7 @@ spring:
name: base-sync-sample
# 数据配置
datasource:
url: jdbc:mysql://10.0.8.15:3306/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
url: jdbc:mysql://10.0.8.15:3306/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
......@@ -4,7 +4,7 @@ spring:
name: base-sync-sample
# 数据配置
datasource:
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
......@@ -3,8 +3,8 @@ package com.bailuntec.interfaces;
import com.bailuntec.application.IDcBalanceSheetNewModifyService;
import com.bailuntec.common.base.BaseResult;
import com.bailuntec.domain.DcBalanceSheetNewModify;
import com.bailuntec.job.service.BalanceSheetService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -28,11 +28,14 @@ public class BalanceSheetModifyController {
@Resource
IDcBalanceSheetNewModifyService dcBalanceSheetNewModifyService;
@Resource
BalanceSheetService balanceSheetService;
@ApiOperation("资产负债表录入")
@PostMapping("/record")
public BaseResult<Void> record(@RequestBody DcBalanceSheetNewModify dcBalanceSheetNewModify) {
dcBalanceSheetNewModifyService.record(dcBalanceSheetNewModify);
balanceSheetService.setBalanceSheetNewResult(dcBalanceSheetNewModify.getStatisticalTime());
return BaseResult.success();
}
}
......@@ -642,31 +642,46 @@ public class BalanceSheetService {
LocalDate date = dcJobConfig.getStartTime().toLocalDate();
this.setBalanceSheetNewResult(date);
//更新任务时间
dcJobConfigMapper.updateById(dcJobConfig.refresh());
}
public void setBalanceSheetNewResult(LocalDate statisticalTime) {
Integer companyValue = 0;
String companyName = "百伦供应链";
DcBalanceSheetNewResult dcBalanceSheetNewResult = dcBalanceSheetNewResultMapper.selectOne(new LambdaQueryWrapper<DcBalanceSheetNewResult>()
.eq(DcBalanceSheetNewResult::getCompanyValue, companyValue)
.eq(DcBalanceSheetNewResult::getCompanyName, companyName)
.eq(DcBalanceSheetNewResult::getStatisticalTime, dcJobConfig.getStartTime().toLocalDate()));
.eq(DcBalanceSheetNewResult::getStatisticalTime, statisticalTime));
DcBalanceSheetNewModify dcBalanceSheetNewModify = dcBalanceSheetNewModifyMapper.selectOne(new LambdaQueryWrapper<DcBalanceSheetNewModify>()
.eq(DcBalanceSheetNewModify::getCompanyValue, companyValue)
.eq(DcBalanceSheetNewModify::getCompanyName, companyName)
.eq(DcBalanceSheetNewModify::getStatisticalTime, dcJobConfig.getStartTime().toLocalDate()));
.eq(DcBalanceSheetNewModify::getStatisticalTime, statisticalTime));
DcBalanceSheetNew dcBalanceSheetNew = dcBalanceSheetNewMapper.selectOne(new LambdaQueryWrapper<DcBalanceSheetNew>()
.eq(DcBalanceSheetNew::getCompanyValue, companyValue)
.eq(DcBalanceSheetNew::getCompanyName, companyName)
.eq(DcBalanceSheetNew::getStatisticalTime, dcJobConfig.getStartTime().toLocalDate()));
.eq(DcBalanceSheetNew::getStatisticalTime, statisticalTime));
if (dcBalanceSheetNewResult == null) {
dcBalanceSheetNewResult = new DcBalanceSheetNewResult();
dcBalanceSheetNewResult.setCompanyValue(companyValue);
dcBalanceSheetNewResult.setCompanyName(companyName);
dcBalanceSheetNewResult.setStatisticalTime(dcJobConfig.getStartTime().toLocalDate());
dcBalanceSheetNewResult.setStatisticalTime(statisticalTime);
}
if (dcBalanceSheetNewModify == null) {
dcBalanceSheetNewModify = new DcBalanceSheetNewModify();
dcBalanceSheetNewModify.setCompanyValue(companyValue);
dcBalanceSheetNewModify.setCompanyName(companyName);
dcBalanceSheetNewModify.setStatisticalTime(statisticalTime);
dcBalanceSheetNewModifyMapper.insert(dcBalanceSheetNewModify);
dcBalanceSheetNewModify = dcBalanceSheetNewModifyMapper.selectById(dcBalanceSheetNewModify.getId());
}
if (dcBalanceSheetNew == null) {
dcBalanceSheetNew = new DcBalanceSheetNew();
......@@ -792,7 +807,5 @@ public class BalanceSheetService {
.add(dcBalanceSheetNewModify.getInventoryAmount()));
dcBalanceSheetNewResultService.saveOrUpdate(dcBalanceSheetNewResult);
//更新任务时间
dcJobConfigMapper.updateById(dcJobConfig.refresh());
}
}
......@@ -4,7 +4,7 @@ spring:
name: base-sync-sample
# 数据配置
datasource:
url: jdbc:mysql://10.0.8.15:3306/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
url: jdbc:mysql://10.0.8.15:3306/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
spring:
# 服务名称
application:
name: base-sync-sample
name: mid-calculate-transit
# 数据配置
datasource:
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
......@@ -18,9 +18,9 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@EnableScheduling
@ComponentScan("com.bailuntec")
@EnableFeignClients(basePackages = {"com.bailuntec.api", "com.bailuntec.*.api"})
public class SampleApp {
public class MidCalculateTransitApp {
public static void main(String[] args) {
SpringApplication.run(SampleApp.class, args);
SpringApplication.run(MidCalculateTransitApp.class, args);
}
}
package com.bailuntec.job;
import com.bailuntec.job.service.MidCalculateTransitService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@Slf4j
@Component
public class MidCalculateTransitJob {
@Resource
MidCalculateTransitService midCalculateTransitService;
@Scheduled(cron = "0 0/10 * * * ?")
public void midCalculateNoShippedQuantity() {
try {
log.info("每10分钟同步bailunSku+warehouseCode待发货数量 开始");
midCalculateTransitService.midCalculateNoShippedQuantity();
log.info("每10分钟同步bailunSku+warehouseCode待发货数量 结束");
} catch (Exception ex) {
log.error("每10分钟同步bailunSku+warehouseCode待发货数量 异常:", ex);
}
}
@Scheduled(cron = "0 0/10 * * * ?")
public void midCalculateOutStockQuantity() {
try {
log.info("每10分钟同步bailunSku+warehouseCode缺货数量 开始");
midCalculateTransitService.midCalculateOutStockQuantity();
log.info("每10分钟同步bailunSku+warehouseCode缺货数量 结束");
} catch (Exception ex) {
log.error("每10分钟同步bailunSku+warehouseCode缺货数量 异常:", ex);
}
}
@Scheduled(cron = "0 0/10 * * * ?")
public void midCalculateTransferTransitQuantity() {
try {
log.info("每分钟同步bailunSku-warehouseCode调拨在途数量 开始");
midCalculateTransitService.midCalculateTransferTransitQuantity();
log.info("每分钟同步bailunSku-warehouseCode调拨在途数量 结束");
} catch (Exception ex) {
log.error("每分钟同步bailunSku-warehouseCode调拨在途数量 异常:", ex);
}
}
@Scheduled(cron = "0 0/10 * * * ?")
public void midCalculatePurchaseTransitQuantity() {
try {
log.info("每分钟同步bailunSku-warehouseCode采购在途数量 开始");
midCalculateTransitService.midCalculatePurchaseTransitQuantity();
log.info("每分钟同步bailunSku-warehouseCode采购在途数量 结束");
} catch (Exception ex) {
log.error("每分钟同步bailunSku-warehouseCode采购在途数量 异常:", ex);
}
}
}
package com.bailuntec.job;
import com.bailuntec.job.service.SampleService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@Slf4j
@Component
public class SampleJob {
@Resource
SampleService sampleService;
@Scheduled(cron = "0 0/1 * * * ?")
public void baseSyncFinanceFee() {
try {
log.info("每分钟同步费用单 开始");
sampleService.sync();
log.info("每分钟同步费用单 结束");
} catch (Exception ex) {
log.error("每分钟同步费用单 异常:", ex);
}
}
}
package com.bailuntec.job.service;
import com.bailuntec.application.IDcMidTransitService;
import com.bailuntec.common.ListUtil;
import com.bailuntec.domain.DcJobConfig;
import com.bailuntec.domain.DcMidTransit;
import com.bailuntec.infrastructure.common.BaseJobSqlParam;
import com.bailuntec.infrastructure.mapper.DcJobConfigMapper;
import com.bailuntec.infrastructure.mapper.DcMidTransitMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/10/7 11:38 上午
*/
@Slf4j
@Service
public class MidCalculateTransitService {
@Resource
DcMidTransitMapper dcMidTransitMapper;
@Resource
DcJobConfigMapper dcJobConfigMapper;
@Resource
IDcMidTransitService dcMidTransitService;
private final static String midCalculateOutStockQuantity = "mid-calculate-out-stock-quantity";
private final static String midCalculatePurchaseTransitQuantity = "mid-calculate-purchase-transit-quantity";
private final static String midCalculateTransferTransitQuantity = "mid-calculate-transfer-transit-quantity";
private final static String midCalculateNoShippedQuantity = "mid-calculate-no-shipped-quantity";
public void midCalculateOutStockQuantity() {
DcJobConfig dcJobConfig = dcJobConfigMapper.selectByName(midCalculateOutStockQuantity);
int pageNum = dcJobConfig.getPageNum();
dcMidTransitMapper.clearOutStockQuantity();
for (; ; ) {
List<DcMidTransit> dcMidTransitList = dcMidTransitMapper.selectOutStockQuantity(BaseJobSqlParam.newInstance(dcJobConfig));
if (ListUtil.isEmpty(dcMidTransitList)) {
break;
}
dcMidTransitList.forEach(dcMidTransit -> dcMidTransit.setGmtOutStockModified(LocalDateTime.now()));
dcMidTransitService.saveOrUpdateBatch(dcMidTransitList);
pageNum++;
dcJobConfig.setPageNum(pageNum);
dcJobConfigMapper.updateById(dcJobConfig);
}
dcJobConfigMapper.updateById(dcJobConfig.refresh());
}
public void midCalculatePurchaseTransitQuantity() {
DcJobConfig dcJobConfig = dcJobConfigMapper.selectByName(midCalculatePurchaseTransitQuantity);
int pageNum = dcJobConfig.getPageNum();
dcMidTransitMapper.clearPurchaseTransitQuantity();
for (; ; ) {
//分页查询采购
List<DcMidTransit> dcMidTransitList = dcMidTransitMapper.selectPurchaseTransitQuantity(BaseJobSqlParam.newInstance(dcJobConfig));
if (ListUtil.isEmpty(dcMidTransitList)) {
break;
}
dcMidTransitList.forEach(dcMidTransit -> dcMidTransit.setGmtPurchaseModified(LocalDateTime.now()));
dcMidTransitService.saveOrUpdateBatch(dcMidTransitList);
pageNum++;
dcJobConfig.setPageNum(pageNum);
dcJobConfigMapper.updateById(dcJobConfig);
}
dcJobConfigMapper.updateById(dcJobConfig.refresh());
}
public void midCalculateTransferTransitQuantity() {
DcJobConfig dcJobConfig = dcJobConfigMapper.selectByName(midCalculateTransferTransitQuantity);
int pageNum = dcJobConfig.getPageNum();
dcMidTransitMapper.clearTransferTransitQuantity();
for (; ; ) {
List<DcMidTransit> dcMidTransitList = dcMidTransitMapper.selectTransferTransitQuantity(BaseJobSqlParam.newInstance(dcJobConfig));
if (ListUtil.isEmpty(dcMidTransitList)) {
break;
}
dcMidTransitList.forEach(dcMidTransit -> dcMidTransit.setGmtTransferModified(LocalDateTime.now()));
dcMidTransitService.saveOrUpdateBatch(dcMidTransitList);
pageNum++;
dcJobConfig.setPageNum(pageNum);
dcJobConfigMapper.updateById(dcJobConfig);
}
dcJobConfigMapper.updateById(dcJobConfig.refresh());
}
public void midCalculateNoShippedQuantity() {
DcJobConfig dcJobConfig = dcJobConfigMapper.selectByName(midCalculateNoShippedQuantity);
int pageNum = dcJobConfig.getPageNum();
dcMidTransitMapper.clearNoShippedQuantity();
for (; ; ) {
List<DcMidTransit> dcMidTransitList = dcMidTransitMapper.selectNoShippedQuantity(BaseJobSqlParam.newInstance(dcJobConfig));
if (ListUtil.isEmpty(dcMidTransitList)) {
break;
}
dcMidTransitList.forEach(dcMidTransit -> dcMidTransit.setGmtUnshippedModified(LocalDateTime.now()));
dcMidTransitService.saveOrUpdateBatch(dcMidTransitList);
pageNum++;
dcJobConfig.setPageNum(pageNum);
dcJobConfigMapper.updateById(dcJobConfig);
}
dcJobConfigMapper.updateById(dcJobConfig.refresh());
}
}
package com.bailuntec.job.service;
import com.bailuntec.common.BeanUtils;
import com.bailuntec.common.ListUtil;
import com.bailuntec.cost.api.CostApi;
import com.bailuntec.cost.api.dto.CostDto;
import com.bailuntec.cost.api.dto.ManageCostDto;
import com.bailuntec.cost.api.response.CostResult;
import com.bailuntec.domain.DcBaseFinanceFee;
import com.bailuntec.domain.DcBaseFinanceLogistics;
import com.bailuntec.domain.DcBaseFinanceManagecost;
import com.bailuntec.domain.DcJobConfig;
import com.bailuntec.infrastructure.mapper.DcBaseFinanceFeeMapper;
import com.bailuntec.infrastructure.mapper.DcBaseFinanceLogisticsMapper;
import com.bailuntec.infrastructure.mapper.DcBaseFinanceManagecostMapper;
import com.bailuntec.infrastructure.mapper.DcJobConfigMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/10/7 11:38 上午
*/
@Slf4j
@Service
public class SampleService {
public void sync() {
}
}
......@@ -4,7 +4,7 @@ spring:
name: base-sync-amazon-ad
# 数据配置
datasource:
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
......@@ -4,7 +4,7 @@ spring:
name: base-sync-amazon-ad
# 数据配置
datasource:
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
......@@ -15,16 +15,37 @@ public class DailySnapshotJob {
@Resource
DailySnapshotService dailySnapshotService;
@Scheduled(cron = "0 0/1 * * * ?")
public void baseSyncFinanceFee() {
@Scheduled(cron = "0 10 0 * * ?")
public void saveDcBastStockDailySnapshot() {
try {
log.info("每分钟同步费用单 开始");
log.info("每天10点保存每日库存快照 开始");
dailySnapshotService.saveDcBastStockDailySnapshot();
log.info("每分钟同步费用单 结束");
log.info("每天10点保存每日库存快照 结束");
} catch (Exception ex) {
log.error("每分钟同步费用单 异常:", ex);
log.error("每天10点保存每日库存快照 异常:", ex);
}
}
@Scheduled(cron = "0 10 0 * * ?")
public void saveDcBaseOmsSku30SnapShot() {
try {
log.info("每天10点保存30天oms_sku 开始");
dailySnapshotService.saveDcBaseOmsSku30SnapShot();
log.info("每天10点保存30天oms_sku 结束");
} catch (Exception ex) {
log.error("每天10点保存30天oms_sku 异常:", ex);
}
}
@Scheduled(cron = "0 10 0 * * ?")
public void saveMidTransitSnapShot() {
try {
log.info("每天1点保存bailunSku-warehouseCode在途数量采购数量缺货数量代发货数量快照 开始");
dailySnapshotService.saveMidTransitSnapShot();
log.info("每天1点保存bailunSku-warehouseCode在途数量采购数量缺货数量代发货数量快照 结束");
} catch (Exception ex) {
log.error("每天1点保存bailunSku-warehouseCode在途数量采购数量缺货数量代发货数量快照 异常:", ex);
}
}
}
package com.bailuntec.job.service;
import com.bailuntec.application.IDcDailyStockService;
import com.bailuntec.application.IDcDailyTransitService;
import com.bailuntec.common.ListUtil;
import com.bailuntec.domain.DcDailyStock;
import com.bailuntec.domain.DcDailyTransit;
import com.bailuntec.domain.DcJobConfig;
import com.bailuntec.infrastructure.mapper.DcDailyStockMapper;
import com.bailuntec.infrastructure.mapper.DcDailyTransitMapper;
import com.bailuntec.infrastructure.mapper.DcJobConfigMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
......@@ -31,18 +34,23 @@ public class DailySnapshotService {
DcDailyStockMapper dcDailyStockMapper;
@Resource
DcJobConfigMapper dcJobConfigMapper;
@Resource
DcDailyTransitMapper dcDailyTransitMapper;
@Resource
IDcDailyTransitService dcDailyTransitService;
private static String midDailyBaseStockSnapshot = "mid-daily-base-stock-snapshot";
private final static String baseStockDailySnapshot = "base-stock-daily-snapshot";
private final static String midTransitDailySnapshot = "mid-transit-daily-snapshot";
/**
* 每天0点10分
* 保存库存每日快照
*/
@Scheduled(cron = "0 10 0 * * ? * ")
@Transactional
public void saveDcBastStockDailySnapshot() {
DcJobConfig dcJobConfig = dcJobConfigMapper.selectByName(midDailyBaseStockSnapshot);
DcJobConfig dcJobConfig = dcJobConfigMapper.selectByName(baseStockDailySnapshot);
int pageNum = dcJobConfig.getPageNum();
int pageSize = dcJobConfig.getPageSize();
......@@ -54,6 +62,8 @@ public class DailySnapshotService {
}
dcDailyStockService.saveBatch(dcBaseStockList);
pageNum++;
dcJobConfig.setPageNum(pageNum);
dcJobConfigMapper.updateById(dcJobConfig);
}
dcJobConfigMapper.updateById(dcJobConfig.refresh());
}
......@@ -62,7 +72,30 @@ public class DailySnapshotService {
* 每天0点10分
* 保存库存每日快照
*/
@Scheduled(cron = "0 10 0 * * ? * ")
public void saveDcBaseOmsSku30SnapShot() {
}
/**
* 每天0点10分
* 保存周转在途快照
*/
public void saveMidTransitSnapShot() {
DcJobConfig dcJobConfig = dcJobConfigMapper.selectByName(midTransitDailySnapshot);
int pageNum = dcJobConfig.getPageNum();
int pageSize = dcJobConfig.getPageSize();
dcDailyTransitMapper.clearSnapShot();
for (; ; ) {
List<DcDailyTransit> dcDailyTransitList = dcDailyTransitMapper.selectSnapShot((pageNum - 1) * pageSize, pageSize);
if (ListUtil.isEmpty(dcDailyTransitList)) {
break;
}
dcDailyTransitService.saveBatch(dcDailyTransitList);
pageNum++;
dcJobConfig.setPageNum(pageNum);
dcJobConfigMapper.updateById(dcJobConfig);
}
dcJobConfigMapper.updateById(dcJobConfig.refresh());
}
}
......@@ -4,7 +4,7 @@ spring:
name: base-sync-sample
# 数据配置
datasource:
url: jdbc:mysql://10.0.8.15:3306/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
url: jdbc:mysql://10.0.8.15:3306/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
......@@ -4,7 +4,7 @@ spring:
name: base-sync-sample
# 数据配置
datasource:
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
package com.bailuntec.job.service;
import com.bailuntec.job.DailySnapshotApp;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
/**
* <p>
*
......@@ -20,11 +21,16 @@ import org.springframework.test.context.junit4.SpringRunner;
@SpringBootTest(classes = DailySnapshotApp.class)
public class DailySnapshotServiceTest {
@Test
void saveDcBastStockDailySnapshot() {
@Resource
DailySnapshotService dailySnapshotService;
@org.junit.Test
public void saveDcBastStockDailySnapshot() {
dailySnapshotService.saveDcBastStockDailySnapshot();
}
@Test
void saveDcBaseOmsSku30SnapShot() {
@org.junit.Test
public void saveDcBaseOmsSku30SnapShot() {
}
}
#Generated by Maven
#Wed Nov 25 14:52:01 CST 2020
#Thu Dec 10 11:41:18 CST 2020
version=1.0-SNAPSHOT
groupId=com.bailuntec
artifactId=show-auto-turnover
/Users/huluobin/IdeaProjects/bailuntec-datacenter-job/datacenter-show/show-auto-turnover/src/main/java/com/bailuntec/job/service/DaySales.java
/Users/huluobin/IdeaProjects/bailuntec-datacenter-job/datacenter-show/show-auto-turnover/src/main/java/com/bailuntec/job/service/ShowAutoTurnover.java
/Users/huluobin/IdeaProjects/bailuntec-datacenter-job/datacenter-show/show-auto-turnover/src/main/java/com/bailuntec/job/service/ShowAutoTurnoverParam.java
/Users/huluobin/IdeaProjects/bailuntec-datacenter-job/datacenter-show/show-auto-turnover/src/main/java/com/bailuntec/job/service/AutoTurnoverJob2.java
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