update 校验支付单

This commit is contained in:
2023-10-24 14:49:49 +08:00
parent 238784d987
commit a4352ebc64
4 changed files with 49 additions and 37 deletions

View File

@@ -6,7 +6,7 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.huifu.adapay.core.exception.BaseAdaPayException; 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.dto.QueryPaymentConfirmDTO;
import com.jsowell.adapay.response.PaymentConfirmResponse; import com.jsowell.adapay.response.PaymentConfirmResponse;
import com.jsowell.adapay.response.QueryPaymentConfirmDetailResponse; 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.adapay.vo.PaymentInfo;
import com.jsowell.common.enums.ykc.*; import com.jsowell.common.enums.ykc.*;
import com.jsowell.common.exception.BusinessException; import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.domain.*; import com.jsowell.pile.domain.*;
import com.jsowell.pile.dto.ApplyRefundDTO; import com.jsowell.pile.dto.ApplyRefundDTO;
@@ -502,23 +501,17 @@ public class TempService {
* @param dto * @param dto
*/ */
public void checkPayment(QueryOrderDTO dto) throws BaseAdaPayException { 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<String, Object> queryListParam = Maps.newHashMap(); List<AdaPayment> adaPayments = adapayService.queryPaymentList(dto.getStartTime(), dto.getEndTime());
queryListParam.put("app_id", appId); if (CollectionUtils.isEmpty(adaPayments)) {
queryListParam.put("page_index", "1"); return;
queryListParam.put("page_size", "20"); }
queryListParam.put("created_gte", begin);
queryListParam.put("created_lte", end);
System.out.println("查询支付对象列表请求参数:" + JSON.toJSONString(queryListParam)); for (AdaPayment adaPayment : adaPayments) {
Map<String, Object> paymentListResult = Payment.queryList(queryListParam, wechatAppId); String pay_mode = adaPayment.getPay_mode();
System.out.println("查询支付对象列表result" + JSON.toJSONString(paymentListResult)); if (StringUtils.isBlank(pay_mode)) {
// 查询退款信息
// 查询分账信息 }
}
} }
} }

View File

@@ -237,8 +237,10 @@ public class SpringBootTestController {
@Test @Test
public void checkPaymentTest() { public void checkPaymentTest() {
QueryOrderDTO dto = new QueryOrderDTO(); QueryOrderDTO dto = new QueryOrderDTO();
dto.setStartTime("2023-07-01 00:00:00"); String startTime = "2023-07-01 00:00:00";
dto.setEndTime("2023-07-01 23:59:59"); String endTime = "2023-07-31 23:59:59";
dto.setStartTime(startTime);
dto.setEndTime(endTime);
try { try {
tempService.checkPayment(dto); tempService.checkPayment(dto);

View File

@@ -2,6 +2,8 @@ package com.jsowell.adapay.common;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* 关于支付Adapay 系统内数据是通过 Payment对象 的形式进行流转,所有的支付相关信息都会存储在这个对象中, * 关于支付Adapay 系统内数据是通过 Payment对象 的形式进行流转,所有的支付相关信息都会存储在这个对象中,
* 您可以通过 Adapay 开放的方法创建一个新的 Payment对象也可以通过 Payment对象 的唯一标识 id 来查询一个已经存在的 Payment对象 状态 * 您可以通过 Adapay 开放的方法创建一个新的 Payment对象也可以通过 Payment对象 的唯一标识 id 来查询一个已经存在的 Payment对象 状态
@@ -159,7 +161,7 @@ public class AdaPayment {
private String fee_amt; private String fee_amt;
// 分账对象信息列表,详见 分账对象信息列表 // 分账对象信息列表,详见 分账对象信息列表
private String div_members; private List<DivMember> div_members;
// 支付确认对象 列表 // 支付确认对象 列表
private String payment_confirms; private String payment_confirms;

View File

@@ -2,12 +2,14 @@ package com.jsowell.adapay.service;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.JSONReader;
import com.alibaba.fastjson2.TypeReference; import com.alibaba.fastjson2.TypeReference;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.huifu.adapay.core.exception.BaseAdaPayException; import com.huifu.adapay.core.exception.BaseAdaPayException;
import com.huifu.adapay.model.*; import com.huifu.adapay.model.*;
import com.jsowell.adapay.common.AdaPayment;
import com.jsowell.adapay.common.CreateAdaPaymentParam; import com.jsowell.adapay.common.CreateAdaPaymentParam;
import com.jsowell.adapay.common.DivMember; import com.jsowell.adapay.common.DivMember;
import com.jsowell.adapay.config.AbstractAdapayConfig; import com.jsowell.adapay.config.AbstractAdapayConfig;
@@ -1088,27 +1090,40 @@ public class AdapayService {
/** /**
* 查询支付列表 * 查询支付列表
*/ */
public void queryPaymentList(String startTime, String endTime) { public List<AdaPayment> queryPaymentList(String startTime, String endTime) throws BaseAdaPayException {
List<AdaPayment> resultList = Lists.newArrayList();
String wechatAppId = "wxbb3e0d474569481d"; String wechatAppId = "wxbb3e0d474569481d";
String appId = "app_d0c80cb1-ffc8-48cb-a030-fe9bec823aaa"; String appId = "app_d0c80cb1-ffc8-48cb-a030-fe9bec823aaa";
long begin = DateUtils.dateStrToTimestamp(startTime); // 13位时间戳 long begin = DateUtils.dateStrToTimestamp(startTime); // 13位时间戳
long end = DateUtils.dateStrToTimestamp(endTime); // 13位时间戳 long end = DateUtils.dateStrToTimestamp(endTime); // 13位时间戳
// 根据时间段查询支付对象列表 int pageNum = 0; // 页面容量,取值范围 1~20默认值为 10
Map<String, Object> queryListParam = Maps.newHashMap(); int pageSize = 20; // 页面容量,取值范围 1~20默认值为 10
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);
System.out.println("查询支付对象列表请求参数:" + JSON.toJSONString(queryListParam)); boolean hasMore;
Map<String, Object> paymentListResult = null; do {
try { pageNum += 1;
paymentListResult = Payment.queryList(queryListParam, wechatAppId); // 根据时间段查询支付对象列表
} catch (BaseAdaPayException e) { Map<String, Object> queryListParam = Maps.newHashMap();
throw new RuntimeException(e); queryListParam.put("app_id", appId);
} queryListParam.put("page_index", pageNum);
System.out.println("查询支付对象列表result" + JSON.toJSONString(paymentListResult)); queryListParam.put("page_size", pageSize);
queryListParam.put("created_gte", begin);
queryListParam.put("created_lte", end);
System.out.println("查询支付对象列表请求参数:" + JSON.toJSONString(queryListParam));
Map<String, Object> 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<AdaPayment> list = jsonObject.getList("payments", AdaPayment.class, JSONReader.Feature.FieldBased);
resultList.addAll(list);
hasMore = jsonObject.getBoolean("has_more");
} while (hasMore);
return resultList;
} }
} }