查询时间段内的订单分账记录

This commit is contained in:
Guoqs
2025-01-17 16:40:33 +08:00
parent 2785d91b4f
commit 1683ccd968
6 changed files with 80 additions and 67 deletions

View File

@@ -99,6 +99,11 @@ public class OrderSplitRecord {
*/
private BigDecimal serviceSplitAmount;
/**
* 手续费(只能有一方承担手续费)
*/
private BigDecimal feeAmount;
/**
* 备注
*/

View File

@@ -25,7 +25,7 @@ public interface OrderSplitRecordMapper {
List<OrderSplitRecord> selectByOrderCode(String orderCode);
List<OrderSplitRecord> queryOrderSplitDataList(@Param("merchantId") String merchantId,
@Param("stationId") String stationId,
@Param("startTime") String startTime,
@Param("endTime") String endTime);
@Param("stationId") String stationId,
@Param("startTime") String startTime,
@Param("endTime") String endTime);
}

View File

@@ -2,6 +2,7 @@ package com.jsowell.pile.service;
import com.jsowell.adapay.dto.PaymentConfirmParam;
import com.jsowell.adapay.dto.SplitData;
import com.jsowell.adapay.response.PaymentConfirmResponse;
import com.jsowell.pile.domain.OrderSplitRecord;
import com.jsowell.pile.vo.OrderInfoDetailVO;
import com.jsowell.pile.vo.web.OrderSplitDailySummaryData;
@@ -27,6 +28,7 @@ public interface OrderSplitRecordService {
/**
* 批量保存订单分账记录
*
* @param list
* @return
*/
@@ -35,16 +37,17 @@ public interface OrderSplitRecordService {
/**
* 保存订单分账记录
*/
void saveOrderSplitRecord(PaymentConfirmParam param, String id, List<SplitData> stationSplitConfigList, OrderInfoDetailVO orderInfoDetailVO);
void saveOrderSplitRecord(PaymentConfirmParam param, PaymentConfirmResponse response, List<SplitData> stationSplitConfigList, OrderInfoDetailVO orderInfoDetailVO);
List<OrderSplitRecordVO> selectByOrderCode(String orderCode);
/**
* 根据入参拉出时间段内所有订单的分账记录
*
* @param merchantId 运营商id
* @param stationId 站点id
* @param startTime 开始时间
* @param endTime 结束时间
* @param stationId 站点id
* @param startTime 开始时间
* @param endTime 结束时间
* @return
*/
List<OrderSplitRecord> queryOrderSplitRecordList(String merchantId, String stationId, String startTime, String endTime);

View File

@@ -1708,7 +1708,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
.build();
splitDataList.add(splitData);
OrderInfoDetailVO orderInfoDetailVO = getOrderInfoDetailVO(orderBasicInfo, orderDetail);
orderSplitRecordService.saveOrderSplitRecord(param, paymentConfirmResponse.getId(), splitDataList, orderInfoDetailVO);
orderSplitRecordService.saveOrderSplitRecord(param, paymentConfirmResponse, splitDataList, orderInfoDetailVO);
}
}
return result;
@@ -1879,7 +1879,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
PaymentConfirmResponse paymentConfirmRequest = adapayService.createPaymentConfirmRequest(param);
// 保存订单分账记录
OrderInfoDetailVO orderInfoDetailVO = getOrderInfoDetailVO(orderCode);
orderSplitRecordService.saveOrderSplitRecord(param, paymentConfirmRequest.getId(), splitDataList, orderInfoDetailVO);
orderSplitRecordService.saveOrderSplitRecord(param, paymentConfirmRequest, splitDataList, orderInfoDetailVO);
return paymentConfirmRequest;
}

View File

