mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-19 18:45:03 +08:00
update 定时分账的订单保存分账信息
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
package com.jsowell.adapay.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@@ -8,6 +11,9 @@ import java.math.BigDecimal;
|
||||
* 订单分账数据
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class SplitData {
|
||||
// 分账用户 Member对象 的 id;若是商户本身时,传入0
|
||||
private String memberId;
|
||||
|
||||
@@ -1236,13 +1236,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
for (OrderBasicInfo orderBasicInfo : orderBasicInfos) {
|
||||
try {
|
||||
OrderSplitResult orderSettleResult = getOrderSplitResult(orderBasicInfo, adapayMemberAccount, appId);
|
||||
// if (OrderPayModeEnum.PAYMENT_OF_PRINCIPAL_BALANCE.getValue().equals(orderBasicInfo.getPayMode())) {
|
||||
// // 余额支付的订单
|
||||
// orderSettleResult = doBalancePaymentWithDelay(orderBasicInfo, adapayMemberAccount, appId);
|
||||
// } else {
|
||||
// // 在线支付,进行支付确认分账
|
||||
// orderSettleResult = doPaymentConfirmWithDelay(orderBasicInfo, adapayMemberAccount, appId);
|
||||
// }
|
||||
|
||||
// 记录详情
|
||||
ClearingBillDetail clearingBillDetail = ClearingBillDetail.builder()
|
||||
.clearingBillCode(clearingBillCode)
|
||||
@@ -1586,9 +1580,21 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
|
||||
// 校验订单是否分账 状态为非交易完成的时候,进行分账处理
|
||||
if (!AdapayStatusEnum.SUCCEEDED.getValue().equals(result.getStatus())) {
|
||||
DivMember divMember = new DivMember();
|
||||
divMember.setMemberId(adapayMemberAccount.getAdapayMemberId());
|
||||
divMember.setAmount(AdapayUtil.formatAmount(settleAmount));
|
||||
divMember.setFeeFlag(Constants.Y);
|
||||
PaymentConfirmParam param = PaymentConfirmParam.builder()
|
||||
.paymentId(paymentId)
|
||||
.divMemberList(Lists.newArrayList(divMember))
|
||||
.confirmAmt(settleAmount)
|
||||
.orderCode(orderCode)
|
||||
.wechatAppId(wechatAppId)
|
||||
.build();
|
||||
// 调汇付的分账接口 确认交易
|
||||
PaymentConfirmResponse paymentConfirmResponse = adapayService.createPaymentConfirmRequest(paymentId,
|
||||
adapayMemberAccount, settleAmount, orderCode, wechatAppId);
|
||||
PaymentConfirmResponse paymentConfirmResponse = adapayService.createPaymentConfirmRequest(param);
|
||||
// PaymentConfirmResponse paymentConfirmResponse = adapayService.createPaymentConfirmRequest(paymentId,
|
||||
// adapayMemberAccount, settleAmount, orderCode, wechatAppId);
|
||||
|
||||
// 分账接口返回的信息
|
||||
result = new OrderSplitResult();
|
||||
@@ -1597,6 +1603,24 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
result.setFeeAmt(paymentConfirmResponse.getFee_amt());
|
||||
result.setOrderCode(orderCode);
|
||||
result.setSettleAmt(settleAmount.toString());
|
||||
|
||||
// 保存订单分账数据
|
||||
OrderDetail orderDetail = this.getOrderDetailByOrderCode(orderCode);
|
||||
if (orderDetail != null) {
|
||||
List<SplitData> splitDataList = Lists.newArrayList();
|
||||
SplitData splitData = SplitData.builder()
|
||||
.memberId(adapayMemberAccount.getAdapayMemberId())
|
||||
.amount(settleAmount.toString())
|
||||
.feeFlag(Constants.Y)
|
||||
.appId(wechatAppId)
|
||||
.elecRatio(new BigDecimal(100))
|
||||
.elecAmount(orderDetail.getTotalElectricityAmount())
|
||||
.serviceRatio(new BigDecimal(100))
|
||||
.serviceAmount(orderDetail.getTotalServiceAmount())
|
||||
.build();
|
||||
splitDataList.add(splitData);
|
||||
orderSplitRecordService.saveOrderSplitRecord(param, paymentConfirmResponse.getId(), splitDataList);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user