mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 11:05:18 +08:00
update
This commit is contained in:
@@ -144,6 +144,8 @@ public interface IOrderBasicInfoService {
|
||||
|
||||
void orderSplittingOperations(String merchantId, String tradeDate);
|
||||
|
||||
void tempOrderSplittingOperations(String merchantId, String tradeDate);
|
||||
|
||||
/**
|
||||
* 执行订单分账
|
||||
* @param orderBasicInfo
|
||||
|
||||
@@ -876,16 +876,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
public void orderSplittingOperations(String merchantId, String tradeDate) {
|
||||
logger.info("运营商:{}, 交易日期:{}, 进行分账处理start", merchantId, tradeDate);
|
||||
|
||||
AdapayMemberAccount adapayMemberAccount = new AdapayMemberAccount();
|
||||
adapayMemberAccount.setAdapayMemberId("0");
|
||||
|
||||
// 查询运营商有没有开通结算账户
|
||||
// AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(merchantId);
|
||||
// if (adapayMemberAccount == null) {
|
||||
// logger.error("订单分账逻辑error, 运营商id:{}, 未配置结算账户", merchantId);
|
||||
// // throw new BusinessException(ReturnCodeEnum.CODE_ADAPAY_MEMBER_IS_NULL_ERROR);
|
||||
// return;
|
||||
// }
|
||||
AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(merchantId);
|
||||
if (adapayMemberAccount == null) {
|
||||
logger.error("订单分账逻辑error, 运营商id:{}, 未配置结算账户", merchantId);
|
||||
return;
|
||||
}
|
||||
|
||||
// 根据交易日期查询运营商下面所有站点的交易日报
|
||||
List<SettleOrderReport> stationReportList = settleOrderReportService.selectByMerchantIdAndDate(merchantId, tradeDate);
|
||||
@@ -902,12 +898,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
}
|
||||
|
||||
// 设置挡板,8月1号之后的订单按照实际进行分账
|
||||
// LocalDateTime now = LocalDateTime.now();
|
||||
// LocalDateTime dateTime = LocalDateTime.of(2023, 8, 2, 0, 0, 0);
|
||||
// if (now.isBefore(dateTime)) {
|
||||
// logger.info("当前时间:{}早于:{}, 此订单不进行分账处理, 订单信息:{}", DateUtils.formatDateTime(now), DateUtils.formatDateTime(dateTime), JSON.toJSONString(orderBasicInfos));
|
||||
// return;
|
||||
// }
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
LocalDateTime dateTime = LocalDateTime.of(2023, 8, 2, 0, 0, 0);
|
||||
if (now.isBefore(dateTime)) {
|
||||
logger.info("当前时间:{}早于:{}, 此订单不进行分账处理, 订单信息:{}", DateUtils.formatDateTime(now), DateUtils.formatDateTime(dateTime), JSON.toJSONString(orderBasicInfos));
|
||||
return;
|
||||
}
|
||||
|
||||
// 清分账单信息
|
||||
ClearingBillInfo clearingBillInfo = new ClearingBillInfo();
|
||||
@@ -982,6 +978,104 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
logger.info("运营商:{}, 交易日期:{}, 进行分账处理end", merchantId, tradeDate);
|
||||
}
|
||||
|
||||
/**
|
||||
* 手动接口执行订单分账逻辑
|
||||
* 8月1号之前的交易,全部结算到本商户
|
||||
*/
|
||||
@Override
|
||||
public void tempOrderSplittingOperations(String merchantId, String tradeDate) {
|
||||
logger.info("运营商:{}, 交易日期:{}, 进行分账处理start", merchantId, tradeDate);
|
||||
|
||||
AdapayMemberAccount adapayMemberAccount = new AdapayMemberAccount();
|
||||
adapayMemberAccount.setAdapayMemberId("0");
|
||||
|
||||
// 根据交易日期查询运营商下面所有站点的交易日报
|
||||
List<SettleOrderReport> stationReportList = settleOrderReportService.selectByMerchantIdAndDate(merchantId, tradeDate);
|
||||
for (SettleOrderReport orderReport : stationReportList) {
|
||||
String orderCodes = orderReport.getOrderCodes();
|
||||
if (StringUtils.isBlank(orderCodes)) {
|
||||
logger.info("站点:{}, 日期:{}, 没有查到订单数据", orderReport.getStationId(), tradeDate);
|
||||
continue;
|
||||
}
|
||||
List<String> orderCodeList = Lists.newArrayList(StringUtils.split(orderCodes, ","));
|
||||
List<OrderBasicInfo> orderBasicInfos = queryOrderList(orderCodeList);
|
||||
if (CollectionUtils.isEmpty(orderBasicInfos)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 清分账单信息
|
||||
// ClearingBillInfo clearingBillInfo = new ClearingBillInfo();
|
||||
// clearingBillInfo.setBillStatus("1");
|
||||
// String clearingBillCode = "CLE" + IdUtils.getOrderCode();
|
||||
// clearingBillInfo.setClearingBillCode(clearingBillCode);
|
||||
// clearingBillInfo.setClearingTime(DateUtils.getNowDate());
|
||||
// clearingBillInfo.setMerchantId(merchantId);
|
||||
// clearingBillInfo.setOrderSource("1");
|
||||
|
||||
// 应收金额
|
||||
BigDecimal receivableAmount = BigDecimal.ZERO;
|
||||
// 应清分金额
|
||||
BigDecimal shouldClearingAmount = BigDecimal.ZERO;
|
||||
// 实际清分金额
|
||||
BigDecimal actualClearingAmount = BigDecimal.ZERO;
|
||||
// 手续费金额
|
||||
BigDecimal feeAmount = BigDecimal.ZERO;
|
||||
// 可提现金额
|
||||
BigDecimal withdrawableAmount = BigDecimal.ZERO;
|
||||
|
||||
// 清分账单详情列表
|
||||
List<ClearingBillDetail> billDetailList = Lists.newArrayList();
|
||||
// 执行分账
|
||||
for (OrderBasicInfo orderBasicInfo : orderBasicInfos) {
|
||||
try {
|
||||
PaymentConfirmResponse paymentConfirmResponse = doPaymentConfirm(orderBasicInfo, adapayMemberAccount);
|
||||
if (paymentConfirmResponse != null && AdapayStatusEnum.SUCCEEDED.getValue().equals(paymentConfirmResponse.getStatus())) {
|
||||
JSONObject jsonObject = JSON.parseObject(paymentConfirmResponse.getDescription());
|
||||
String orderCode = (String) jsonObject.get("orderCode");
|
||||
|
||||
// 应收金额 = 订单结算金额汇总
|
||||
// receivableAmount = receivableAmount.add(orderBasicInfo.getSettleAmount());
|
||||
// // 应清分金额 = 订单产生的电费+服务费实际消费 汇总
|
||||
// shouldClearingAmount = shouldClearingAmount.add(orderBasicInfo.getSettleAmount());
|
||||
// // 实际清分金额 = 汇付清分接口返回的清分金额
|
||||
// actualClearingAmount = actualClearingAmount.add(new BigDecimal(paymentConfirmResponse.getConfirm_amt()));
|
||||
// // 手续费金额 = 汇付清分接口返回的手续费金额
|
||||
// feeAmount = feeAmount.add(new BigDecimal(paymentConfirmResponse.getFee_amt()));
|
||||
// // 可提现金额 = 实际清分金额 - 手续费金额
|
||||
// withdrawableAmount = withdrawableAmount
|
||||
// .add(new BigDecimal(paymentConfirmResponse.getConfirm_amt()))
|
||||
// .subtract(new BigDecimal(paymentConfirmResponse.getFee_amt()));
|
||||
|
||||
// ClearingBillDetail clearingBillDetail = ClearingBillDetail.builder()
|
||||
// .clearingBillCode(clearingBillCode)
|
||||
// .orderCode(orderCode)
|
||||
// .createTime(DateUtils.getNowDate())
|
||||
// .delFlag(DelFlagEnum.NORMAL.getValue())
|
||||
// .build();
|
||||
// billDetailList.add(clearingBillDetail);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("订单交易确认失败:{}", orderBasicInfo.getOrderCode(), e);
|
||||
}
|
||||
}
|
||||
|
||||
// clearingBillInfo.setReceivableAmount(receivableAmount);
|
||||
// clearingBillInfo.setShouldClearingAmount(shouldClearingAmount);
|
||||
// clearingBillInfo.setFeeAmount(feeAmount);
|
||||
// clearingBillInfo.setWithdrawableAmount(withdrawableAmount);
|
||||
// clearingBillInfo.setActualClearingAmount(actualClearingAmount);
|
||||
// clearingBillInfo.setCreateTime(DateUtils.getNowDate());
|
||||
// clearingBillInfo.setDelFlag(DelFlagEnum.NORMAL.getValue());
|
||||
|
||||
// 保存清分账单
|
||||
// ClearingBillTransactionDTO dto = new ClearingBillTransactionDTO();
|
||||
// dto.setClearingBillInfo(clearingBillInfo);
|
||||
// dto.setBillDetailList(billDetailList);
|
||||
// transactionService.createClearingBill(dto);
|
||||
}
|
||||
logger.info("运营商:{}, 交易日期:{}, 进行分账处理end", merchantId, tradeDate);
|
||||
}
|
||||
|
||||
/**
|
||||
* 交易确认
|
||||
* @param orderBasicInfo 订单
|
||||
|
||||
Reference in New Issue
Block a user