mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 11:05:18 +08:00
新增 后管查询运营商订单报表V2 接口
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
package com.jsowell.pile.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 查询清分账单DTO
|
||||
*
|
||||
* @author Lemon
|
||||
* @Date 2023/8/28 13:47
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class GetClearingBillDTO {
|
||||
|
||||
private Integer pageNum;
|
||||
|
||||
private Integer pageSize;
|
||||
|
||||
private String merchantId;
|
||||
|
||||
private String startTime;
|
||||
|
||||
private String endTime;
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
package com.jsowell.pile.mapper;
|
||||
|
||||
import com.jsowell.pile.domain.ClearingBillInfo;
|
||||
import com.jsowell.pile.dto.GetClearingBillDTO;
|
||||
import com.jsowell.pile.vo.web.ClearingBillVO;
|
||||
import com.jsowell.pile.vo.web.MerchantClearingBillVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
@@ -57,4 +60,11 @@ public interface ClearingBillInfoMapper {
|
||||
List<ClearingBillInfo> selectByMerchantId(@Param("merchantId") String merchantId, @Param("billStatus") String billStatus);
|
||||
|
||||
void updateStatus(@Param("clearingBillIds") List<Integer> clearingBillIds, @Param("billStatus") String billStatus);
|
||||
|
||||
/**
|
||||
* 后管用 查询运营商账单列表
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
List<MerchantClearingBillVO> getMerchantClearingBillList(GetClearingBillDTO dto);
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.jsowell.pile.service;
|
||||
|
||||
import com.jsowell.pile.domain.ClearingBillInfo;
|
||||
import com.jsowell.pile.dto.GetClearingBillDTO;
|
||||
import com.jsowell.pile.vo.web.MerchantClearingBillVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -22,4 +24,11 @@ public interface ClearingBillInfoService{
|
||||
List<ClearingBillInfo> selectByMerchantId(String merchantId, String billStatus);
|
||||
|
||||
void updateStatus(List<Integer> clearingBillIds, String billStatus);
|
||||
|
||||
/**
|
||||
* 后管用 查询运营商账单列表
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
List<MerchantClearingBillVO> getMerchantClearingBillList(GetClearingBillDTO dto);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.jsowell.pile.service;
|
||||
|
||||
import com.jsowell.common.core.page.PageResponse;
|
||||
import com.jsowell.pile.domain.SettleOrderReport;
|
||||
import com.jsowell.pile.dto.GetClearingBillDTO;
|
||||
import com.jsowell.pile.dto.MerchantOrderReportDTO;
|
||||
import com.jsowell.pile.dto.SettleOrderReportDTO;
|
||||
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
|
||||
@@ -77,6 +78,8 @@ public interface ISettleOrderReportService {
|
||||
*/
|
||||
MerchantOrderReportVO getMerchantOrderReport(MerchantOrderReportDTO dto);
|
||||
|
||||
MerchantOrderReportVO getMerchantOrderReportV2(MerchantOrderReportDTO dto);
|
||||
|
||||
int deleteByPrimaryKey(Integer id);
|
||||
|
||||
int insert(SettleOrderReport record);
|
||||
@@ -102,4 +105,13 @@ public interface ISettleOrderReportService {
|
||||
List<SettleOrderReport> queryOrderReport(List<String> stationIdList, String startTime, String endTime);
|
||||
|
||||
Map<String, Object> queryUndividedOrder(SettleOrderReportDTO dto);
|
||||
|
||||
/**
|
||||
* 获取运营商清分账单列表
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
public PageResponse getMerchantClearingBillList(GetClearingBillDTO dto);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.jsowell.pile.service.impl;
|
||||
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.pile.domain.ClearingBillInfo;
|
||||
import com.jsowell.pile.dto.GetClearingBillDTO;
|
||||
import com.jsowell.pile.mapper.ClearingBillInfoMapper;
|
||||
import com.jsowell.pile.service.ClearingBillInfoService;
|
||||
import com.jsowell.pile.vo.web.MerchantClearingBillVO;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -59,4 +61,14 @@ public class ClearingBillInfoServiceImpl implements ClearingBillInfoService{
|
||||
clearingBillInfoMapper.updateStatus(clearingBillIds, billStatus);
|
||||
}
|
||||
|
||||
/**
|
||||
* 后管用 查询运营商账单列表
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<MerchantClearingBillVO> getMerchantClearingBillList(GetClearingBillDTO dto) {
|
||||
return clearingBillInfoMapper.getMerchantClearingBillList(dto);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -12,23 +12,24 @@ import com.jsowell.common.exception.BusinessException;
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
import com.jsowell.common.util.PageUtils;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.pile.domain.ClearingBillInfo;
|
||||
import com.jsowell.pile.domain.SettleOrderReport;
|
||||
import com.jsowell.pile.dto.GetClearingBillDTO;
|
||||
import com.jsowell.pile.dto.MerchantOrderReportDTO;
|
||||
import com.jsowell.pile.dto.SettleOrderReportDTO;
|
||||
import com.jsowell.pile.mapper.AdapayCallbackRecordMapper;
|
||||
import com.jsowell.pile.mapper.SettleOrderReportMapper;
|
||||
import com.jsowell.pile.service.ClearingBillInfoService;
|
||||
import com.jsowell.pile.service.ClearingWithdrawInfoService;
|
||||
import com.jsowell.pile.service.IPileMerchantInfoService;
|
||||
import com.jsowell.pile.service.ISettleOrderReportService;
|
||||
import com.jsowell.pile.vo.web.ClearingBillVO;
|
||||
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
|
||||
import com.jsowell.pile.vo.web.OrderSettleDetailVO;
|
||||
import com.jsowell.pile.vo.web.SettleOrderReportVO;
|
||||
import com.jsowell.pile.vo.web.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -56,6 +57,9 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService {
|
||||
@Autowired
|
||||
private ClearingWithdrawInfoService clearingWithdrawInfoService;
|
||||
|
||||
@Autowired
|
||||
private ClearingBillInfoService clearingBillInfoService;
|
||||
|
||||
/**
|
||||
* 查询结算订单报
|
||||
*
|
||||
@@ -303,6 +307,88 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService {
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据运营商id查询订单报表V2
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public MerchantOrderReportVO getMerchantOrderReportV2(MerchantOrderReportDTO dto) {
|
||||
int pageNum = dto.getPageNum() == null ? 1 : dto.getPageNum();
|
||||
int pageSize = dto.getPageSize() == null ? 10 : dto.getPageSize();
|
||||
if (StringUtils.isBlank(dto.getStartTime())) {
|
||||
dto.setStartTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.addDays(new Date(), -7)));
|
||||
}
|
||||
if (StringUtils.isBlank(dto.getEndTime())) {
|
||||
dto.setEndTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, new Date()));
|
||||
}
|
||||
MerchantOrderReportVO vo = new MerchantOrderReportVO();
|
||||
MerchantOrderReportVO.MerchantOrderReport report = new MerchantOrderReportVO.MerchantOrderReport();
|
||||
PageUtils.startPage(pageNum, pageSize);
|
||||
GetClearingBillDTO clearingBillDTO = GetClearingBillDTO.builder()
|
||||
.merchantId(dto.getMerchantId())
|
||||
.startTime(dto.getStartTime())
|
||||
.endTime(dto.getEndTime())
|
||||
.pageNum(dto.getPageNum())
|
||||
.pageSize(dto.getPageSize())
|
||||
.build();
|
||||
PageResponse pageResponse = getMerchantClearingBillList(clearingBillDTO);
|
||||
vo.setPageResponse(pageResponse);
|
||||
|
||||
vo.setMerchantId(dto.getMerchantId());
|
||||
// 进行数据汇总
|
||||
List<SettleOrderReportVO> list = settleOrderReportMapper.getMerchantOrderReport(dto);
|
||||
// 用电度数
|
||||
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(SettleOrderReportVO::getElectricityAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
// 服务费金额
|
||||
report.setServiceAmount(list.stream().map(SettleOrderReportVO::getServiceAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
// 收入金额
|
||||
report.setTotalAmount(list.stream().map(SettleOrderReportVO::getTotalAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
// 虚拟金额
|
||||
report.setVirtualAmount(list.stream().map(SettleOrderReportVO::getVirtualAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
// 交易金额
|
||||
report.setTradeAmount(list.stream().map(SettleOrderReportVO::getTradeAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
// 交易手续费
|
||||
report.setTradeFee(list.stream().map(SettleOrderReportVO::getTradeFee).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
|
||||
vo.setMerchantOrderReport(report);
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取运营商清分账单列表
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public PageResponse getMerchantClearingBillList(GetClearingBillDTO dto) {
|
||||
List<MerchantClearingBillVO> resultList;
|
||||
int pageNum = dto.getPageNum() == null ? 1 : dto.getPageNum();
|
||||
int pageSize = dto.getPageSize() == null ? 10 : dto.getPageSize();
|
||||
// 分页
|
||||
PageUtils.startPage(pageNum, pageSize);
|
||||
resultList = clearingBillInfoService.getMerchantClearingBillList(dto);
|
||||
if (CollectionUtils.isEmpty(resultList)) {
|
||||
throw new BusinessException("", "获取运营商清分账单列表为空");
|
||||
}
|
||||
PageInfo<MerchantClearingBillVO> pageInfo = new PageInfo<>(resultList);
|
||||
PageResponse response = PageResponse.builder()
|
||||
.pageNum(pageInfo.getPageNum())
|
||||
.pageSize(pageInfo.getPageSize())
|
||||
.list(pageInfo.getList())
|
||||
.total(pageInfo.getTotal())
|
||||
.pages(pageInfo.getPages())
|
||||
.build();
|
||||
return response;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteByPrimaryKey(Integer id) {
|
||||
return settleOrderReportMapper.deleteByPrimaryKey(id);
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.jsowell.pile.vo.web;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 运营商清分账单VO
|
||||
*
|
||||
* @author Lemon
|
||||
* @Date 2023/8/28 13:30
|
||||
*/
|
||||
@Data
|
||||
public class MerchantClearingBillVO {
|
||||
|
||||
// 交易日期
|
||||
private String tradeDate;
|
||||
|
||||
// 账单状态
|
||||
private String billStatus;
|
||||
|
||||
// 清分账单编号
|
||||
private String clearingBillCode;
|
||||
|
||||
// 清分时间
|
||||
private String clearingTime;
|
||||
|
||||
// 运营商id
|
||||
private String merchantId;
|
||||
|
||||
// 运营商名称
|
||||
private String merchantName;
|
||||
|
||||
// 应收金额
|
||||
private String receivableAmount;
|
||||
|
||||
// 应清分金额
|
||||
private String shouldClearingAmount;
|
||||
|
||||
// 实际清分金额
|
||||
private String actualClearingAmount;
|
||||
|
||||
// 手续费
|
||||
private String feeAmount;
|
||||
|
||||
// 可提现金额
|
||||
private String withdrawAbleAmount;
|
||||
|
||||
// 提现单号
|
||||
private String withdrawCode;
|
||||
}
|
||||
@@ -45,5 +45,8 @@ public class MerchantOrderReportVO {
|
||||
|
||||
// 虚拟金额
|
||||
private BigDecimal virtualAmount;
|
||||
|
||||
// 白名单支付次数
|
||||
private BigDecimal whitelistPaymentsNum;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user