mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-12 19:29:52 +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.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.LocalTime;
|
import java.time.LocalTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -2052,7 +2053,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void generateDailyOrderReports(String stationId, String startTime, String endTime) {
|
public void generateDailyOrderReports(String stationId, String tradeDate) {
|
||||||
// logger.info("线程名===={}", Thread.currentThread().getName());
|
// logger.info("线程名===={}", Thread.currentThread().getName());
|
||||||
if (StringUtils.isBlank(stationId)) {
|
if (StringUtils.isBlank(stationId)) {
|
||||||
return;
|
return;
|
||||||
@@ -2062,14 +2063,15 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
QueryOrderDTO dto = new QueryOrderDTO();
|
QueryOrderDTO dto = new QueryOrderDTO();
|
||||||
dto.setStationId(stationId);
|
dto.setStationId(stationId);
|
||||||
|
|
||||||
LocalDate yesterday = LocalDate.now().plusDays(-1);
|
if (StringUtils.isBlank(tradeDate)) {
|
||||||
if (StringUtils.isBlank(startTime)) {
|
// 日期为空默认昨天
|
||||||
startTime = DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MIN));
|
tradeDate = LocalDate.now().plusDays(-1).toString();
|
||||||
}
|
|
||||||
if (StringUtils.isBlank(endTime)) {
|
|
||||||
endTime = DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MAX));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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.setStartTime(startTime);
|
||||||
dto.setEndTime(endTime);
|
dto.setEndTime(endTime);
|
||||||
List<OrderListVO> orderListVOS = orderBasicInfoMapper.selectOrderBasicInfoList(dto);
|
List<OrderListVO> orderListVOS = orderBasicInfoMapper.selectOrderBasicInfoList(dto);
|
||||||
@@ -2135,13 +2137,13 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
settleOrderReport.setServiceAmount(totalServiceAmount);
|
settleOrderReport.setServiceAmount(totalServiceAmount);
|
||||||
settleOrderReport.setTotalAmount(totalOrderAmount);
|
settleOrderReport.setTotalAmount(totalOrderAmount);
|
||||||
settleOrderReport.setVirtualAmount(totalVirtualAmount);
|
settleOrderReport.setVirtualAmount(totalVirtualAmount);
|
||||||
settleOrderReport.setTradeDate(yesterday.toString());
|
settleOrderReport.setTradeDate(tradeDate);
|
||||||
// 计算手续费 = 结算金额 * 0.55%
|
// 计算手续费 = 结算金额 * 0.55%
|
||||||
BigDecimal tradeFee = totalSettleAmount.multiply(new BigDecimal("0.0055"));
|
BigDecimal tradeFee = totalSettleAmount.multiply(new BigDecimal("0.0055"));
|
||||||
settleOrderReport.setTradeFee(tradeFee);
|
settleOrderReport.setTradeFee(tradeFee);
|
||||||
settleOrderReport.setTradeAmount(totalSettleAmount.subtract(tradeFee));
|
settleOrderReport.setTradeAmount(totalSettleAmount.subtract(tradeFee));
|
||||||
|
|
||||||
SettleOrderReport selectResult = settleOrderReportService.selectByStationIdAndDate(stationId, yesterday.toString());
|
SettleOrderReport selectResult = settleOrderReportService.selectByStationIdAndDate(stationId, tradeDate);
|
||||||
if (selectResult == null) {
|
if (selectResult == null) {
|
||||||
settleOrderReportService.insertSettleOrderReport(settleOrderReport);
|
settleOrderReportService.insertSettleOrderReport(settleOrderReport);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -3,14 +3,14 @@ package com.jsowell.quartz.task;
|
|||||||
import com.jsowell.common.constant.Constants;
|
import com.jsowell.common.constant.Constants;
|
||||||
import com.jsowell.common.util.DateUtils;
|
import com.jsowell.common.util.DateUtils;
|
||||||
import com.jsowell.common.util.StringUtils;
|
import com.jsowell.common.util.StringUtils;
|
||||||
|
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||||
import com.jsowell.pile.domain.PileStationInfo;
|
import com.jsowell.pile.domain.PileStationInfo;
|
||||||
import com.jsowell.pile.domain.ykcCommond.PublishPileBillingTemplateCommand;
|
import com.jsowell.pile.domain.ykcCommond.PublishPileBillingTemplateCommand;
|
||||||
import com.jsowell.pile.domain.ykcCommond.StartChargingCommand;
|
import com.jsowell.pile.domain.ykcCommond.StartChargingCommand;
|
||||||
import com.jsowell.pile.service.IPileStationInfoService;
|
|
||||||
import com.jsowell.pile.service.YKCPushCommandService;
|
|
||||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
|
||||||
import com.jsowell.pile.service.IOrderBasicInfoService;
|
import com.jsowell.pile.service.IOrderBasicInfoService;
|
||||||
import com.jsowell.pile.service.IPileBillingTemplateService;
|
import com.jsowell.pile.service.IPileBillingTemplateService;
|
||||||
|
import com.jsowell.pile.service.IPileStationInfoService;
|
||||||
|
import com.jsowell.pile.service.YKCPushCommandService;
|
||||||
import com.jsowell.pile.vo.web.BillingTemplateVO;
|
import com.jsowell.pile.vo.web.BillingTemplateVO;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@@ -21,7 +21,6 @@ import org.springframework.stereotype.Component;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.LocalTime;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -118,12 +117,10 @@ public class JsowellTask {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
LocalDate yesterday = LocalDate.now().plusDays(-1);
|
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) {
|
for (PileStationInfo stationInfo : list) {
|
||||||
try {
|
try {
|
||||||
orderBasicInfoService.generateDailyOrderReports(stationInfo.getId() + "", startTime, endTime);
|
orderBasicInfoService.generateDailyOrderReports(stationInfo.getId() + "", yesterday.toString());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("计算站点订单报表 发生异常 stationId:{}", stationInfo.getId(), e);
|
log.error("计算站点订单报表 发生异常 stationId:{}", stationInfo.getId(), e);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user