mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-17 16:28:41 +08:00
update 定时分账的订单保存分账信息
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
package com.jsowell.adapay.dto;
|
package com.jsowell.adapay.dto;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
@@ -8,6 +11,9 @@ import java.math.BigDecimal;
|
|||||||
* 订单分账数据
|
* 订单分账数据
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
public class SplitData {
|
public class SplitData {
|
||||||
// 分账用户 Member对象 的 id;若是商户本身时,传入0
|
// 分账用户 Member对象 的 id;若是商户本身时,传入0
|
||||||
private String memberId;
|
private String memberId;
|
||||||
|
|||||||
@@ -1236,13 +1236,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
for (OrderBasicInfo orderBasicInfo : orderBasicInfos) {
|
for (OrderBasicInfo orderBasicInfo : orderBasicInfos) {
|
||||||
try {
|
try {
|
||||||
OrderSplitResult orderSettleResult = getOrderSplitResult(orderBasicInfo, adapayMemberAccount, appId);
|
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()
|
ClearingBillDetail clearingBillDetail = ClearingBillDetail.builder()
|
||||||
.clearingBillCode(clearingBillCode)
|
.clearingBillCode(clearingBillCode)
|
||||||
@@ -1586,9 +1580,21 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
|
|
||||||
// 校验订单是否分账 状态为非交易完成的时候,进行分账处理
|
// 校验订单是否分账 状态为非交易完成的时候,进行分账处理
|
||||||
if (!AdapayStatusEnum.SUCCEEDED.getValue().equals(result.getStatus())) {
|
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,
|
PaymentConfirmResponse paymentConfirmResponse = adapayService.createPaymentConfirmRequest(param);
|
||||||
adapayMemberAccount, settleAmount, orderCode, wechatAppId);
|
// PaymentConfirmResponse paymentConfirmResponse = adapayService.createPaymentConfirmRequest(paymentId,
|
||||||
|
// adapayMemberAccount, settleAmount, orderCode, wechatAppId);
|
||||||
|
|
||||||
// 分账接口返回的信息
|
// 分账接口返回的信息
|
||||||
result = new OrderSplitResult();
|
result = new OrderSplitResult();
|
||||||
@@ -1597,6 +1603,24 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
result.setFeeAmt(paymentConfirmResponse.getFee_amt());
|
result.setFeeAmt(paymentConfirmResponse.getFee_amt());
|
||||||
result.setOrderCode(orderCode);
|
result.setOrderCode(orderCode);
|
||||||
result.setSettleAmt(settleAmount.toString());
|
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;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user