mirror of
https://gitee.com/dromara/dax-pay.git
synced 2025-09-24 21:14:49 +00:00
feat 分账同步信息保存
This commit is contained in:
@@ -16,23 +16,24 @@
|
|||||||
- [x] 分账同步
|
- [x] 分账同步
|
||||||
- [ ] 保存分账同步记录
|
- [ ] 保存分账同步记录
|
||||||
- [ ] SDK支持分账相关接口
|
- [ ] SDK支持分账相关接口
|
||||||
- [ ] DEMO增加获取微信OpenID和支付宝OpenId功能
|
|
||||||
- [ ] 分账回调处理
|
- [ ] 分账回调处理
|
||||||
- [ ] 分账通知发送功能
|
- [x] 分账通知发送功能
|
||||||
- [x] 分账支持手动和自动分账两种
|
- [x] 分账支持手动和自动分账两种
|
||||||
- [ ] 金额过小不进行分账, 增加新状态, 金额小于0.01元直接忽略
|
- [ ] 金额过小不进行分账, 增加新状态, 金额小于0.01元直接忽略
|
||||||
- [ ] 增加收单收银台功能
|
|
||||||
- [x] 优化签名注解和上下文初始化注解切面
|
- [x] 优化签名注解和上下文初始化注解切面
|
||||||
- [x] 对账差异单, 数据不一致处理异常, 本地待对账订单类型记录错误
|
- [x] 对账差异单, 数据不一致处理异常, 本地待对账订单类型记录错误
|
||||||
- [x] 订单超时任务注册任务错误,id改为订单号
|
- [x] 订单超时任务注册任务错误,id改为订单号
|
||||||
- [x] 系统中金额分转元精度异常问题
|
- [x] 系统中金额分转元精度异常问题
|
||||||
|
|
||||||
2.0.7: 对账完善和系统优化
|
2.0.7: 对账完善和系统优化
|
||||||
|
- [ ] DEMO增加获取微信OpenID和支付宝OpenId功能
|
||||||
- [ ] 对账提供外部接口调用
|
- [ ] 对账提供外部接口调用
|
||||||
- [ ] 下载系统账单
|
- [ ] 下载系统账单
|
||||||
|
- [ ] 增加收单收银台功能
|
||||||
- [ ] 增加资金对账单功能
|
- [ ] 增加资金对账单功能
|
||||||
- [ ] 支付通道两个独立的配置进行合并为一个
|
- [ ] 支付通道两个独立的配置进行合并为一个
|
||||||
- [ ] 撤销接口
|
- [ ] 撤销接口
|
||||||
|
- [ ] 支付和退款达到终态不可以再回退回之前的状态, 只能添加差错单进行处理
|
||||||
|
|
||||||
2.1.x 版本内容
|
2.1.x 版本内容
|
||||||
- [ ] 差错单据处理
|
- [ ] 差错单据处理
|
||||||
|
@@ -12,6 +12,7 @@ import cn.daxpay.single.param.payment.allocation.AllocFinishParam;
|
|||||||
import cn.daxpay.single.service.annotation.PlatformInitContext;
|
import cn.daxpay.single.service.annotation.PlatformInitContext;
|
||||||
import cn.daxpay.single.service.core.order.allocation.service.AllocationOrderService;
|
import cn.daxpay.single.service.core.order.allocation.service.AllocationOrderService;
|
||||||
import cn.daxpay.single.service.core.payment.allocation.service.AllocationService;
|
import cn.daxpay.single.service.core.payment.allocation.service.AllocationService;
|
||||||
|
import cn.daxpay.single.service.core.payment.allocation.service.AllocationSyncService;
|
||||||
import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDetailDto;
|
import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDetailDto;
|
||||||
import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDto;
|
import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDto;
|
||||||
import cn.daxpay.single.service.param.order.AllocationOrderQuery;
|
import cn.daxpay.single.service.param.order.AllocationOrderQuery;
|
||||||
@@ -40,6 +41,8 @@ public class AllocationOrderController {
|
|||||||
|
|
||||||
private final AllocationService allocationService;
|
private final AllocationService allocationService;
|
||||||
|
|
||||||
|
private final AllocationSyncService allocationSyncService;
|
||||||
|
|
||||||
@Operation(summary = "分页")
|
@Operation(summary = "分页")
|
||||||
@GetMapping("/page")
|
@GetMapping("/page")
|
||||||
public ResResult<PageResult<AllocationOrderDto>> page(PageParam pageParam, AllocationOrderQuery param){
|
public ResResult<PageResult<AllocationOrderDto>> page(PageParam pageParam, AllocationOrderQuery param){
|
||||||
@@ -77,7 +80,7 @@ public class AllocationOrderController {
|
|||||||
public ResResult<Void> sync(String allocationNo){
|
public ResResult<Void> sync(String allocationNo){
|
||||||
AllocSyncParam param = new AllocSyncParam();
|
AllocSyncParam param = new AllocSyncParam();
|
||||||
param.setAllocationNo(allocationNo);
|
param.setAllocationNo(allocationNo);
|
||||||
allocationService.sync(param);
|
allocationSyncService.sync(param);
|
||||||
return Res.ok();
|
return Res.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
|
|||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分账同步接口
|
* 分账同步接口返回类
|
||||||
* @author xxm
|
* @author xxm
|
||||||
* @since 2024/5/20
|
* @since 2024/5/20
|
||||||
*/
|
*/
|
||||||
|
@@ -11,6 +11,7 @@ import cn.daxpay.single.service.annotation.PaymentSign;
|
|||||||
import cn.daxpay.single.service.annotation.PlatformInitContext;
|
import cn.daxpay.single.service.annotation.PlatformInitContext;
|
||||||
import cn.daxpay.single.service.core.payment.allocation.service.AllocationReceiverService;
|
import cn.daxpay.single.service.core.payment.allocation.service.AllocationReceiverService;
|
||||||
import cn.daxpay.single.service.core.payment.allocation.service.AllocationService;
|
import cn.daxpay.single.service.core.payment.allocation.service.AllocationService;
|
||||||
|
import cn.daxpay.single.service.core.payment.allocation.service.AllocationSyncService;
|
||||||
import cn.daxpay.single.util.DaxRes;
|
import cn.daxpay.single.util.DaxRes;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@@ -33,6 +34,8 @@ public class UniAllocationController {
|
|||||||
|
|
||||||
private final AllocationService allocationService;
|
private final AllocationService allocationService;
|
||||||
|
|
||||||
|
private final AllocationSyncService allocationSyncService;
|
||||||
|
|
||||||
private final AllocationReceiverService receiverService;
|
private final AllocationReceiverService receiverService;
|
||||||
|
|
||||||
@PaymentSign
|
@PaymentSign
|
||||||
@@ -56,7 +59,7 @@ public class UniAllocationController {
|
|||||||
@Operation(summary = "分账同步接口")
|
@Operation(summary = "分账同步接口")
|
||||||
@PostMapping("/sync")
|
@PostMapping("/sync")
|
||||||
public DaxResult<AllocationSyncResult> sync(@RequestBody AllocSyncParam param){
|
public DaxResult<AllocationSyncResult> sync(@RequestBody AllocSyncParam param){
|
||||||
return DaxRes.ok(allocationService.sync(param));
|
return DaxRes.ok(allocationSyncService.sync(param));
|
||||||
}
|
}
|
||||||
|
|
||||||
@PaymentSign
|
@PaymentSign
|
||||||
|
@@ -8,9 +8,11 @@ import cn.daxpay.single.service.code.AliPayCode;
|
|||||||
import cn.daxpay.single.service.common.local.PaymentContextLocal;
|
import cn.daxpay.single.service.common.local.PaymentContextLocal;
|
||||||
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder;
|
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder;
|
||||||
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail;
|
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail;
|
||||||
|
import cn.daxpay.single.service.core.payment.sync.result.AllocSyncResult;
|
||||||
import cn.daxpay.single.util.PayUtil;
|
import cn.daxpay.single.util.PayUtil;
|
||||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.alipay.api.AlipayResponse;
|
import com.alipay.api.AlipayResponse;
|
||||||
import com.alipay.api.domain.*;
|
import com.alipay.api.domain.*;
|
||||||
import com.alipay.api.request.AlipayTradeOrderSettleQueryRequest;
|
import com.alipay.api.request.AlipayTradeOrderSettleQueryRequest;
|
||||||
@@ -104,7 +106,7 @@ public class AliPayAllocationService {
|
|||||||
* 分账状态同步
|
* 分账状态同步
|
||||||
*/
|
*/
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public void sync(AllocationOrder allocationOrder, List<AllocationOrderDetail> allocationOrderDetails){
|
public AllocSyncResult sync(AllocationOrder allocationOrder, List<AllocationOrderDetail> allocationOrderDetails){
|
||||||
AlipayTradeOrderSettleQueryModel model = new AlipayTradeOrderSettleQueryModel();
|
AlipayTradeOrderSettleQueryModel model = new AlipayTradeOrderSettleQueryModel();
|
||||||
model.setTradeNo(allocationOrder.getOutOrderNo());
|
model.setTradeNo(allocationOrder.getOutOrderNo());
|
||||||
model.setOutRequestNo(allocationOrder.getOrderNo());
|
model.setOutRequestNo(allocationOrder.getOrderNo());
|
||||||
@@ -132,6 +134,7 @@ public class AliPayAllocationService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return new AllocSyncResult().setSyncInfo(JSONUtil.toJsonStr(response));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -9,6 +9,7 @@ import cn.daxpay.single.service.code.WeChatPayCode;
|
|||||||
import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig;
|
import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig;
|
||||||
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder;
|
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder;
|
||||||
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail;
|
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail;
|
||||||
|
import cn.daxpay.single.service.core.payment.sync.result.AllocSyncResult;
|
||||||
import cn.daxpay.single.service.dto.channel.wechat.WeChatPayAllocationReceiver;
|
import cn.daxpay.single.service.dto.channel.wechat.WeChatPayAllocationReceiver;
|
||||||
import cn.hutool.core.codec.Base64;
|
import cn.hutool.core.codec.Base64;
|
||||||
import cn.hutool.core.date.DatePattern;
|
import cn.hutool.core.date.DatePattern;
|
||||||
@@ -108,7 +109,7 @@ public class WeChatPayAllocationService {
|
|||||||
/**
|
/**
|
||||||
* 同步分账状态
|
* 同步分账状态
|
||||||
*/
|
*/
|
||||||
public void sync(AllocationOrder allocationOrder, List<AllocationOrderDetail> allocationOrderDetails, WeChatPayConfig config){
|
public AllocSyncResult sync(AllocationOrder allocationOrder, List<AllocationOrderDetail> allocationOrderDetails, WeChatPayConfig config){
|
||||||
// 不要传输AppId参数, 否则会失败
|
// 不要传输AppId参数, 否则会失败
|
||||||
Map<String, String> params = ProfitSharingModel.builder()
|
Map<String, String> params = ProfitSharingModel.builder()
|
||||||
.mch_id(config.getWxMchId())
|
.mch_id(config.getWxMchId())
|
||||||
@@ -137,6 +138,7 @@ public class WeChatPayAllocationService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return new AllocSyncResult().setSyncInfo(JSONUtil.toJsonStr(receivers));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -133,10 +133,10 @@ public class AllocationService {
|
|||||||
// TODO 返回异常处理
|
// TODO 返回异常处理
|
||||||
}
|
}
|
||||||
// 网关分账号
|
// 网关分账号
|
||||||
String gatewayNo = PaymentContextLocal.get()
|
String outAllocationNo = PaymentContextLocal.get()
|
||||||
.getAllocationInfo()
|
.getAllocationInfo()
|
||||||
.getOutAllocationNo();
|
.getOutAllocationNo();
|
||||||
order.setOutAllocationNo(gatewayNo);
|
order.setOutAllocationNo(outAllocationNo);
|
||||||
allocationOrderManager.updateById(order);
|
allocationOrderManager.updateById(order);
|
||||||
return new AllocationResult()
|
return new AllocationResult()
|
||||||
.setAllocationNo(order.getAllocationNo())
|
.setAllocationNo(order.getAllocationNo())
|
||||||
|
@@ -7,12 +7,17 @@ import cn.daxpay.single.code.AllocOrderResultEnum;
|
|||||||
import cn.daxpay.single.code.AllocOrderStatusEnum;
|
import cn.daxpay.single.code.AllocOrderStatusEnum;
|
||||||
import cn.daxpay.single.param.payment.allocation.AllocSyncParam;
|
import cn.daxpay.single.param.payment.allocation.AllocSyncParam;
|
||||||
import cn.daxpay.single.result.allocation.AllocationSyncResult;
|
import cn.daxpay.single.result.allocation.AllocationSyncResult;
|
||||||
|
import cn.daxpay.single.service.code.PaymentTypeEnum;
|
||||||
|
import cn.daxpay.single.service.common.local.PaymentContextLocal;
|
||||||
import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager;
|
import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager;
|
||||||
import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager;
|
import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager;
|
||||||
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder;
|
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder;
|
||||||
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail;
|
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail;
|
||||||
import cn.daxpay.single.service.core.payment.allocation.factory.AllocationFactory;
|
import cn.daxpay.single.service.core.payment.allocation.factory.AllocationFactory;
|
||||||
import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService;
|
import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService;
|
||||||
|
import cn.daxpay.single.service.core.payment.sync.result.AllocSyncResult;
|
||||||
|
import cn.daxpay.single.service.core.record.sync.entity.PaySyncRecord;
|
||||||
|
import cn.daxpay.single.service.core.record.sync.service.PaySyncRecordService;
|
||||||
import cn.daxpay.single.service.func.AbsAllocationStrategy;
|
import cn.daxpay.single.service.func.AbsAllocationStrategy;
|
||||||
import com.baomidou.lock.LockInfo;
|
import com.baomidou.lock.LockInfo;
|
||||||
import com.baomidou.lock.LockTemplate;
|
import com.baomidou.lock.LockTemplate;
|
||||||
@@ -37,11 +42,14 @@ import java.util.Objects;
|
|||||||
public class AllocationSyncService {
|
public class AllocationSyncService {
|
||||||
|
|
||||||
private final ClientNoticeService clientNoticeService;
|
private final ClientNoticeService clientNoticeService;
|
||||||
|
|
||||||
private final AllocationOrderManager allocationOrderManager;
|
private final AllocationOrderManager allocationOrderManager;
|
||||||
|
|
||||||
private final LockTemplate lockTemplate;
|
|
||||||
private final AllocationOrderDetailManager allocationOrderDetailManager;
|
private final AllocationOrderDetailManager allocationOrderDetailManager;
|
||||||
|
|
||||||
|
private final PaySyncRecordService paySyncRecordService;
|
||||||
|
|
||||||
|
private final LockTemplate lockTemplate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分账同步, 开启一个新的事务, 不受外部抛出异常的影响
|
* 分账同步, 开启一个新的事务, 不受外部抛出异常的影响
|
||||||
@@ -77,9 +85,9 @@ public class AllocationSyncService {
|
|||||||
allocationStrategy.initParam(allocationOrder, detailList);
|
allocationStrategy.initParam(allocationOrder, detailList);
|
||||||
// 分账完结预处理
|
// 分账完结预处理
|
||||||
allocationStrategy.doBeforeHandler();
|
allocationStrategy.doBeforeHandler();
|
||||||
allocationStrategy.doSync();
|
AllocSyncResult allocSyncResult = allocationStrategy.doSync();
|
||||||
// TODO 保存分账同步记录
|
// 保存分账同步记录
|
||||||
|
this.saveRecord(allocationOrder, allocSyncResult,null,null);
|
||||||
// 根据订单明细更新订单的状态和处理结果
|
// 根据订单明细更新订单的状态和处理结果
|
||||||
this.updateOrderStatus(allocationOrder, detailList);
|
this.updateOrderStatus(allocationOrder, detailList);
|
||||||
} finally {
|
} finally {
|
||||||
@@ -138,4 +146,21 @@ public class AllocationSyncService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存同步记录
|
||||||
|
*/
|
||||||
|
private void saveRecord(AllocationOrder order, AllocSyncResult syncResult, String errorCode, String errorMsg){
|
||||||
|
PaySyncRecord paySyncRecord = new PaySyncRecord()
|
||||||
|
.setBizTradeNo(order.getBizAllocationNo())
|
||||||
|
.setTradeNo(order.getAllocationNo())
|
||||||
|
.setOutTradeNo(order.getOutAllocationNo())
|
||||||
|
.setSyncType(PaymentTypeEnum.ALLOCATION.getCode())
|
||||||
|
.setChannel(order.getChannel())
|
||||||
|
.setSyncInfo(syncResult.getSyncInfo())
|
||||||
|
.setErrorCode(errorCode)
|
||||||
|
.setErrorMsg(errorMsg)
|
||||||
|
.setClientIp(PaymentContextLocal.get().getRequestInfo().getClientIp());
|
||||||
|
paySyncRecordService.saveRecord(paySyncRecord);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -5,6 +5,7 @@ import cn.daxpay.single.exception.pay.PayFailureException;
|
|||||||
import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig;
|
import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig;
|
||||||
import cn.daxpay.single.service.core.channel.alipay.service.AliPayAllocationService;
|
import cn.daxpay.single.service.core.channel.alipay.service.AliPayAllocationService;
|
||||||
import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService;
|
import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService;
|
||||||
|
import cn.daxpay.single.service.core.payment.sync.result.AllocSyncResult;
|
||||||
import cn.daxpay.single.service.func.AbsAllocationStrategy;
|
import cn.daxpay.single.service.func.AbsAllocationStrategy;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -74,8 +75,8 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy {
|
|||||||
* 同步状态
|
* 同步状态
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void doSync() {
|
public AllocSyncResult doSync() {
|
||||||
aliPayAllocationService.sync(this.getAllocationOrder(), this.getAllocationOrderDetails());
|
return aliPayAllocationService.sync(this.getAllocationOrder(), this.getAllocationOrderDetails());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -5,6 +5,7 @@ import cn.daxpay.single.exception.pay.PayFailureException;
|
|||||||
import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig;
|
import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig;
|
||||||
import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayAllocationService;
|
import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayAllocationService;
|
||||||
import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService;
|
import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService;
|
||||||
|
import cn.daxpay.single.service.core.payment.sync.result.AllocSyncResult;
|
||||||
import cn.daxpay.single.service.func.AbsAllocationStrategy;
|
import cn.daxpay.single.service.func.AbsAllocationStrategy;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -72,8 +73,8 @@ public class WeChatPayAllocationStrategy extends AbsAllocationStrategy {
|
|||||||
* 同步状态
|
* 同步状态
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void doSync() {
|
public AllocSyncResult doSync() {
|
||||||
weChatPayAllocationService.sync(this.getAllocationOrder(),this.getAllocationOrderDetails(),weChatPayConfig);
|
return weChatPayAllocationService.sync(this.getAllocationOrder(),this.getAllocationOrderDetails(),weChatPayConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -0,0 +1,16 @@
|
|||||||
|
package cn.daxpay.single.service.core.payment.sync.result;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分账同步结果
|
||||||
|
* @author xxm
|
||||||
|
* @since 2024/5/23
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class AllocSyncResult {
|
||||||
|
/** 同步时网关返回的对象, 序列化为json字符串 */
|
||||||
|
private String syncInfo;
|
||||||
|
}
|
@@ -47,7 +47,6 @@ public class PaySyncRecord extends MpCreateEntity implements EntityBaseFunction<
|
|||||||
* 三方支付返回状态
|
* 三方支付返回状态
|
||||||
* @see PaySyncStatusEnum
|
* @see PaySyncStatusEnum
|
||||||
* @see RefundSyncStatusEnum
|
* @see RefundSyncStatusEnum
|
||||||
* @see AllocOrderStatusEnum
|
|
||||||
*/
|
*/
|
||||||
@DbColumn(comment = "网关返回状态")
|
@DbColumn(comment = "网关返回状态")
|
||||||
private String outTradeStatus;
|
private String outTradeStatus;
|
||||||
|
@@ -16,7 +16,7 @@ import org.springframework.transaction.annotation.Propagation;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 支付同步记录
|
* 支付同步记录, 包括支付/退款/分账
|
||||||
* @author xxm
|
* @author xxm
|
||||||
* @since 2023/7/14
|
* @since 2023/7/14
|
||||||
*/
|
*/
|
||||||
|
@@ -2,6 +2,7 @@ package cn.daxpay.single.service.func;
|
|||||||
|
|
||||||
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder;
|
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder;
|
||||||
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail;
|
import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail;
|
||||||
|
import cn.daxpay.single.service.core.payment.sync.result.AllocSyncResult;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -48,5 +49,5 @@ public abstract class AbsAllocationStrategy implements PayStrategy{
|
|||||||
/**
|
/**
|
||||||
* 同步状态
|
* 同步状态
|
||||||
*/
|
*/
|
||||||
public abstract void doSync();
|
public abstract AllocSyncResult doSync();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user