mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 11:05:18 +08:00
update 优化计算订单日报
This commit is contained in:
@@ -271,7 +271,7 @@ public interface IOrderBasicInfoService {
|
||||
/**
|
||||
* 生成订单日报
|
||||
*/
|
||||
void generateDailyOrderReports(String stationId, String startTime, String endTime);
|
||||
void generateDailyOrderReports(String stationId, String tradeDate);
|
||||
|
||||
/**
|
||||
* 获取运营商订单列表
|
||||
|
||||
@@ -63,6 +63,7 @@ import java.text.ParseException;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -2052,7 +2053,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateDailyOrderReports(String stationId, String startTime, String endTime) {
|
||||
public void generateDailyOrderReports(String stationId, String tradeDate) {
|
||||
// logger.info("线程名===={}", Thread.currentThread().getName());
|
||||
if (StringUtils.isBlank(stationId)) {
|
||||
return;
|
||||
@@ -2062,14 +2063,15 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
QueryOrderDTO dto = new QueryOrderDTO();
|
||||
dto.setStationId(stationId);
|
||||
|
||||
LocalDate yesterday = LocalDate.now().plusDays(-1);
|
||||
if (StringUtils.isBlank(startTime)) {
|
||||
startTime = DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MIN));
|
||||
}
|
||||
if (StringUtils.isBlank(endTime)) {
|
||||
endTime = DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MAX));
|
||||
if (StringUtils.isBlank(tradeDate)) {
|
||||
// 日期为空默认昨天
|
||||
tradeDate = LocalDate.now().plusDays(-1).toString();
|
||||
}
|
||||
|
||||
LocalDate parse = LocalDate.parse(tradeDate, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
String startTime = DateUtils.formatDateTime(LocalDateTime.of(parse, LocalTime.MIN));
|
||||
String endTime = DateUtils.formatDateTime(LocalDateTime.of(parse, LocalTime.MAX));
|
||||
|
||||
dto.setStartTime(startTime);
|
||||
dto.setEndTime(endTime);
|
||||
List<OrderListVO> orderListVOS = orderBasicInfoMapper.selectOrderBasicInfoList(dto);
|
||||
@@ -2135,13 +2137,13 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
settleOrderReport.setServiceAmount(totalServiceAmount);
|
||||
settleOrderReport.setTotalAmount(totalOrderAmount);
|
||||
settleOrderReport.setVirtualAmount(totalVirtualAmount);
|
||||
settleOrderReport.setTradeDate(yesterday.toString());
|
||||
settleOrderReport.setTradeDate(tradeDate);
|
||||
// 计算手续费 = 结算金额 * 0.55%
|
||||
BigDecimal tradeFee = totalSettleAmount.multiply(new BigDecimal("0.0055"));
|
||||
settleOrderReport.setTradeFee(tradeFee);
|
||||
settleOrderReport.setTradeAmount(totalSettleAmount.subtract(tradeFee));
|
||||
|
||||
SettleOrderReport selectResult = settleOrderReportService.selectByStationIdAndDate(stationId, yesterday.toString());
|
||||
SettleOrderReport selectResult = settleOrderReportService.selectByStationIdAndDate(stationId, tradeDate);
|
||||
if (selectResult == null) {
|
||||
settleOrderReportService.insertSettleOrderReport(settleOrderReport);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user