mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-13 03:39:55 +08:00
update
This commit is contained in:
@@ -144,6 +144,8 @@ public interface IOrderBasicInfoService {
|
|||||||
|
|
||||||
void orderSplittingOperations(String merchantId, String tradeDate);
|
void orderSplittingOperations(String merchantId, String tradeDate);
|
||||||
|
|
||||||
|
void tempOrderSplittingOperations(String merchantId, String tradeDate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 执行订单分账
|
* 执行订单分账
|
||||||
* @param orderBasicInfo
|
* @param orderBasicInfo
|
||||||
|
|||||||
@@ -876,16 +876,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
public void orderSplittingOperations(String merchantId, String tradeDate) {
|
public void orderSplittingOperations(String merchantId, String tradeDate) {
|
||||||
logger.info("运营商:{}, 交易日期:{}, 进行分账处理start", merchantId, tradeDate);
|
logger.info("运营商:{}, 交易日期:{}, 进行分账处理start", merchantId, tradeDate);
|
||||||
|
|
||||||
AdapayMemberAccount adapayMemberAccount = new AdapayMemberAccount();
|
|
||||||
adapayMemberAccount.setAdapayMemberId("0");
|
|
||||||
|
|
||||||
// 查询运营商有没有开通结算账户
|
// 查询运营商有没有开通结算账户
|
||||||
// AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(merchantId);
|
AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(merchantId);
|
||||||
// if (adapayMemberAccount == null) {
|
if (adapayMemberAccount == null) {
|
||||||
// logger.error("订单分账逻辑error, 运营商id:{}, 未配置结算账户", merchantId);
|
logger.error("订单分账逻辑error, 运营商id:{}, 未配置结算账户", merchantId);
|
||||||
// // throw new BusinessException(ReturnCodeEnum.CODE_ADAPAY_MEMBER_IS_NULL_ERROR);
|
return;
|
||||||
// return;
|
}
|
||||||
// }
|
|
||||||
|
|
||||||
// 根据交易日期查询运营商下面所有站点的交易日报
|
// 根据交易日期查询运营商下面所有站点的交易日报
|
||||||
List<SettleOrderReport> stationReportList = settleOrderReportService.selectByMerchantIdAndDate(merchantId, tradeDate);
|
List<SettleOrderReport> stationReportList = settleOrderReportService.selectByMerchantIdAndDate(merchantId, tradeDate);
|
||||||
@@ -902,12 +898,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 设置挡板,8月1号之后的订单按照实际进行分账
|
// 设置挡板,8月1号之后的订单按照实际进行分账
|
||||||
// LocalDateTime now = LocalDateTime.now();
|
LocalDateTime now = LocalDateTime.now();
|
||||||
// LocalDateTime dateTime = LocalDateTime.of(2023, 8, 2, 0, 0, 0);
|
LocalDateTime dateTime = LocalDateTime.of(2023, 8, 2, 0, 0, 0);
|
||||||
// if (now.isBefore(dateTime)) {
|
if (now.isBefore(dateTime)) {
|
||||||
// logger.info("当前时间:{}早于:{}, 此订单不进行分账处理, 订单信息:{}", DateUtils.formatDateTime(now), DateUtils.formatDateTime(dateTime), JSON.toJSONString(orderBasicInfos));
|
logger.info("当前时间:{}早于:{}, 此订单不进行分账处理, 订单信息:{}", DateUtils.formatDateTime(now), DateUtils.formatDateTime(dateTime), JSON.toJSONString(orderBasicInfos));
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
|
|
||||||
// 清分账单信息
|
// 清分账单信息
|
||||||
ClearingBillInfo clearingBillInfo = new ClearingBillInfo();
|
ClearingBillInfo clearingBillInfo = new ClearingBillInfo();
|
||||||
@@ -982,6 +978,104 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
logger.info("运营商:{}, 交易日期:{}, 进行分账处理end", merchantId, tradeDate);
|
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 订单
|
* @param orderBasicInfo 订单
|
||||||
|
|||||||
@@ -171,8 +171,7 @@ public class JsowellTask {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 获取日期
|
// 获取日期
|
||||||
// LocalDate yesterday = LocalDate.now().plusDays(-1);
|
LocalDate yesterday = LocalDate.now().plusDays(-1);
|
||||||
LocalDate yesterday = LocalDate.of(2023, 7, 8);
|
|
||||||
// 调分账方法
|
// 调分账方法
|
||||||
pileMerchantInfos.parallelStream().forEach(merchant -> {
|
pileMerchantInfos.parallelStream().forEach(merchant -> {
|
||||||
orderBasicInfoService.orderSplittingOperations(merchant.getId()+"", yesterday.toString());
|
orderBasicInfoService.orderSplittingOperations(merchant.getId()+"", yesterday.toString());
|
||||||
|
|||||||
Reference in New Issue
Block a user