diff --git a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java index 3a91c9457..039f09014 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java @@ -6,7 +6,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import com.huifu.adapay.core.exception.BaseAdaPayException; -import com.huifu.adapay.model.Payment; +import com.jsowell.adapay.common.AdaPayment; import com.jsowell.adapay.dto.QueryPaymentConfirmDTO; import com.jsowell.adapay.response.PaymentConfirmResponse; import com.jsowell.adapay.response.QueryPaymentConfirmDetailResponse; @@ -15,7 +15,6 @@ import com.jsowell.adapay.vo.OrderSettleResult; import com.jsowell.adapay.vo.PaymentInfo; import com.jsowell.common.enums.ykc.*; import com.jsowell.common.exception.BusinessException; -import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.*; import com.jsowell.pile.dto.ApplyRefundDTO; @@ -502,23 +501,17 @@ public class TempService { * @param dto */ public void checkPayment(QueryOrderDTO dto) throws BaseAdaPayException { - String wechatAppId = "wxbb3e0d474569481d"; - String appId = "app_d0c80cb1-ffc8-48cb-a030-fe9bec823aaa"; - long begin = DateUtils.dateStrToTimestamp(dto.getStartTime()); // 13位时间戳 - long end = DateUtils.dateStrToTimestamp(dto.getEndTime()); // 13位时间戳 // 根据时间段查询支付对象列表 - Map queryListParam = Maps.newHashMap(); - queryListParam.put("app_id", appId); - queryListParam.put("page_index", "1"); - queryListParam.put("page_size", "20"); - queryListParam.put("created_gte", begin); - queryListParam.put("created_lte", end); + List adaPayments = adapayService.queryPaymentList(dto.getStartTime(), dto.getEndTime()); + if (CollectionUtils.isEmpty(adaPayments)) { + return; + } - System.out.println("查询支付对象列表请求参数:" + JSON.toJSONString(queryListParam)); - Map paymentListResult = Payment.queryList(queryListParam, wechatAppId); - System.out.println("查询支付对象列表result:" + JSON.toJSONString(paymentListResult)); - // 查询退款信息 + for (AdaPayment adaPayment : adaPayments) { + String pay_mode = adaPayment.getPay_mode(); + if (StringUtils.isBlank(pay_mode)) { - // 查询分账信息 + } + } } } diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index e06740ada..3f7fc783a 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -237,8 +237,10 @@ public class SpringBootTestController { @Test public void checkPaymentTest() { QueryOrderDTO dto = new QueryOrderDTO(); - dto.setStartTime("2023-07-01 00:00:00"); - dto.setEndTime("2023-07-01 23:59:59"); + String startTime = "2023-07-01 00:00:00"; + String endTime = "2023-07-31 23:59:59"; + dto.setStartTime(startTime); + dto.setEndTime(endTime); try { tempService.checkPayment(dto); diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/common/AdaPayment.java b/jsowell-pile/src/main/java/com/jsowell/adapay/common/AdaPayment.java index a86befcd3..fb2f6df50 100644 --- a/jsowell-pile/src/main/java/com/jsowell/adapay/common/AdaPayment.java +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/common/AdaPayment.java @@ -2,6 +2,8 @@ package com.jsowell.adapay.common; import lombok.Data; +import java.util.List; + /** * 关于支付,Adapay 系统内数据是通过 Payment对象 的形式进行流转,所有的支付相关信息都会存储在这个对象中, * 您可以通过 Adapay 开放的方法创建一个新的 Payment对象,也可以通过 Payment对象 的唯一标识 id 来查询一个已经存在的 Payment对象 状态 @@ -159,7 +161,7 @@ public class AdaPayment { private String fee_amt; // 分账对象信息列表,详见 分账对象信息列表 - private String div_members; + private List div_members; // 支付确认对象 列表 private String payment_confirms; 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 85616b138..dde6059dd 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 @@ -2,12 +2,14 @@ package com.jsowell.adapay.service; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; +import com.alibaba.fastjson2.JSONReader; import com.alibaba.fastjson2.TypeReference; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.huifu.adapay.core.exception.BaseAdaPayException; import com.huifu.adapay.model.*; +import com.jsowell.adapay.common.AdaPayment; import com.jsowell.adapay.common.CreateAdaPaymentParam; import com.jsowell.adapay.common.DivMember; import com.jsowell.adapay.config.AbstractAdapayConfig; @@ -1088,27 +1090,40 @@ public class AdapayService { /** * 查询支付列表 */ - public void queryPaymentList(String startTime, String endTime) { + public List queryPaymentList(String startTime, String endTime) throws BaseAdaPayException { + List resultList = Lists.newArrayList(); String wechatAppId = "wxbb3e0d474569481d"; String appId = "app_d0c80cb1-ffc8-48cb-a030-fe9bec823aaa"; long begin = DateUtils.dateStrToTimestamp(startTime); // 13位时间戳 long end = DateUtils.dateStrToTimestamp(endTime); // 13位时间戳 - // 根据时间段查询支付对象列表 - Map queryListParam = Maps.newHashMap(); - queryListParam.put("app_id", appId); - queryListParam.put("page_index", "1"); - queryListParam.put("page_size", "20"); - queryListParam.put("created_gte", begin); - queryListParam.put("created_lte", end); + int pageNum = 0; // 页面容量,取值范围 1~20,默认值为 10 + int pageSize = 20; // 页面容量,取值范围 1~20,默认值为 10 - System.out.println("查询支付对象列表请求参数:" + JSON.toJSONString(queryListParam)); - Map paymentListResult = null; - try { - paymentListResult = Payment.queryList(queryListParam, wechatAppId); - } catch (BaseAdaPayException e) { - throw new RuntimeException(e); - } - System.out.println("查询支付对象列表result:" + JSON.toJSONString(paymentListResult)); + boolean hasMore; + do { + pageNum += 1; + // 根据时间段查询支付对象列表 + Map queryListParam = Maps.newHashMap(); + queryListParam.put("app_id", appId); + queryListParam.put("page_index", pageNum); + queryListParam.put("page_size", pageSize); + queryListParam.put("created_gte", begin); + queryListParam.put("created_lte", end); + + System.out.println("查询支付对象列表请求参数:" + JSON.toJSONString(queryListParam)); + Map paymentListResult = Payment.queryList(queryListParam, wechatAppId); + if (paymentListResult == null) { + break; + } + String jsonString = JSON.toJSONString(paymentListResult); + System.out.println("查询支付对象列表result:" + jsonString); + + JSONObject jsonObject = JSON.parseObject(jsonString); + List list = jsonObject.getList("payments", AdaPayment.class, JSONReader.Feature.FieldBased); + resultList.addAll(list); + + hasMore = jsonObject.getBoolean("has_more"); + } while (hasMore); + return resultList; } - }