update 支付时获取对应的支付配置

This commit is contained in:
2023-08-17 11:55:14 +08:00
parent 85d49e3be8
commit ae5f0d8faf
8 changed files with 42 additions and 15 deletions

View File

@@ -124,7 +124,7 @@ public class PayController extends BaseController {
Map<String, Object> map = null; Map<String, Object> map = null;
if (isLock) { if (isLock) {
String appId = request.getHeader("appId"); String appId = request.getHeader("appId");
dto.setAppId(appId); dto.setWechatAppId(appId);
map = orderService.payOrder(dto); map = orderService.payOrder(dto);
} }
response = new RestApiResponse<>(map); response = new RestApiResponse<>(map);
@@ -258,7 +258,7 @@ public class PayController extends BaseController {
} }
dto.setMemberId(memberId); dto.setMemberId(memberId);
// 设置appId // 设置appId
dto.setAppId(request.getHeader("appId")); dto.setWechatAppId(request.getHeader("appId"));
// 获取openId // 获取openId
MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMemberId(memberId); MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMemberId(memberId);
if (memberBasicInfo == null) { if (memberBasicInfo == null) {
@@ -353,7 +353,7 @@ public class PayController extends BaseController {
Map<String, Object> map = null; Map<String, Object> map = null;
if (isLock) { if (isLock) {
String appId = request.getHeader("appId"); String appId = request.getHeader("appId");
dto.setAppId(appId); dto.setWechatAppId(appId);
map = orderService.payOrder(dto); map = orderService.payOrder(dto);
} }
response = new RestApiResponse<>(map); response = new RestApiResponse<>(map);

View File

@@ -600,7 +600,7 @@ public class MemberService {
*/ */
public Map<String, Object> rechargeBalanceWithAdapay(WeixinPayDTO dto) { public Map<String, Object> rechargeBalanceWithAdapay(WeixinPayDTO dto) {
// 获取支付配置 // 获取支付配置
AbstractAdapayConfig config = AdapayConfigFactory.getConfig(dto.getAppId()); AbstractAdapayConfig config = AdapayConfigFactory.getConfig(dto.getWechatAppId());
if (config == null) { if (config == null) {
throw new BusinessException(ReturnCodeEnum.CODE_ADAPAY_CONFIG_IS_NULL_ERROR); throw new BusinessException(ReturnCodeEnum.CODE_ADAPAY_CONFIG_IS_NULL_ERROR);
} }

View File

@@ -11,6 +11,7 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.huifu.adapay.core.AdapayCore; import com.huifu.adapay.core.AdapayCore;
import com.huifu.adapay.core.util.AdapaySign; import com.huifu.adapay.core.util.AdapaySign;
import com.jsowell.adapay.response.PaymentReverseResponse;
import com.jsowell.common.constant.Constants; import com.jsowell.common.constant.Constants;
import com.jsowell.common.core.domain.vo.AuthorizedDeptVO; import com.jsowell.common.core.domain.vo.AuthorizedDeptVO;
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
@@ -934,7 +935,7 @@ public class OrderService {
corpMemberSucceeded(data); corpMemberSucceeded(data);
} else if (AdapayEventEnum.payment_reverse_succeeded.getValue().equals(type)) { } else if (AdapayEventEnum.payment_reverse_succeeded.getValue().equals(type)) {
// 支付撤销成功 // 支付撤销成功
paymentReverseSucceeded(data);
} else if (AdapayEventEnum.cash_succeeded.getValue().equals(type)) { } else if (AdapayEventEnum.cash_succeeded.getValue().equals(type)) {
cashSucceeded(data); cashSucceeded(data);
} else if (AdapayEventEnum.cash_failed.getValue().equals(type)) { } else if (AdapayEventEnum.cash_failed.getValue().equals(type)) {
@@ -1099,4 +1100,16 @@ public class OrderService {
clearingWithdrawInfoService.updateByPrimaryKeySelective(clearingWithdrawInfo); clearingWithdrawInfoService.updateByPrimaryKeySelective(clearingWithdrawInfo);
} }
/**
* 支付撤销成功
*/
private void paymentReverseSucceeded(String data) throws JsonProcessingException {
JSONObject jsonObject = JSON.parseObject(data);
ObjectMapper mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);
PaymentReverseResponse paymentReverseResponse = mapper.readValue(jsonObject.toJSONString(), PaymentReverseResponse.class);
log.info("支付撤销成功 paymentReverseResponse:{}", JSON.toJSONString(paymentReverseResponse));
}
} }

View File

@@ -13,6 +13,9 @@ import java.util.Objects;
* adapay配置工厂类 * adapay配置工厂类
*/ */
public class AdapayConfigFactory { public class AdapayConfigFactory {
/*
key为微信小程序appId, value为对应的汇付支付配置
*/
private static Map<String, AbstractAdapayConfig> configMap = Maps.newHashMap(); private static Map<String, AbstractAdapayConfig> configMap = Maps.newHashMap();
/** /**
@@ -29,11 +32,11 @@ public class AdapayConfigFactory {
/** /**
* 获取 * 获取
* @param name * @param wechatAppId 微信小程序appId
* @return * @return 对应的汇付支付配置
*/ */
public static AbstractAdapayConfig getConfig(String name) { public static AbstractAdapayConfig getConfig(String wechatAppId) {
return configMap.get(name); return configMap.get(wechatAppId);
} }
/** /**

View File

@@ -7,9 +7,11 @@ 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.DivMember; import com.jsowell.adapay.common.DivMember;
import com.jsowell.adapay.config.AbstractAdapayConfig;
import com.jsowell.adapay.dto.SettleAccountDTO; import com.jsowell.adapay.dto.SettleAccountDTO;
import com.jsowell.adapay.dto.UpdateAccountConfigDTO; import com.jsowell.adapay.dto.UpdateAccountConfigDTO;
import com.jsowell.adapay.dto.WithdrawDTO; import com.jsowell.adapay.dto.WithdrawDTO;
import com.jsowell.adapay.factory.AdapayConfigFactory;
import com.jsowell.adapay.response.*; import com.jsowell.adapay.response.*;
import com.jsowell.adapay.vo.AdapayAccountBalanceVO; import com.jsowell.adapay.vo.AdapayAccountBalanceVO;
import com.jsowell.adapay.vo.AdapayCorpMemberVO; import com.jsowell.adapay.vo.AdapayCorpMemberVO;
@@ -659,19 +661,25 @@ public class AdapayMemberService {
/** /**
* 创建交易撤销请求 * 创建交易撤销请求
* 延迟分账未确认, 调交易撤销接口退款 * 延迟分账未确认, 调交易撤销接口退款
* @param wechatAppId 微信小程序appId
*/ */
public PaymentReverseResponse createPaymentReverseRequest(String paymentId, BigDecimal reverseAmt, String merchantKey) { public PaymentReverseResponse createPaymentReverseRequest(String paymentId, BigDecimal reverseAmt, String wechatAppId) {
PaymentReverseResponse response; PaymentReverseResponse response;
AbstractAdapayConfig config = AdapayConfigFactory.getConfig(wechatAppId);
if (config == null) {
throw new BusinessException(ReturnCodeEnum.CODE_ADAPAY_CONFIG_IS_NULL_ERROR);
}
// 延迟分账未确认调撤销调撤销接口退款 // 延迟分账未确认调撤销调撤销接口退款
Map<String, Object> reverseParams = Maps.newHashMap(); Map<String, Object> reverseParams = Maps.newHashMap();
reverseParams.put("app_id", ADAPAY_APP_ID); reverseParams.put("app_id", config.getAdapayAppId());
reverseParams.put("payment_id", paymentId); reverseParams.put("payment_id", paymentId);
reverseParams.put("reverse_amt", AdapayUtil.formatAmount(reverseAmt)); reverseParams.put("reverse_amt", AdapayUtil.formatAmount(reverseAmt));
reverseParams.put("order_no", IdUtils.fastSimpleUUID()); reverseParams.put("order_no", IdUtils.fastSimpleUUID());
reverseParams.put("notify_url", ADAPAY_CALLBACK_URL); reverseParams.put("notify_url", ADAPAY_CALLBACK_URL);
reverseParams.put("", "");
Map<String, Object> paymentReverse = null; Map<String, Object> paymentReverse = null;
try { try {
paymentReverse = PaymentReverse.create(reverseParams, merchantKey); paymentReverse = PaymentReverse.create(reverseParams, config.getWechatAppId());
} catch (BaseAdaPayException e) { } catch (BaseAdaPayException e) {
log.error("汇付支付创建交易撤销对象error", e); log.error("汇付支付创建交易撤销对象error", e);
} }

View File

@@ -54,7 +54,7 @@ public class PayOrderDTO {
/** /**
* 微信小程序appId * 微信小程序appId
*/ */
private String appId; private String wechatAppId;
@Override @Override
public String toString() { public String toString() {

View File

@@ -22,7 +22,10 @@ public class WeixinPayDTO extends BaseMemberDTO{
*/ */
private String attach; private String attach;
private String appId; /**
* 微信小程序appId
*/
private String wechatAppId;
@Override @Override
public String toString() { public String toString() {

View File

@@ -2779,7 +2779,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
} }
// 获取支付配置 // 获取支付配置
AbstractAdapayConfig config = AdapayConfigFactory.getConfig(dto.getAppId()); AbstractAdapayConfig config = AdapayConfigFactory.getConfig(dto.getWechatAppId());
if (config == null) { if (config == null) {
throw new BusinessException(ReturnCodeEnum.CODE_ADAPAY_CONFIG_IS_NULL_ERROR); throw new BusinessException(ReturnCodeEnum.CODE_ADAPAY_CONFIG_IS_NULL_ERROR);
} }