mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-29 23:50:00 +08:00
生成运营商日报表
This commit is contained in:
@@ -27,11 +27,6 @@ public class ClearingBillInfoServiceImpl implements ClearingBillInfoService {
|
||||
return clearingBillInfoMapper.deleteByPrimaryKey(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insert(ClearingBillInfo record) {
|
||||
return clearingBillInfoMapper.insert(record);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertSelective(ClearingBillInfo record) {
|
||||
return clearingBillInfoMapper.insertSelective(record);
|
||||
@@ -47,11 +42,6 @@ public class ClearingBillInfoServiceImpl implements ClearingBillInfoService {
|
||||
return clearingBillInfoMapper.updateByPrimaryKeySelective(record);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateByPrimaryKey(ClearingBillInfo record) {
|
||||
return clearingBillInfoMapper.updateByPrimaryKey(record);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ClearingBillInfo> selectByMerchantId(String merchantId, String billStatus) {
|
||||
return clearingBillInfoMapper.selectByMerchantId(merchantId, billStatus, null);
|
||||
@@ -91,11 +81,6 @@ public class ClearingBillInfoServiceImpl implements ClearingBillInfoService {
|
||||
return clearingBillInfoMapper.insertOrUpdateSelective(record);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateBatch(List<ClearingBillInfo> list) {
|
||||
return clearingBillInfoMapper.updateBatch(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateBatchSelective(List<ClearingBillInfo> list) {
|
||||
return clearingBillInfoMapper.updateBatchSelective(list);
|
||||
|
||||
@@ -1435,6 +1435,9 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
return;
|
||||
}
|
||||
|
||||
// 查询运营商的汇付id
|
||||
String adapayMemberId = adapayMemberAccountService.selectAdapayMemberIdByMerchantId(merchantId);
|
||||
|
||||
// 从stationReportList中去除orderCodes并根据逗号切割组成List<String> orderCodeList
|
||||
List<String> orderCodeList = stationReportList.stream()
|
||||
.map(SettleOrderReport::getOrderCodes)
|
||||
@@ -1449,19 +1452,24 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
ClearingBillInfo clearingBillInfo = new ClearingBillInfo();
|
||||
String clearingBillCode = "CLE" + IdUtils.getOrderCode();
|
||||
if (queryBillInfo != null) {
|
||||
// 清分账单则更新清分账单信息
|
||||
clearingBillInfo.setId(queryBillInfo.getId());
|
||||
clearingBillCode = queryBillInfo.getClearingBillCode();
|
||||
}
|
||||
clearingBillInfo.setBillStatus("1");
|
||||
clearingBillInfo.setBillStatus("2");
|
||||
clearingBillInfo.setTradeDate(tradeDate);
|
||||
clearingBillInfo.setClearingBillCode(clearingBillCode);
|
||||
clearingBillInfo.setClearingTime(DateUtils.getNowDate());
|
||||
clearingBillInfo.setMerchantId(merchantId);
|
||||
clearingBillInfo.setOrderSource("1");
|
||||
clearingBillInfo.setOrderSource(Constants.ONE); // 订单来源(1-有电充平台)
|
||||
clearingBillInfo.setDelFlag(DelFlagEnum.NORMAL.getValue());
|
||||
|
||||
// 应收金额
|
||||
BigDecimal receivableAmount = BigDecimal.ZERO;
|
||||
// 结算金额
|
||||
BigDecimal settleAmount = BigDecimal.ZERO;
|
||||
// 应清分金额
|
||||
BigDecimal shouldClearingAmount = BigDecimal.ZERO;
|
||||
// 应收金额
|
||||
BigDecimal receivableAmount = BigDecimal.ZERO;
|
||||
// 实际清分金额
|
||||
BigDecimal actualClearingAmount = BigDecimal.ZERO;
|
||||
// 手续费金额
|
||||
@@ -1471,25 +1479,47 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
|
||||
// 清分账单详情列表
|
||||
List<ClearingBillDetail> billDetailList = Lists.newArrayList();
|
||||
|
||||
// 统计订单数据
|
||||
for (String orderCode : orderCodeList) {
|
||||
for (Map.Entry<String, List<OrderSplitRecord>> entry : orderSplitRecordMap.entrySet()) {
|
||||
List<OrderSplitRecord> value = entry.getValue();
|
||||
if (CollectionUtils.isNotEmpty(value)) {
|
||||
|
||||
List<OrderSplitRecord> value = orderSplitRecordMap.get(orderCode); // 该订单的分账记录
|
||||
if (CollectionUtils.isEmpty(value)) {
|
||||
logger.info("订单号:{},未查询到订单分账信息continue", orderCode);
|
||||
continue;
|
||||
}
|
||||
for (int i = 0; i < value.size(); i++) {
|
||||
OrderSplitRecord orderSplitRecord = value.get(i);
|
||||
if (i == 0) {
|
||||
// 结算金额只统计一次
|
||||
settleAmount = settleAmount.add(orderSplitRecord.getSettleAmount());
|
||||
shouldClearingAmount = shouldClearingAmount.add(orderSplitRecord.getSettleAmount());
|
||||
}
|
||||
if (StringUtils.equals(adapayMemberId, orderSplitRecord.getAdapayMemberId())) {
|
||||
// 应收 = 电费 + 服务费
|
||||
BigDecimal receivable = orderSplitRecord.getElectricitySplitAmount().add(orderSplitRecord.getServiceSplitAmount());
|
||||
receivableAmount = receivableAmount.add(receivable);
|
||||
// 手续费
|
||||
BigDecimal fee = orderSplitRecord.getFeeAmount();
|
||||
feeAmount = feeAmount.add(fee);
|
||||
// 实际清分金额
|
||||
BigDecimal actualClearing = receivable.subtract(fee);
|
||||
actualClearingAmount = actualClearingAmount.add(actualClearing);
|
||||
withdrawableAmount = withdrawableAmount.add(actualClearing);
|
||||
}
|
||||
// 记录详情
|
||||
ClearingBillDetail clearingBillDetail = ClearingBillDetail.builder()
|
||||
.clearingBillCode(clearingBillCode)
|
||||
.orderCode(orderCode)
|
||||
.createTime(DateUtils.getNowDate())
|
||||
.delFlag(DelFlagEnum.NORMAL.getValue())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
clearingBillInfo.setBillStatus("2");
|
||||
clearingBillInfo.setTradeDate(tradeDate);
|
||||
clearingBillInfo.setReceivableAmount(receivableAmount);
|
||||
clearingBillInfo.setShouldClearingAmount(shouldClearingAmount);
|
||||
clearingBillInfo.setFeeAmount(feeAmount);
|
||||
clearingBillInfo.setWithdrawableAmount(withdrawableAmount);
|
||||
clearingBillInfo.setActualClearingAmount(actualClearingAmount);
|
||||
clearingBillInfo.setDelFlag(DelFlagEnum.NORMAL.getValue());
|
||||
clearingBillInfo.setSettleAmount(settleAmount);
|
||||
clearingBillInfo.setShouldClearingAmount(shouldClearingAmount); // 应清分金额
|
||||
clearingBillInfo.setReceivableAmount(receivableAmount); // 应收金额
|
||||
clearingBillInfo.setFeeAmount(feeAmount); // 手续费
|
||||
clearingBillInfo.setActualClearingAmount(actualClearingAmount); // 实际清分金额
|
||||
clearingBillInfo.setWithdrawableAmount(withdrawableAmount); // 可提现金额
|
||||
|
||||
// 保存清分账单
|
||||
ClearingBillTransactionDTO dto = new ClearingBillTransactionDTO();
|
||||
|
||||
Reference in New Issue
Block a user