update 优化计算订单日报

This commit is contained in:
2023-07-14 10:56:45 +08:00
parent 06a4b93199
commit 45ae17ea35
3 changed files with 18 additions and 5 deletions

View File

@@ -271,7 +271,7 @@ public interface IOrderBasicInfoService {
/**
* 生成订单日报
*/
void generateDailyOrderReports(String stationId);
void generateDailyOrderReports(String stationId, String startTime, String endTime);
/**
* 获取运营商订单列表

View File

@@ -2052,7 +2052,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
}
@Override
public void generateDailyOrderReports(String stationId) {
public void generateDailyOrderReports(String stationId, String startTime, String endTime) {
if (StringUtils.isBlank(stationId)) {
return;
}
@@ -2060,9 +2060,17 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
// 查询站点前一天完成的订单
QueryOrderDTO dto = new QueryOrderDTO();
dto.setStationId(stationId);
LocalDate yesterday = LocalDate.now().plusDays(-1);
dto.setStartTime(DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MIN)));
dto.setEndTime(DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MAX)));
if (StringUtils.isBlank(startTime)) {
startTime = DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MIN));
}
if (StringUtils.isBlank(endTime)) {
endTime = DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MAX));
}
dto.setStartTime(startTime);
dto.setEndTime(endTime);
List<OrderListVO> orderListVOS = orderBasicInfoMapper.selectOrderBasicInfoList(dto);
if (CollectionUtils.isEmpty(orderListVOS)) {
logger.warn("站点:{}, 在{}没有查询到订单数据", stationInfo.getStationName(), yesterday.toString());

View File

@@ -19,7 +19,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Date;
import java.util.List;
@@ -115,10 +117,13 @@ public class JsowellTask {
if (CollectionUtils.isEmpty(list)) {
return;
}
LocalDate yesterday = LocalDate.now().plusDays(-1);
String startTime = DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MIN));
String endTime = DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MAX));
// 计算每个站点前一天的报表
for (PileStationInfo stationInfo : list) {
try {
orderBasicInfoService.generateDailyOrderReports(stationInfo.getId() + "");
orderBasicInfoService.generateDailyOrderReports(stationInfo.getId() + "", startTime, endTime);
} catch (Exception e) {
log.error("计算站点订单报表 发生异常 stationId:{}", stationInfo.getId(), e);
}