From 50ffa032f3148d21b4a5b4b3cfc3ef40d4ebb7bb Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Wed, 15 Oct 2025 14:30:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=92=A4=E9=94=80=E7=9A=84=E5=88=86=E8=B4=A6?= =?UTF-8?q?=E7=AE=97=E6=9C=AA=E5=88=86=E5=B8=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/test/java/PaymentTestController.java | 90 +----------- jsowell-admin/src/test/resources/payment_ids | 139 +++--------------- .../jsowell/adapay/service/AdapayService.java | 13 +- 3 files changed, 36 insertions(+), 206 deletions(-) diff --git a/jsowell-admin/src/test/java/PaymentTestController.java b/jsowell-admin/src/test/java/PaymentTestController.java index 8f672dd68..a98a8d5a4 100644 --- a/jsowell-admin/src/test/java/PaymentTestController.java +++ b/jsowell-admin/src/test/java/PaymentTestController.java @@ -8,7 +8,6 @@ import com.huifu.adapay.model.Payment; import com.huifu.adapay.model.PaymentReverse; import com.huifu.adapay.model.Refund; import com.jsowell.JsowellApplication; -import com.jsowell.adapay.common.DivMember; import com.jsowell.adapay.common.PaymentConfirmInfo; import com.jsowell.adapay.dto.PaymentConfirmParam; import com.jsowell.adapay.dto.QueryPaymentConfirmDTO; @@ -21,12 +20,9 @@ import com.jsowell.adapay.vo.AdapayCorpMemberVO; import com.jsowell.adapay.vo.OrderSplitResult; import com.jsowell.api.uniapp.customer.TempController; import com.jsowell.common.constant.CacheConstants; -import com.jsowell.common.constant.Constants; import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.enums.ykc.ScenarioEnum; -import com.jsowell.common.util.AdapayUtil; import com.jsowell.common.util.DateUtils; -import com.jsowell.pile.domain.AdapayMemberAccount; import com.jsowell.pile.domain.OrderBasicInfo; import com.jsowell.pile.domain.OrderDetail; import com.jsowell.pile.domain.OrderUnsplitRecord; @@ -94,6 +90,10 @@ public class PaymentTestController { System.out.println("耗时:" + stopWatch.getLastTaskTimeMillis() + ", splitInfoMap:" + JSON.toJSONString(splitInfoMap)); } + /** + * 获取支付idList + * @return + */ public List getPaymentIdList() { List resultList = Lists.newArrayList(); // List paymentIdList1 = getPaymentIdList1(); @@ -126,26 +126,6 @@ public class PaymentTestController { return list; } - /** - * 获取分账参数 - */ - public Map getPaymentConfirmParam() { - Map paramMap = Maps.newHashMap(); - - // 待分账汇付会员id, 如需分给对应商户就填写正确的汇付会员id - String adapayMemberId = "AM44542905"; - - // 待分账订单信息, 需要重新分账的订单信息(针对未分账的订单) - String jsonArrayString = "[" + - "{\"orderCode\":\"C27490025494\", \"settleAmount\":\"12.95\", \"paymentId\":\"002212025040121085510753131992504455168\"}" + - "]"; - JSONArray jsonArray = JSONArray.parseArray(jsonArrayString); - - paramMap.put("adapayMemberId", adapayMemberId); - paramMap.put("paymentList", jsonArray); - return paramMap; - } - /** * 提现方法 * @@ -272,68 +252,6 @@ public class PaymentTestController { return paramMap; } - /** - * 批量执行分账 - * @deprecated 2025年8月16日15点48分弃用, 此分账方法不会保存分账记录, 应使用接口执行分账 - */ - @Test - public void batchCreatePaymentConfirm() { - // 获取分账参数 - // Map confirmParam = getPaymentConfirmParam(); - Map confirmParam = getPaymentConfirmParamFromFile(); - // 分账到指定汇付会员账户中 - AdapayMemberAccount adapayMemberAccount = new AdapayMemberAccount(); - adapayMemberAccount.setAdapayMemberId((String) confirmParam.get("adapayMemberId")); - // 分账订单信息 - JSONArray paymentList = (JSONArray) confirmParam.get("paymentList"); - - // 请求参数list - List paramList = new ArrayList<>(); - 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"); // 订单编号 - System.out.println("paymentId:" + paymentId + ", orderCode:" + orderCode + ", settleAmount:" + confirmAmt); - - DivMember divMember = new DivMember(); - divMember.setMemberId(adapayMemberAccount.getAdapayMemberId()); - divMember.setAmount(AdapayUtil.formatAmount(confirmAmt)); - divMember.setFeeFlag(Constants.Y); - - PaymentConfirmParam param = PaymentConfirmParam.builder() - .paymentId(paymentId) - .divMemberList(Lists.newArrayList(divMember)) - .confirmAmt(confirmAmt) - .orderCode(orderCode) - .wechatAppId(wechatAppId1) - .build(); - paramList.add(param); - } - - // 执行分账方法 - if (!paramList.isEmpty()) { - for (PaymentConfirmParam paymentConfirmParam : paramList) { - // 延时分账,使用确认交易API - PaymentConfirmResponse paymentConfirmResponse = adapayService.createPaymentConfirmRequest(paymentConfirmParam); - // status为failed, error_code为payment_over_time_doing, error_msg为数据正在处理中,请稍后再试, 则重试最多重试2次 - if (paymentConfirmResponse.isFailed()) { - int count = 0; - while (count < 2) { - count++; - System.out.println("第" + count + "次重试"); - paymentConfirmResponse = adapayService.createPaymentConfirmRequest(paymentConfirmParam); - } - } - } - } - - // 执行分账并处理重试 - // for (PaymentConfirmParam param : paramList) { - // executeWithRetry(param, 0); // 初始重试次数为0 - // } - } - /** * 执行分账并处理重试逻辑 * @deprecated diff --git a/jsowell-admin/src/test/resources/payment_ids b/jsowell-admin/src/test/resources/payment_ids index 7faefb96a..7ac866939 100644 --- a/jsowell-admin/src/test/resources/payment_ids +++ b/jsowell-admin/src/test/resources/payment_ids @@ -1,116 +1,23 @@ -002212025091323504710812966726266179584 -002212025091323551610812967854542348288 -002212025091323443510812965166807146496 -002212025091400460010812980620632162304 -002212025091320185210812913395464314880 -002212025091400251110812975382261035008 -002212025091401044010812985316553957376 -002212025091321044610812924946841747456 -002212025091401223210812989815599304704 -002212025091401293010812991566205321216 -002212025091322382710812948523603357696 -002212025091402331310813007603441246208 -002212025091403104610813017054747455488 -002212025091403470510813026193569619968 -002212025091403364510813023593319256064 -002212025091404221510813035044029210624 -002212025091404371410813038812812689408 -002212025091404242510813035588512813056 -002212025091405395910813054603603902464 -002212025091406230510813065451386855424 -002212025091401233010812990058088808448 -002212025091407071710813076574286831616 -002212025091407263010813081411581816832 -002212025091407361210813083852087906304 -002212025091407084910813076959223275520 -002212025091407412710813085173478223872 -002212025091408295310813097361051901952 -002212025091409055210813106416067706880 -002212025091409365110813114214897831936 -002212025091409272910813111855262109696 -002212025091409260410813111500675629056 -002212025091410255910813126576514179072 -002212025091409083010813107077513621504 -002212025091409302010813112574920761344 -002212025091410101510813122618047504384 -002212025091410192110813124908439486464 -002212025091410385710813129843407204352 -002212025091409192310813109818684239872 -002212025091410455010813131572060274688 -002212025091410404310813130285528797184 -002212025091410444310813131292816068608 -002212025091411062110813136738331271168 -002212025091410343310813128734659739648 -002212025091411305910813142936145289216 -002212025091411585210813149954511876096 -002212025091412172910813154639293620224 -002212025091412445910813161557793845248 -002212025091408225810813095620038254592 -002212025091412331610813158610146066432 -002212025091412292110813157626892177408 -002212025091412525110813163537643749376 -002212025091409393410813114895717285888 -002212025091413244110813171551461335040 -002212025091413181710813169938273316864 -002212025091413423410813176050271830016 -002212025091413222710813170987423911936 -002212025091414370510813189770993639424 -002212025091408351410813098707633233920 -002212025091412562310813164429981937664 -002212025091414283810813187644049477632 -002212025091414390410813190270287757312 -002212025091414544410813194211247403008 -002212025091414384510813190187345399808 -002212025091414001410813180495349071872 -002212025091414072510813182304213950464 -002212025091415322510813203695797710848 -002212025091414383910813190162494160896 -002212025091414511810813193346000244736 -002212025091415255110813202040716967936 -002212025091415124610813198748830040064 -002212025091415123710813198712264122368 -002212025091415473310813207501956612096 -002212025091415522110813208713183526912 -002212025091416120910813213693135167488 -002212025091416081810813212724188041216 -002212025091416244110813216848996638720 -002212025091417004010813225903483965440 -002212025091417153010813229638322929664 -002212025091417100710813228283608870912 -002212025091416503010813223346745298944 -002212025091417554710813239775674687488 -002212025091418050310813242105556033536 -002212025091417411110813236100013109248 -002212025091417544010813239495444807680 -002212025091418044110813242013499428864 -002212025091417453210813237196660043776 -002212025091418033210813241723878522880 -002212025091418160310813244875486969856 -002212025091418183410813245508386480128 -002212025091418213310813246258814541824 -002212025091418344810813249592980025344 -002212025091418512510813253775414153216 -002212025091419440810813267040580022272 -002212025091419032110813256776832937984 -002212025091419304310813263667147456512 -002212025091419405810813266245151260672 -002212025091419441810813267082254647296 -002212025091420431010813281899749203968 -002212025091420285010813278289128751104 -002212025091420150210813274815905308672 -002212025091420134410813274489814921216 -002212025091419284510813263169380052992 -002212025091421051710813287463464112128 -002212025091421285010813293388618973184 -002212025091421233010813292046483623936 -002212025091420425110813281820279746560 -002212025091421300510813293705242796032 -002212025091421330710813294468501250048 -002212025091422054510813302682269704192 -002212025091422082910813303367019192320 -002212025091422084910813303452255789056 -002212025091422432510813312159203098624 -002212025091422075510813303225775972352 -002212025091422201410813306326205493248 -002212025091422173810813305670677721088 -002212025091422075710813303232398761984 \ No newline at end of file +002212025093016404610819019101213786112 +002212025093016480010819020923576094720 +002212025093016545810819022674920161280 +002212025093016591510819023753909075968 +002212025093017071710819025774825697280 +002212025093017125710819027202424025088 +002212025093017191310819028779683803136 +002212025093017213010819029354248785920 +002212025093021481910819096499045236736 +002212025093022004910819099644320247808 +002212025093021523910819097588742180864 +002212025093021455810819095906331201536 +002212025093022312610819107348346822656 +002212025093022095910819101953838235648 +002212025093022412910819109879650783232 +002212025093022355510819108477796941824 +002212025093022362310819108594562334720 +002212025093023033210819115430052962304 +002212025093022294310819106919646871552 +002212025093023092610819116914169982976 +002212025093023084710819116751426650112 +002212025093023125610819117793698590720 +002212025093023361610819123667662266368 \ No newline at end of file diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java index bf7166ea3..c96be12b4 100644 --- a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java @@ -1793,20 +1793,25 @@ public class AdapayService { return; } - // 添加到已分帐list - synchronized (splitList) { - splitList.add(paymentId); - } for (PaymentConfirmInfo confirm : confirms) { try { if (queryConfirmReverseStatus(confirm)) { log.info("支付确认id:" + confirm.getId() + "撤销了。。。"); + // confirms为空,add to unSplitList + synchronized (unSplitList) { + unSplitList.add(paymentId); + } continue; } } catch (BaseAdaPayException e) { throw new RuntimeException(e); } + // 添加到已分帐list + synchronized (splitList) { + splitList.add(paymentId); + } + JSONObject jsonObject = JSON.parseObject(confirm.getDescription()); String adapayMemberId = jsonObject.getString("adapayMemberId"); if (StringUtils.isBlank(adapayMemberId)) {