mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 19:15:35 +08:00
新增 运营商查询订单报表接口
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
package com.jsowell.pile.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class MerchantOrderReportDTO {
|
||||
private String merchantId;
|
||||
private String startTime;
|
||||
private String endTime;
|
||||
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
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 org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
@@ -60,4 +63,11 @@ public interface SettleOrderReportMapper {
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteSettleOrderReportByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据运营商id查询订单报表
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
List<SettleOrderReport> getMerchantOrderReport(@Param("dto") MerchantOrderReportDTO dto);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.jsowell.pile.service;
|
||||
|
||||
import com.jsowell.pile.domain.SettleOrderReport;
|
||||
import com.jsowell.pile.dto.MerchantOrderReportDTO;
|
||||
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -58,4 +60,11 @@ public interface ISettleOrderReportService {
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteSettleOrderReportById(Long id);
|
||||
|
||||
/**
|
||||
* 根据运营商id查询订单报表
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
MerchantOrderReportVO getMerchantOrderReport(MerchantOrderReportDTO dto);
|
||||
}
|
||||
|
||||
@@ -2,12 +2,17 @@ package com.jsowell.pile.service.impl;
|
||||
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
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.web.MerchantOrderReportVO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 结算订单报Service业务层处理
|
||||
@@ -86,4 +91,43 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService {
|
||||
public int deleteSettleOrderReportById(Long id) {
|
||||
return settleOrderReportMapper.deleteSettleOrderReportById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据运营商id查询订单报表
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public MerchantOrderReportVO getMerchantOrderReport(MerchantOrderReportDTO dto) {
|
||||
MerchantOrderReportVO vo = new MerchantOrderReportVO();
|
||||
MerchantOrderReportVO.MerchantOrderReport report = new MerchantOrderReportVO.MerchantOrderReport();
|
||||
List<SettleOrderReport> list = settleOrderReportMapper.getMerchantOrderReport(dto);
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return null;
|
||||
}
|
||||
vo.setMerchantId(dto.getMerchantId());
|
||||
vo.setReportList(list);
|
||||
// 进行数据汇总
|
||||
// 用电度数
|
||||
report.setUseElectricity(list.stream().map(SettleOrderReport::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.setServiceAmount(list.stream().map(SettleOrderReport::getServiceAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
// 收入金额
|
||||
report.setTotalAmount(list.stream().map(SettleOrderReport::getTotalAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
// 虚拟金额
|
||||
report.setVirtualAmount(list.stream().map(SettleOrderReport::getVirtualAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
// 交易金额
|
||||
report.setTradeAmount(list.stream().map(SettleOrderReport::getTradeAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
// 交易手续费
|
||||
report.setTradeFee(list.stream().map(SettleOrderReport::getTradeFee).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
|
||||
vo.setMerchantOrderReport(report);
|
||||
return vo;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.jsowell.pile.vo.web;
|
||||
|
||||
import com.jsowell.pile.domain.SettleOrderReport;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class MerchantOrderReportVO {
|
||||
private String merchantId;
|
||||
|
||||
private MerchantOrderReport merchantOrderReport;
|
||||
|
||||
private List<SettleOrderReport> reportList;
|
||||
|
||||
@Data
|
||||
public static class MerchantOrderReport{
|
||||
// 用电度数
|
||||
private BigDecimal useElectricity;
|
||||
|
||||
// 充电次数
|
||||
private BigDecimal chargeNum;
|
||||
|
||||
// 充电时长
|
||||
private BigDecimal chargeTime;
|
||||
|
||||
// 电费金额
|
||||
private BigDecimal electricityAmount;
|
||||
|
||||
// 服务费金额
|
||||
private BigDecimal serviceAmount;
|
||||
|
||||
// 收入金额
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
// 交易金额
|
||||
private BigDecimal tradeAmount;
|
||||
|
||||
// 交易手续费
|
||||
private BigDecimal tradeFee;
|
||||
|
||||
// 虚拟金额
|
||||
private BigDecimal virtualAmount;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user