update 批量执行分账

This commit is contained in:
Guoqs
2025-03-28 11:37:30 +08:00
parent a30f8f26b6
commit 62c7961de4
2 changed files with 3465 additions and 6 deletions

View File

@@ -94,27 +94,66 @@ public class PaymentTestController {
// 需要重新分账的订单信息(针对未分账的订单)
public JSONArray getPaymentList() {
String jsonArrayString = "[" +
"{\"orderCode\":\"C25133803815\", \"settleAmount\":\"42.94\", \"paymentId\":\"002212024071413111510658428550211133440\"}" +
"{\"orderCode\":\"C27433493597\", \"settleAmount\":\"0.02\", \"paymentId\":\"002212025022302280610739441577884725248\"}" +
"{\"orderCode\":\"C63383493863\", \"settleAmount\":\"0.09\", \"paymentId\":\"002212025022415502310740005867241734144\"}" +
"{\"orderCode\":\"C40938871350\", \"settleAmount\":\"0.06\", \"paymentId\":\"002212025022612330810740681003442454528\"}" +
"{\"orderCode\":\"C46616734445\", \"settleAmount\":\"0.12\", \"paymentId\":\"002212025030511263110743200952492281856\"}" +
"{\"orderCode\":\"C42221075821\", \"settleAmount\":\"0.09\", \"paymentId\":\"002212025030511541010743207911235268608\"}" +
"{\"orderCode\":\"C63577793300\", \"settleAmount\":\"0.11\", \"paymentId\":\"002212025030514073810743241501523603456\"}" +
"{\"orderCode\":\"C69635202024\", \"settleAmount\":\"0.14\", \"paymentId\":\"002212025030823144210744466339942608896\"}" +
"{\"orderCode\":\"C80686802200\", \"settleAmount\":\"0.05\", \"paymentId\":\"002212025031707180710747487098475462656\"}" +
"{\"orderCode\":\"C88833182669\", \"settleAmount\":\"0.03\", \"paymentId\":\"002212025032407012210750019595747975168\"}" +
"{\"orderCode\":\"C80644264149\", \"settleAmount\":\"0.16\", \"paymentId\":\"002212025032520081110750579991937593344\"}" +
"]";
return JSONArray.parseArray(jsonArrayString);
}
/**
* 获取分账参数
*/
public Map<String, Object> getPaymentConfirmParam() {
Map<String, Object> paramMap = Maps.newHashMap();
// 待分账汇付会员id, 如需分给对应商户就填写正确的汇付会员id
String adapayMemberId = "AM44542905";
// 待分账订单信息
String jsonArrayString = "[" +
"{\"orderCode\":\"C27433493597\", \"settleAmount\":\"0.02\", \"paymentId\":\"002212025022302280610739441577884725248\"}" +
"{\"orderCode\":\"C63383493863\", \"settleAmount\":\"0.09\", \"paymentId\":\"002212025022415502310740005867241734144\"}" +
"{\"orderCode\":\"C40938871350\", \"settleAmount\":\"0.06\", \"paymentId\":\"002212025022612330810740681003442454528\"}" +
"{\"orderCode\":\"C46616734445\", \"settleAmount\":\"0.12\", \"paymentId\":\"002212025030511263110743200952492281856\"}" +
"{\"orderCode\":\"C42221075821\", \"settleAmount\":\"0.09\", \"paymentId\":\"002212025030511541010743207911235268608\"}" +
"{\"orderCode\":\"C63577793300\", \"settleAmount\":\"0.11\", \"paymentId\":\"002212025030514073810743241501523603456\"}" +
"{\"orderCode\":\"C69635202024\", \"settleAmount\":\"0.14\", \"paymentId\":\"002212025030823144210744466339942608896\"}" +
"{\"orderCode\":\"C80686802200\", \"settleAmount\":\"0.05\", \"paymentId\":\"002212025031707180710747487098475462656\"}" +
"{\"orderCode\":\"C88833182669\", \"settleAmount\":\"0.03\", \"paymentId\":\"002212025032407012210750019595747975168\"}" +
"{\"orderCode\":\"C80644264149\", \"settleAmount\":\"0.16\", \"paymentId\":\"002212025032520081110750579991937593344\"}" +
"]";
JSONArray jsonArray = JSONArray.parseArray(jsonArrayString);
paramMap.put("adapayMemberId", adapayMemberId);
paramMap.put("paymentList", jsonArray);
return paramMap;
}
/**
* 批量执行分账
*/
@Test
public void batchCreatePaymentConfirm() {
JSONArray paymentList = getPaymentList();
// TODO 获取默认结算账户如需分给对应商户就填写正确的汇付会员id
// AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.getDefault();
// 获取分账参数
Map<String, Object> confirmParam = getPaymentConfirmParam();
// 分账到指定汇付会员账户中
AdapayMemberAccount adapayMemberAccount = new AdapayMemberAccount();
adapayMemberAccount.setAdapayMemberId("ACM25158725");
adapayMemberAccount.setAdapayMemberId((String) confirmParam.get("adapayMemberId"));
// 分账订单信息
JSONArray paymentList = (JSONArray) confirmParam.get("paymentList");
for (int i = 0; i < paymentList.size(); i++) {
JSONObject jsonObject = (JSONObject) paymentList.get(i);
BigDecimal confirmAmt = jsonObject.getBigDecimal("settleAmount"); // 确认金额就是结算金额
String paymentId = jsonObject.getString("paymentId"); // 支付id
String orderCode = jsonObject.getString("orderCode"); // 订单编号
// 延时分账使用确认交易API
PaymentConfirmResponse paymentConfirmResponse = adapayService.createPaymentConfirmRequest(paymentId,
adapayMemberAccount, confirmAmt, orderCode, wechatAppId1);

File diff suppressed because it is too large Load Diff