This commit is contained in:
Lemon
2023-10-27 16:50:38 +08:00
4 changed files with 21 additions and 16 deletions

View File

@@ -669,13 +669,16 @@ public class SpringBootTestController {
System.out.println("=================已分账:" + JSON.toJSONString(successList));
}
/**
* 测试分账
*/
@Test
public void test() {
String paymentId = "002212023091113071210547174455434940416";
String paymentId = "002212023102616240210563531446717337600";
AdapayMemberAccount adapayMemberAccount = new AdapayMemberAccount();
adapayMemberAccount.setAdapayMemberId("ACM69460507");
BigDecimal deductionAmount = new BigDecimal("19.9");
String orderCode = "C88200971107";
adapayMemberAccount.setAdapayMemberId("ACM25158725");
BigDecimal deductionAmount = new BigDecimal("12.14");
String orderCode = "C63381533584";
String wechatAppId = "wxbb3e0d474569481d";
// 延时分账使用确认交易API
PaymentConfirmResponse paymentConfirmResponse = adapayService.createPaymentConfirmRequest(paymentId,

View File

@@ -24,7 +24,6 @@ public class SMSUtil {
SMSUtil.redisCache = redisCache;
}
// 短信应用SDK AppKey
private static final String APP_KEY = "8ebcf52de98416814b440891350cd594";

View File

@@ -1218,11 +1218,16 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
// 在线支付,进行支付确认分账
orderSettleResult = doPaymentConfirmWithDelay(orderBasicInfo, adapayMemberAccount, appId);
}
// 记录详情
ClearingBillDetail clearingBillDetail = ClearingBillDetail.builder()
.clearingBillCode(clearingBillCode)
.orderCode(orderBasicInfo.getOrderCode())
.createTime(DateUtils.getNowDate())
.delFlag(DelFlagEnum.NORMAL.getValue())
.build();
if (orderSettleResult != null && AdapayStatusEnum.SUCCEEDED.getValue().equals(orderSettleResult.getStatus())) {
BigDecimal confirmAmt = new BigDecimal(orderSettleResult.getConfirmAmt());
BigDecimal feeAmt = new BigDecimal(orderSettleResult.getFeeAmt());
// 应收金额 = 订单结算金额汇总
receivableAmount = receivableAmount.add(orderBasicInfo.getSettleAmount());
// 应清分金额 = 订单产生的电费+服务费实际消费 汇总
@@ -1235,14 +1240,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
withdrawableAmount = withdrawableAmount
.add(confirmAmt)
.subtract(feeAmt);
ClearingBillDetail clearingBillDetail = ClearingBillDetail.builder()
.clearingBillCode(clearingBillCode)
.orderCode(orderBasicInfo.getOrderCode())
.feeAmt(feeAmt)
.confirmAmt(confirmAmt)
.createTime(DateUtils.getNowDate())
.delFlag(DelFlagEnum.NORMAL.getValue())
.build();
clearingBillDetail.setFeeAmt(feeAmt);
clearingBillDetail.setConfirmAmt(confirmAmt);
billDetailList.add(clearingBillDetail);
} else {
clearingBillDetail.setFeeAmt(BigDecimal.ZERO);
clearingBillDetail.setConfirmAmt(BigDecimal.ZERO);
billDetailList.add(clearingBillDetail);
}
} catch (Exception e) {

View File

@@ -21,7 +21,7 @@ public class OrderInvoiceRecordVO {
private String orderCodes;
private String status;
private String createTime;
private String uodateTime;
private String updateTime;
private BigDecimal totalAmount;
private BigDecimal totalServiceAmount;
private BigDecimal totalElecAmount;