@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.jsowell.adapay.dto.PaymentConfirmParam;
import com.jsowell.adapay.dto.SplitData;
import com.jsowell.adapay.response.PaymentConfirmResponse;
import com.jsowell.common.constant.Constants;
import com.jsowell.common.enums.DelFlagEnum;
import com.jsowell.common.enums.adapay.AdapayStatusEnum;
@@ -38,66 +39,33 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
@Autowired
private AdapayMemberAccountService adapayMemberAccountService;
// @Override
// public int deleteByPrimaryKey(Integer id) {
// return orderSplitRecordMapper.deleteByPrimaryKey(id);
// }
// @Override
// public int insertOrUpdate(OrderSplitRecord record) {
// return orderSplitRecordMapper.insertOrUpdate(record);
// }
// @Override
// public int insertOrUpdateSelective(OrderSplitRecord record) {
// return orderSplitRecordMapper.insertOrUpdateSelective(record);
// }
// @Override
// public int insertSelective(OrderSplitRecord record) {
// return orderSplitRecordMapper.insertSelective(record);
// }
// @Override
// public OrderSplitRecord selectByPrimaryKey(Integer id) {
// return orderSplitRecordMapper.selectByPrimaryKey(id);
// }
// @Override
// public int updateByPrimaryKeySelective(OrderSplitRecord record) {
// return orderSplitRecordMapper.updateByPrimaryKeySelective(record);
// }
// @Override
// public int updateBatchSelective(List<OrderSplitRecord> list) {
// return orderSplitRecordMapper.updateBatchSelective(list);
// }
@Override
public int batchInsert(List<OrderSplitRecord> list) {
return orderSplitRecordMapper.batchInsert(list);
}
@Override
public void saveOrderSplitRecord(PaymentConfirmParam param, String paymentConfirmId, List<SplitData> splitDataList, OrderInfoDetailVO orderInfoDetailVO) {
List<OrderSplitRecord> list = Lists.newArrayList();
String orderCode = param.getOrderCode();
BigDecimal settleAmount = param.getConfirmAmt();
String paymentId = param.getPaymentId();
public void saveOrderSplitRecord(PaymentConfirmParam param, PaymentConfirmResponse response, List<SplitData> splitDataList, OrderInfoDetailVO orderInfoDetailVO) {
// 判断入参
if (param == null || response == null || CollectionUtils.isEmpty(param.getDivMemberList()) || orderInfoDetailVO == null) {
return;
}
String paymentConfirmId = response.getId(); // 支付确认id
String feeAmt = response.getFee_amt(); // 手续费
String orderCode = param.getOrderCode(); // 订单号
BigDecimal settleAmount = param.getConfirmAmt(); // 结算金额
String paymentId = param.getPaymentId(); // 支付id
List<OrderSplitRecord> list = Lists.newArrayList(); // 订单分账记录集合
for (SplitData splitData : splitDataList) {
OrderSplitRecord orderSplitRecord = new OrderSplitRecord();
orderSplitRecord.setOrderCode(orderCode);
orderSplitRecord.setStatus(AdapayStatusEnum.SUCCEEDED.getValue());
orderSplitRecord.setSettleAmount(settleAmount);
orderSplitRecord.setTradeDate(DateUtils.getDate()); // 订单结算日期 yyyy-MM-dd
if (orderInfoDetailVO != null) {
orderSplitRecord.setMerchantId(orderInfoDetailVO.getMerchantId());
orderSplitRecord.setStationId(orderInfoDetailVO.getStationId());
orderSplitRecord.setElectricityAmount(orderInfoDetailVO.getTotalElectricityAmount());
orderSplitRecord.setServiceAmount(orderInfoDetailVO.getTotalServiceAmount());
}
orderSplitRecord.setMerchantId(orderInfoDetailVO.getMerchantId());
orderSplitRecord.setStationId(orderInfoDetailVO.getStationId());
orderSplitRecord.setElectricityAmount(orderInfoDetailVO.getTotalElectricityAmount());
orderSplitRecord.setServiceAmount(orderInfoDetailVO.getTotalServiceAmount());
orderSplitRecord.setAdapayMemberId(splitData.getMemberId());
orderSplitRecord.setPaymentId(paymentId);
orderSplitRecord.setPaymentConfirmId(paymentConfirmId);
@@ -109,6 +77,12 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
orderSplitRecord.setDelFlag(DelFlagEnum.NORMAL.getValue());
orderSplitRecord.setCreateBy(Constants.SYSTEM);
orderSplitRecord.setCreateTime(DateUtils.getNowDate());
// 如果是手续费承担方, 保存feeAmt, 否则保存0
if (StringUtils.equals(splitData.getFeeFlag(), Constants.Y)) {
orderSplitRecord.setFeeAmount(new BigDecimal(feeAmt));
} else {
orderSplitRecord.setFeeAmount(BigDecimal.ZERO);
}
list.add(orderSplitRecord);
}
this.batchInsert(list);
@@ -144,10 +118,11 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
/**
* 根据入参拉出时间段内所有订单的分账记录
*
* @param merchantId 运营商id
* @param stationId 站点id
* @param startTime 开始时间
* @param endTime 结束时间
* @param stationId 站点id
* @param startTime 开始时间
* @param endTime 结束时间
* @return
*/
@Override
@@ -254,3 +229,4 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
}