运营商查询订单报表方法添加站点名称并分页

This commit is contained in:
Lemon
2023-06-15 17:39:23 +08:00
parent 0b16ac9d06
commit 6dd8e2f51e
7 changed files with 130 additions and 18 deletions

View File

@@ -3,6 +3,7 @@ package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.SettleOrderReport;
import com.jsowell.pile.dto.MerchantOrderReportDTO;
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
import com.jsowell.pile.vo.web.SettleOrderReportVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -69,5 +70,5 @@ public interface SettleOrderReportMapper {
* @param dto
* @return
*/
List<SettleOrderReport> getMerchantOrderReport(@Param("dto") MerchantOrderReportDTO dto);
List<SettleOrderReportVO> getMerchantOrderReport(@Param("dto") MerchantOrderReportDTO dto);
}

View File

@@ -1,12 +1,16 @@
package com.jsowell.pile.service.impl;
import com.github.pagehelper.PageInfo;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.PageUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.domain.SettleOrderReport;
import com.jsowell.pile.dto.MerchantOrderReportDTO;
import com.jsowell.pile.mapper.SettleOrderReportMapper;
import com.jsowell.pile.service.ISettleOrderReportService;
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
import com.jsowell.pile.vo.web.SettleOrderReportVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -109,31 +113,33 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService {
}
MerchantOrderReportVO vo = new MerchantOrderReportVO();
MerchantOrderReportVO.MerchantOrderReport report = new MerchantOrderReportVO.MerchantOrderReport();
List<SettleOrderReport> list = settleOrderReportMapper.getMerchantOrderReport(dto);
PageUtils.startPage(1, 10);
List<SettleOrderReportVO> list = settleOrderReportMapper.getMerchantOrderReport(dto);
if (CollectionUtils.isEmpty(list)) {
return null;
}
PageInfo<SettleOrderReportVO> pageInfo = new PageInfo<>(list);
vo.setMerchantId(dto.getMerchantId());
vo.setReportList(list);
vo.setReportList(pageInfo.getList());
// 进行数据汇总
// 用电度数
report.setUseElectricity(list.stream().map(SettleOrderReport::getUseElectricity).reduce(BigDecimal.ZERO, BigDecimal::add));
report.setUseElectricity(list.stream().map(SettleOrderReportVO::getUseElectricity).reduce(BigDecimal.ZERO, BigDecimal::add));
// 充电次数
report.setChargeNum(list.stream().map(SettleOrderReport -> new BigDecimal(SettleOrderReport.getChargeNum())).reduce(BigDecimal.ZERO, BigDecimal::add));
// 充电时长
report.setChargeTime(list.stream().map(SettleOrderReport -> new BigDecimal(SettleOrderReport.getChargeTime())).reduce(BigDecimal.ZERO, BigDecimal::add));
// 电费金额
report.setElectricityAmount(list.stream().map(SettleOrderReport::getElectricityAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
report.setElectricityAmount(list.stream().map(SettleOrderReportVO::getElectricityAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
// 服务费金额
report.setServiceAmount(list.stream().map(SettleOrderReport::getServiceAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
report.setServiceAmount(list.stream().map(SettleOrderReportVO::getServiceAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
// 收入金额
report.setTotalAmount(list.stream().map(SettleOrderReport::getTotalAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
report.setTotalAmount(list.stream().map(SettleOrderReportVO::getTotalAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
// 虚拟金额
report.setVirtualAmount(list.stream().map(SettleOrderReport::getVirtualAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
report.setVirtualAmount(list.stream().map(SettleOrderReportVO::getVirtualAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
// 交易金额
report.setTradeAmount(list.stream().map(SettleOrderReport::getTradeAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
report.setTradeAmount(list.stream().map(SettleOrderReportVO::getTradeAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
// 交易手续费
report.setTradeFee(list.stream().map(SettleOrderReport::getTradeFee).reduce(BigDecimal.ZERO, BigDecimal::add));
report.setTradeFee(list.stream().map(SettleOrderReportVO::getTradeFee).reduce(BigDecimal.ZERO, BigDecimal::add));
vo.setMerchantOrderReport(report);
return vo;

View File

@@ -12,7 +12,7 @@ public class MerchantOrderReportVO {
private MerchantOrderReport merchantOrderReport;
private List<SettleOrderReport> reportList;
private List<SettleOrderReportVO> reportList;
@Data
public static class MerchantOrderReport{

View File

@@ -0,0 +1,85 @@
package com.jsowell.pile.vo.web;
import com.jsowell.common.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
/**
* 订单报表vo运营商详情页面用
*
* @author Lemon
* @Date 2023/6/15 17:25
*/
@Data
public class SettleOrderReportVO {
/**
* 主键
*/
private Long id;
/**
* 运营商id
*/
private String merchantId;
/**
* 站点id
*/
private String stationId;
/**
* 站点名称
*/
private String stationName;
/**
* 用电度数
*/
private BigDecimal useElectricity;
/**
* 充电次数
*/
private String chargeNum;
/**
* 充电时长
*/
private String chargeTime;
/**
* 电费金额
*/
private BigDecimal electricityAmount;
/**
* 服务费金额
*/
private BigDecimal serviceAmount;
/**
* 收入金额
*/
private BigDecimal totalAmount;
/**
* 虚拟金额
*/
private BigDecimal virtualAmount;
/**
* 交易日期
*/
private String tradeDate;
/**
* 交易金额
*/
private BigDecimal tradeAmount;
/**
* 交易手续费
*/
private BigDecimal tradeFee;
}