mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 19:45:09 +08:00
update 计算总量
This commit is contained in:
@@ -228,7 +228,7 @@ public interface IOrderBasicInfoService {
|
||||
*/
|
||||
OrderTotalDataVO getOrderTotalData(QueryOrderDTO orderBasicInfo);
|
||||
|
||||
OrderTotalDataVO getOrderTotalDataV2(QueryOrderDTO dto);
|
||||
List<OrderTotalDataVO> getOrderTotalDataV2(QueryOrderDTO dto);
|
||||
|
||||
/**
|
||||
* 通过订单号查询订单信息(小程序发送消息用)
|
||||
|
||||
@@ -413,7 +413,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
// 只计算订单完成状态的
|
||||
dto.setOrderStatus(OrderStatusEnum.ORDER_COMPLETE.getValue());
|
||||
OrderTotalDataVO resultVO = orderBasicInfoMapper.getOrderTotalData(dto);
|
||||
resultVO.setDateDescription("创建时间 " + dto.getStartTime() + " - " + dto.getEndTime());
|
||||
if (StringUtils.isNotBlank(dto.getStartTime()) && StringUtils.isNotBlank(dto.getEndTime())) {
|
||||
resultVO.setDateDescription("创建时间 " + dto.getStartTime() + " - " + dto.getEndTime());
|
||||
}
|
||||
if (StringUtils.isNotBlank(dto.getStartSettleTime()) && StringUtils.isNotBlank(dto.getEndSettleTime())) {
|
||||
resultVO.setDateDescription("结算时间 " + dto.getStartSettleTime() + " - " + dto.getEndSettleTime());
|
||||
}
|
||||
return resultVO;
|
||||
}
|
||||
|
||||
@@ -424,52 +429,33 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public OrderTotalDataVO getOrderTotalDataV2(QueryOrderDTO dto) {
|
||||
// 确定查询的站点
|
||||
List<String> stationIdList = Lists.newArrayList();
|
||||
if (CollectionUtils.isNotEmpty(dto.getStationIdList())) {
|
||||
stationIdList.addAll(dto.getStationIdList());
|
||||
public List<OrderTotalDataVO> getOrderTotalDataV2(QueryOrderDTO dto) {
|
||||
List<OrderTotalDataVO> resultList = Lists.newArrayList();
|
||||
// 只计算订单完成状态的
|
||||
dto.setOrderStatus(OrderStatusEnum.ORDER_COMPLETE.getValue());
|
||||
String startTime = dto.getStartTime();
|
||||
String endTime = dto.getEndTime();
|
||||
String startSettleTime = dto.getStartSettleTime();
|
||||
String endSettleTime = dto.getEndSettleTime();
|
||||
if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
|
||||
dto.setStartTime(startTime);
|
||||
dto.setEndTime(endTime);
|
||||
dto.setStartSettleTime(null);
|
||||
dto.setEndSettleTime(null);
|
||||
OrderTotalDataVO resultVO = orderBasicInfoMapper.getOrderTotalData(dto);
|
||||
resultVO.setDateDescription("创建时间 " + startTime + " - " + endTime);
|
||||
resultList.add(resultVO);
|
||||
}
|
||||
if (StringUtils.isNotBlank(dto.getMerchantId())) {
|
||||
List<PileStationInfo> pileStationInfos = pileStationInfoService.selectStationListByMerchantId(Long.parseLong(dto.getMerchantId()));
|
||||
if (CollectionUtils.isNotEmpty(pileStationInfos)) {
|
||||
List<String> collect = pileStationInfos.stream()
|
||||
.map(x -> String.valueOf(x.getId()))
|
||||
.collect(Collectors.toList());
|
||||
stationIdList.addAll(collect);
|
||||
}
|
||||
if (StringUtils.isNotBlank(startSettleTime) && StringUtils.isNotBlank(endSettleTime)) {
|
||||
dto.setStartTime(null);
|
||||
dto.setEndTime(null);
|
||||
dto.setStartSettleTime(startSettleTime);
|
||||
dto.setEndSettleTime(endSettleTime);
|
||||
OrderTotalDataVO resultVO = orderBasicInfoMapper.getOrderTotalData(dto);
|
||||
resultVO.setDateDescription("结算时间 " + startSettleTime + " - " + endSettleTime);
|
||||
resultList.add(resultVO);
|
||||
}
|
||||
if (StringUtils.isNotBlank(dto.getStationId())) {
|
||||
stationIdList.clear();
|
||||
stationIdList.add(dto.getStationId());
|
||||
}
|
||||
|
||||
OrderTotalDataVO vo = new OrderTotalDataVO();
|
||||
String startTime = dto.getStartTime() == null ? DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.addDays(new Date(), -7)) : dto.getStartTime(); // 2023-08-16 00:00:00
|
||||
String endTime = dto.getEndTime() == null ? DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, new Date()) : dto.getEndTime(); // 2023-08-16 23:59:59
|
||||
// 格式化时间
|
||||
startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.parseDate(startTime)); // 2023-08-16
|
||||
endTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.parseDate(endTime)); // 2023-08-16
|
||||
vo.setDateDescription("结算时间 " + startTime + " 至 " + endTime);
|
||||
|
||||
// 查询数据库
|
||||
List<SettleOrderReport> settleOrderReports = settleOrderReportService.queryOrderReport(stationIdList, startTime, endTime);
|
||||
// 总消费金额
|
||||
BigDecimal sumOrderAmount = BigDecimal.ZERO;
|
||||
// 总用电量
|
||||
BigDecimal sumUsedElectricity = BigDecimal.ZERO;
|
||||
// 总结算金额
|
||||
BigDecimal sumSettleAmount = BigDecimal.ZERO;
|
||||
for (SettleOrderReport settleOrderReport : settleOrderReports) {
|
||||
sumOrderAmount = sumOrderAmount.add(settleOrderReport.getTotalAmount());
|
||||
sumUsedElectricity = sumUsedElectricity.add(settleOrderReport.getUseElectricity());
|
||||
// 结算金额拆分为 交易金额 + 交易手续费
|
||||
sumSettleAmount = sumSettleAmount.add(settleOrderReport.getTradeAmount()).add(settleOrderReport.getTradeFee());
|
||||
}
|
||||
vo.setSumSettleAmount(sumSettleAmount);
|
||||
vo.setSumUsedElectricity(sumUsedElectricity);
|
||||
vo.setSumOrderAmount(sumOrderAmount);
|
||||
return vo;
|
||||
return resultList;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user