mirror of
https://gitee.com/dromara/dax-pay.git
synced 2025-10-13 21:30:25 +00:00
perf 支付/退款/转账商户订单号查询时根据AppId做隔离
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
</p>
|
||||
|
||||
# Dromara Dax-Pay(开源支付系统-单商户版)
|
||||
> **`multi-xxx` 相关分支为多商户版本, `single-xxx` 相关分支为单商户版本**
|
||||
> **`multi-xxx` 相关分支为多商户版本, `single-xxx` 相关分支为单商户版本**, **目前都在最后阶段的开发中, 尽请期待**
|
||||
|
||||
## ❗使用须知
|
||||
|
||||
|
@@ -4,8 +4,8 @@
|
||||
- [x] 增加延时队列的可视页面
|
||||
- [ ] 增加首页驾驶舱功能
|
||||
- [ ] 定时同步任务频次不要太高, 预防产生过多的数据
|
||||
- [ ] 转账接收方类型优化
|
||||
- [ ] 支付/退款/转账商户订单号根据AppId做隔离
|
||||
- [x] 转账接收方类型优化
|
||||
- [x] 支付/退款/转账商户订单号查询时根据AppId做隔离
|
||||
- [ ] 云闪付支付通道对接
|
||||
- [ ] 分账功能
|
||||
- [x] 分账接收方配置
|
||||
|
@@ -72,7 +72,7 @@ public class AliPayConfigService {
|
||||
public void save(AliPayConfigParam param) {
|
||||
AliPayConfig entity = AlipayConfigConvert.CONVERT.toEntity(param);
|
||||
ChannelConfig channelConfig = entity.toChannelConfig();
|
||||
// 判断商户和应用下是否存在该配置
|
||||
// 判断商户应用下是否存在该配置
|
||||
if (channelConfigManager.existsByAppIdAndChannel(channelConfig.getAppId(), channelConfig.getChannel())){
|
||||
throw new DataErrorException("该应用下已存在支付宝配置, 请勿重新添加");
|
||||
}
|
||||
|
@@ -63,7 +63,7 @@ public class UnionPayConfigService {
|
||||
public void save(UnionPayConfigParam param) {
|
||||
UnionPayConfig entity = UnionPayConfigConvert.CONVERT.toEntity(param);
|
||||
ChannelConfig channelConfig = entity.toChannelConfig();
|
||||
// 判断商户和应用下是否存在该配置
|
||||
// 判断商户应用下是否存在该配置
|
||||
if (channelConfigManager.existsByAppIdAndChannel(channelConfig.getAppId(), channelConfig.getChannel())){
|
||||
throw new DataErrorException("该应用下已存在云闪付配置, 请勿重新添加");
|
||||
}
|
||||
|
@@ -65,7 +65,7 @@ public class WechatPayConfigService {
|
||||
public void save(WechatPayConfigParam param) {
|
||||
WechatPayConfig entity = WechatPayConfigConvert.CONVERT.toEntity(param);
|
||||
ChannelConfig channelConfig = entity.toChannelConfig();
|
||||
// 判断商户和应用下是否存在该配置
|
||||
// 判断商户应用下是否存在该配置
|
||||
if (channelConfigManager.existsByAppIdAndChannel(channelConfig.getAppId(), channelConfig.getChannel())){
|
||||
throw new DataErrorException("该应用下已存在微信配置, 请勿重新添加");
|
||||
}
|
||||
|
@@ -12,7 +12,7 @@ import java.lang.annotation.*;
|
||||
*
|
||||
* 注解实现的功能(按先后顺序): <br/>
|
||||
* 1. 参数校验
|
||||
* 2. 商户和应用信息初始化
|
||||
* 2. 商户应用信息初始化
|
||||
* 3. 终端信息初始化
|
||||
* 4. 参数签名校验
|
||||
* 5. 参数请求时间校验
|
||||
|
@@ -49,13 +49,6 @@ public class TransferOrderController {
|
||||
return Res.ok(queryService.findByTransferNo(transferNo));
|
||||
}
|
||||
|
||||
@RequestPath("根据商户转账号查询")
|
||||
@Operation(summary = "根据商户转账号查询")
|
||||
@GetMapping("/findByBizTransferNo")
|
||||
public Result<TransferOrderVo> findByBizTransferNo(String bizTransferNo){
|
||||
return Res.ok(queryService.findByBizTransferNo(bizTransferNo));
|
||||
}
|
||||
|
||||
@RequestPath("查询单条")
|
||||
@Operation(summary = "查询单条")
|
||||
@GetMapping("/findById")
|
||||
|
@@ -34,12 +34,4 @@ public class MerchantCallbackTaskManager extends BaseManager<MerchantCallbackTas
|
||||
QueryWrapper<MerchantCallbackTask> generator = QueryGenerator.generator(query);
|
||||
return this.page(mpPage, generator);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取数据, 不过滤租户
|
||||
*/
|
||||
@IgnoreTenant
|
||||
public Optional<MerchantCallbackTask> findByIdNotTenant(Long taskId) {
|
||||
return this.findById(taskId);
|
||||
}
|
||||
}
|
||||
|
@@ -34,11 +34,4 @@ public class MerchantNotifyTaskManager extends BaseManager<MerchantNotifyTaskMap
|
||||
return this.page(mpPage, generator);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取数据, 不经过租户
|
||||
*/
|
||||
@IgnoreTenant
|
||||
public Optional<MerchantNotifyTask> findByIdNotTenant(Long taskId) {
|
||||
return this.findById(taskId);
|
||||
}
|
||||
}
|
||||
|
@@ -40,8 +40,11 @@ public class PayOrderManager extends BaseManager<PayOrderMapper, PayOrder> {
|
||||
/**
|
||||
* 根据商户订单号查询
|
||||
*/
|
||||
public Optional<PayOrder> findByBizOrderNo(String bizOrderNo) {
|
||||
return findByField(PayOrder::getBizOrderNo,bizOrderNo);
|
||||
public Optional<PayOrder> findByBizOrderNo(String bizOrderNo, String appId) {
|
||||
return lambdaQuery()
|
||||
.eq(PayOrder::getBizOrderNo,bizOrderNo)
|
||||
.eq(PayOrder::getAppId,appId)
|
||||
.oneOpt();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -81,7 +84,7 @@ public class PayOrderManager extends BaseManager<PayOrderMapper, PayOrder> {
|
||||
*/
|
||||
public BigDecimal getTotalAmount(PayOrderQuery query){
|
||||
QueryWrapper<PayOrder> generator = QueryGenerator.generator(query);
|
||||
// 商户和应用AppId
|
||||
// 商户应用AppId
|
||||
generator.eq(MpUtil.getColumnName(PayOrder::getStatus), PayStatusEnum.SUCCESS.getCode());
|
||||
return baseMapper.getTotalAmount(generator);
|
||||
}
|
||||
@@ -97,11 +100,4 @@ public class PayOrderManager extends BaseManager<PayOrderMapper, PayOrder> {
|
||||
.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询订单, 不过滤租户
|
||||
*/
|
||||
@IgnoreTenant
|
||||
public Optional<PayOrder> findByIdNotTenant(Long id) {
|
||||
return this.findById(id);
|
||||
}
|
||||
}
|
||||
|
@@ -50,8 +50,11 @@ public class RefundOrderManager extends BaseManager<RefundOrderMapper, RefundOrd
|
||||
/**
|
||||
* 根据商户退款号查询
|
||||
*/
|
||||
public Optional<RefundOrder> findByBizRefundNo(String bizRefundNo) {
|
||||
return findByField(RefundOrder::getBizRefundNo, bizRefundNo);
|
||||
public Optional<RefundOrder> findByBizRefundNo(String bizRefundNo, String appId) {
|
||||
return lambdaQuery()
|
||||
.eq(RefundOrder::getBizRefundNo,bizRefundNo)
|
||||
.eq(RefundOrder::getAppId,appId)
|
||||
.oneOpt();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -92,12 +95,4 @@ public class RefundOrderManager extends BaseManager<RefundOrderMapper, RefundOrd
|
||||
generator.eq(MpUtil.getColumnName(RefundOrder::getStatus), RefundStatusEnum.SUCCESS.getCode());
|
||||
return baseMapper.getTotalAmount(generator);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询订单, 不过滤租户
|
||||
*/
|
||||
public Optional<RefundOrder> findByIdNotTenant(Long id) {
|
||||
return findById(id);
|
||||
}
|
||||
}
|
||||
|
@@ -62,8 +62,11 @@ public class TransferOrderManager extends BaseManager<TransferOrderMapper, Trans
|
||||
/**
|
||||
* 根据商户转账号查询
|
||||
*/
|
||||
public Optional<TransferOrder> findByBizTransferNo(String bizTransferNo) {
|
||||
return findByField(TransferOrder::getBizTransferNo, bizTransferNo);
|
||||
public Optional<TransferOrder> findByBizTransferNo(String bizTransferNo, String appId) {
|
||||
return lambdaQuery()
|
||||
.eq(TransferOrder::getBizTransferNo, bizTransferNo)
|
||||
.eq(TransferOrder::getAppId, appId)
|
||||
.oneOpt();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -75,10 +78,4 @@ public class TransferOrderManager extends BaseManager<TransferOrderMapper, Trans
|
||||
return baseMapper.getTotalAmount(generator);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询订单, 不过滤租户
|
||||
*/
|
||||
public Optional<TransferOrder> findByIdNotTenant(Long id) {
|
||||
return findById(id);
|
||||
}
|
||||
}
|
||||
|
@@ -58,19 +58,19 @@ public class PayOrderQueryService {
|
||||
/**
|
||||
* 根据商户订单号查询
|
||||
*/
|
||||
public Optional<PayOrder> findByBizOrderNo(String bizOrderNo) {
|
||||
return payOrderManager.findByBizOrderNo(bizOrderNo);
|
||||
public Optional<PayOrder> findByBizOrderNo(String bizOrderNo, String appId) {
|
||||
return payOrderManager.findByBizOrderNo(bizOrderNo, appId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据订单号或商户订单号查询
|
||||
*/
|
||||
public Optional<PayOrder> findByBizOrOrderNo(String orderNo, String bizOrderNo) {
|
||||
public Optional<PayOrder> findByBizOrOrderNo(String orderNo, String bizOrderNo, String appId) {
|
||||
if (Objects.nonNull(orderNo)){
|
||||
return this.findByOrderNo(orderNo);
|
||||
}
|
||||
if (Objects.nonNull(bizOrderNo)){
|
||||
return this.findByBizOrderNo(bizOrderNo);
|
||||
return this.findByBizOrderNo(bizOrderNo,appId);
|
||||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
@@ -84,7 +84,7 @@ public class PayOrderQueryService {
|
||||
throw new ValidationFailedException("业务号或支付单ID不能都为空");
|
||||
}
|
||||
// 查询支付单
|
||||
return this.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNoeNo())
|
||||
return this.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNoeNo(),param.getAppId())
|
||||
.map(PayOrderConvert.CONVERT::toResult)
|
||||
.orElseThrow(() -> new TradeNotExistException("支付订单不存在"));
|
||||
}
|
||||
|
@@ -30,7 +30,7 @@ public class PayOrderService {
|
||||
*/
|
||||
public void sync(Long id) {
|
||||
PayOrder payOrder = payOrderManager.findById(id).orElseThrow(() -> new TradeNotExistException("支付订单不存在"));
|
||||
// 初始化商户和应用
|
||||
// 初始化商户应用
|
||||
paymentAssistService.initMchApp(payOrder.getAppId());
|
||||
paySyncService.syncPayOrder(payOrder);
|
||||
}
|
||||
@@ -40,7 +40,7 @@ public class PayOrderService {
|
||||
*/
|
||||
public void close(Long id) {
|
||||
PayOrder payOrder = payOrderManager.findById(id).orElseThrow(() -> new TradeNotExistException("支付订单不存在"));
|
||||
// 初始化商户和应用
|
||||
// 初始化商户应用
|
||||
paymentAssistService.initMchApp(payOrder.getAppId());
|
||||
payCloseService.closeOrder(payOrder,false);
|
||||
}
|
||||
@@ -50,7 +50,7 @@ public class PayOrderService {
|
||||
*/
|
||||
public void cancel(Long id) {
|
||||
PayOrder payOrder = payOrderManager.findById(id).orElseThrow(() -> new TradeNotExistException("支付订单不存在"));
|
||||
// 初始化商户和应用
|
||||
// 初始化商户应用
|
||||
paymentAssistService.initMchApp(payOrder.getAppId());
|
||||
payCloseService.closeOrder(payOrder,true);
|
||||
}
|
||||
|
@@ -62,11 +62,11 @@ public class RefundOrderQueryService {
|
||||
/**
|
||||
* 根据退款号和商户退款号查询
|
||||
*/
|
||||
public Optional<RefundOrder> findByBizOrRefundNo(String refundNo, String bizRefundNo) {
|
||||
public Optional<RefundOrder> findByBizOrRefundNo(String refundNo, String bizRefundNo, String appId) {
|
||||
if (StrUtil.isNotBlank(refundNo)){
|
||||
return refundOrderManager.findByRefundNo(refundNo);
|
||||
} else if (StrUtil.isNotBlank(bizRefundNo)){
|
||||
return refundOrderManager.findByBizRefundNo(bizRefundNo);
|
||||
return refundOrderManager.findByBizRefundNo(bizRefundNo,appId);
|
||||
} else {
|
||||
return Optional.empty();
|
||||
}
|
||||
@@ -81,7 +81,7 @@ public class RefundOrderQueryService {
|
||||
throw new ValidationFailedException("退款号或商户退款号不能都为空");
|
||||
}
|
||||
// 查询退款单
|
||||
RefundOrder refundOrder = this.findByBizOrRefundNo(param.getRefundNo(), param.getBizRefundNo())
|
||||
RefundOrder refundOrder = this.findByBizOrRefundNo(param.getRefundNo(), param.getBizRefundNo(), param.getAppId())
|
||||
.orElseThrow(() -> new TradeNotExistException("退款订单不存在"));
|
||||
|
||||
return RefundOrderConvert.CONVERT.toResult(refundOrder);
|
||||
|
@@ -54,7 +54,7 @@ public class RefundOrderService {
|
||||
var payOrder = payOrderManager.findByOrderNo(param.getOrderNo())
|
||||
.orElseThrow(() -> new TradeNotExistException("支付订单不存在"));
|
||||
|
||||
// 初始化商户和应用
|
||||
// 初始化商户应用
|
||||
paymentAssistService.initMchApp(payOrder.getAppId());
|
||||
|
||||
String ip = Optional.ofNullable(WebServletUtil.getRequest())
|
||||
@@ -78,7 +78,7 @@ public class RefundOrderService {
|
||||
public void sync(Long id) {
|
||||
RefundOrder refundOrder = refundOrderManager.findById(id)
|
||||
.orElseThrow(() -> new TradeNotExistException("退款订单不存在"));
|
||||
// 初始化商户和应用
|
||||
// 初始化商户应用
|
||||
paymentAssistService.initMchApp(refundOrder.getAppId());
|
||||
// 同步退款订单状态
|
||||
refundSyncService.syncRefundOrder(refundOrder);
|
||||
@@ -90,7 +90,7 @@ public class RefundOrderService {
|
||||
public void retry(Long id) {
|
||||
RefundOrder refundOrder = refundOrderManager.findById(id)
|
||||
.orElseThrow(() -> new TradeNotExistException("退款订单不存在"));
|
||||
// 初始化商户和应用
|
||||
// 初始化商户应用
|
||||
paymentAssistService.initMchApp(refundOrder.getAppId());
|
||||
|
||||
String ip = Optional.ofNullable(WebServletUtil.getRequest())
|
||||
@@ -115,7 +115,7 @@ public class RefundOrderService {
|
||||
public void close(Long id) {
|
||||
RefundOrder refundOrder = refundOrderManager.findById(id)
|
||||
.orElseThrow(() -> new TradeNotExistException("退款订单不存在"));
|
||||
// 初始化商户和应用
|
||||
// 初始化商户应用
|
||||
paymentAssistService.initMchApp(refundOrder.getAppId());
|
||||
if (!Objects.equals(refundOrder.getStatus(), RefundStatusEnum.FAIL.getCode())) {
|
||||
throw new TradeStatusErrorException("只有失败状态的才可以关闭退款");
|
||||
|
@@ -59,23 +59,14 @@ public class TransferOrderQueryService {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据转账号查询
|
||||
*/
|
||||
public TransferOrderVo findByBizTransferNo(String bizTransferNo){
|
||||
return transferOrderManager.findByBizTransferNo(bizTransferNo).map(TransferOrder::toResult)
|
||||
.orElseThrow(() -> new DataNotExistException("转账订单信息不存在"));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据转账号和商户转账号查询
|
||||
*/
|
||||
public Optional<TransferOrder> findByBizOrTransferNo(String transferNo, String bizTransferNo) {
|
||||
public Optional<TransferOrder> findByBizOrTransferNo(String transferNo, String bizTransferNo,String appId) {
|
||||
if (StrUtil.isNotBlank(transferNo)){
|
||||
return transferOrderManager.findByTransferNo(transferNo);
|
||||
} else if (StrUtil.isNotBlank(bizTransferNo)){
|
||||
return transferOrderManager.findByBizTransferNo(bizTransferNo);
|
||||
return transferOrderManager.findByBizTransferNo(bizTransferNo,appId);
|
||||
} else {
|
||||
return Optional.empty();
|
||||
}
|
||||
@@ -91,7 +82,7 @@ public class TransferOrderQueryService {
|
||||
throw new ValidationFailedException("转账号或商户转账号不能都为空");
|
||||
}
|
||||
// 查询转账单
|
||||
TransferOrder transferOrder = this.findByBizOrTransferNo(param.getTransferNo(), param.getBizTransferNo())
|
||||
TransferOrder transferOrder = this.findByBizOrTransferNo(param.getTransferNo(), param.getBizTransferNo(), param.getAppId())
|
||||
.orElseThrow(() -> new TradeNotExistException("转账订单不存在"));
|
||||
|
||||
return TransferOrderConvert.CONVERT.toResult(transferOrder);
|
||||
|
@@ -41,7 +41,7 @@ public class TransferOrderService {
|
||||
public void sync(Long id) {
|
||||
var transferOrder = transferOrderManager.findById(id)
|
||||
.orElseThrow(() -> new TradeNotExistException("转账订单不存在"));
|
||||
// 初始化商户和应用
|
||||
// 初始化商户应用
|
||||
paymentAssistService.initMchApp(transferOrder.getAppId());
|
||||
// 同步转账订单状态
|
||||
transferSyncService.syncTransferOrder(transferOrder);
|
||||
@@ -53,7 +53,7 @@ public class TransferOrderService {
|
||||
public void retry(Long id) {
|
||||
var transferOrder = transferOrderManager.findById(id)
|
||||
.orElseThrow(() -> new TradeNotExistException("转账订单不存在"));
|
||||
// 初始化商户和应用
|
||||
// 初始化商户应用
|
||||
paymentAssistService.initMchApp(transferOrder.getAppId());
|
||||
|
||||
String ip = Optional.ofNullable(WebServletUtil.getRequest())
|
||||
@@ -77,7 +77,7 @@ public class TransferOrderService {
|
||||
public void close(Long id) {
|
||||
var transferOrder = transferOrderManager.findById(id)
|
||||
.orElseThrow(() -> new TradeNotExistException("转账订单不存在"));
|
||||
// 初始化商户和应用
|
||||
// 初始化商户应用
|
||||
paymentAssistService.initMchApp(transferOrder.getAppId());
|
||||
// 更新订单状态
|
||||
if (!Objects.equals(TransferStatusEnum.FAIL.getCode(), transferOrder.getStatus())){
|
||||
|
@@ -99,7 +99,7 @@ public class ReconcileStatementService {
|
||||
if (statement.isDownOrUpload()){
|
||||
throw new OperationFailException("对账单文件已经下载或上传");
|
||||
}
|
||||
// 初始化对商户和应用上下文
|
||||
// 初始化对商户应用上下文
|
||||
paymentAssistService.initMchApp(statement.getAppId());
|
||||
|
||||
// 构建对账策略
|
||||
|
@@ -94,9 +94,9 @@ public class PayAssistService {
|
||||
/**
|
||||
* 校验支付状态,支付成功则返回,支付失败则抛出对应的异常
|
||||
*/
|
||||
public PayOrder getOrderAndCheck(String bizOrderNo) {
|
||||
public PayOrder getOrderAndCheck(PayParam param) {
|
||||
// 根据订单查询支付记录
|
||||
PayOrder payOrder = payOrderQueryService.findByBizOrderNo(bizOrderNo)
|
||||
PayOrder payOrder = payOrderQueryService.findByBizOrderNo(param.getBizOrderNo(), param.getAppId())
|
||||
.orElse(null);
|
||||
if (Objects.nonNull(payOrder)) {
|
||||
// 待支付
|
||||
|
@@ -46,7 +46,7 @@ public class PayCloseService {
|
||||
* 关闭支付
|
||||
*/
|
||||
public void close(PayCloseParam param){
|
||||
PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo())
|
||||
PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo(), param.getAppId())
|
||||
.orElseThrow(() -> new TradeNotExistException("支付订单不存在"));
|
||||
this.closeOrder(payOrder, param.isUseCancel());
|
||||
|
||||
|
@@ -55,7 +55,7 @@ public class PayService {
|
||||
}
|
||||
try {
|
||||
// 查询并检查订单
|
||||
PayOrder payOrder = payAssistService.getOrderAndCheck(payParam.getBizOrderNo());
|
||||
PayOrder payOrder = payAssistService.getOrderAndCheck(payParam);
|
||||
// 走首次下单逻辑还是重复下档逻辑
|
||||
if (Objects.isNull(payOrder)){
|
||||
return this.firstPay(payParam);
|
||||
|
@@ -59,7 +59,7 @@ public class PaySyncService {
|
||||
*/
|
||||
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
|
||||
public PaySyncResult sync(PaySyncParam param) {
|
||||
PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo())
|
||||
PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo(), param.getAppId())
|
||||
.orElseThrow(() -> new TradeNotExistException("支付订单不存在"));
|
||||
// 执行订单同步逻辑
|
||||
return this.syncPayOrder(payOrder);
|
||||
|
@@ -76,7 +76,7 @@ public class RefundService {
|
||||
}
|
||||
try {
|
||||
// 判断是否是首次发起退款
|
||||
Optional<RefundOrder> refund = refundOrderManager.findByBizRefundNo(param.getBizRefundNo());
|
||||
Optional<RefundOrder> refund = refundOrderManager.findByBizRefundNo(param.getBizRefundNo(), param.getAppId());
|
||||
if (refund.isPresent()){
|
||||
return this.repeatRefund(refund.get(),param);
|
||||
} else {
|
||||
@@ -93,7 +93,7 @@ public class RefundService {
|
||||
private RefundResult firstRefund(RefundParam param) {
|
||||
|
||||
// 获取支付订单
|
||||
PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo())
|
||||
PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo(), param.getAppId())
|
||||
.orElseThrow(() -> new DataNotExistException("支付订单不存在"));
|
||||
// 检查退款参数
|
||||
refundAssistService.checkAndParam(param, payOrder);
|
||||
@@ -146,7 +146,7 @@ public class RefundService {
|
||||
throw new TradeStatusErrorException("只有失败状态的才可以重新发起退款");
|
||||
}
|
||||
// 获取支付订单
|
||||
PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(refundOrder.getOrderNo(), refundOrder.getBizOrderNo())
|
||||
PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(refundOrder.getOrderNo(), refundOrder.getBizOrderNo(), refundOrder.getAppId())
|
||||
.orElseThrow(() -> new TradeNotExistException("支付订单不存在"));
|
||||
AbsRefundStrategy refundStrategy = PaymentStrategyFactory.create(refundOrder.getChannel(), AbsRefundStrategy.class);
|
||||
// 设置退款订单对象
|
||||
|
@@ -52,7 +52,7 @@ public class RefundSyncService {
|
||||
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
|
||||
public RefundSyncResult sync(RefundSyncParam param){
|
||||
// 先获取退款单
|
||||
RefundOrder refundOrder = refundOrderQueryService.findByBizOrRefundNo(param.getRefundNo(), param.getBizRefundNo())
|
||||
RefundOrder refundOrder = refundOrderQueryService.findByBizOrRefundNo(param.getRefundNo(), param.getBizRefundNo(),param.getAppId())
|
||||
.orElseThrow(() -> new TradeNotExistException("未查询到退款订单"));
|
||||
return this.syncRefundOrder(refundOrder);
|
||||
}
|
||||
|
@@ -57,7 +57,7 @@ public class TransferService {
|
||||
}
|
||||
try {
|
||||
// 判断是否是首次发起转账
|
||||
var transferOrder = transferOrderManager.findByBizTransferNo(param.getBizTransferNo());
|
||||
var transferOrder = transferOrderManager.findByBizTransferNo(param.getBizTransferNo(), param.getAppId());
|
||||
if (transferOrder.isPresent()){
|
||||
return this.repeatTransfer(transferOrder.get(),param);
|
||||
} else {
|
||||
|
@@ -53,7 +53,7 @@ public class TransferSyncService {
|
||||
* 转账同步接口
|
||||
*/
|
||||
public TransferSyncResult sync(TransferSyncParam param) {
|
||||
TransferOrder transferOrder = transferOrderService.findByBizOrTransferNo(param.getTransferNo(), param.getBizTransferNo())
|
||||
TransferOrder transferOrder = transferOrderService.findByBizOrTransferNo(param.getTransferNo(), param.getBizTransferNo(),param.getAppId())
|
||||
.orElseThrow(() -> new TradeNotExistException("退款订单不存在"));
|
||||
// 执行订单同步逻辑
|
||||
return this.syncTransferOrder(transferOrder);
|
||||
|
Reference in New Issue
Block a user