mirror of
https://gitee.com/dromara/dax-pay.git
synced 2025-09-25 13:26:04 +00:00
feat 交易流水联调
This commit is contained in:
@@ -1,8 +1,25 @@
|
||||
# CHANGELOG
|
||||
## [v2.0.7]
|
||||
- 新增: 资金流水记录功能
|
||||
- 新增: 分账功能支持分账组分账和自己传接收方进行分账
|
||||
- 新增: 分账接收的添加、删除、查询接口调用
|
||||
- 新增: 分账发起、完结、同步功能支持接口调用
|
||||
- 新增: 支持自动分账和手动发起分账两种
|
||||
- 新增: 分账通知发送功能
|
||||
- 新增:
|
||||
- 优化:
|
||||
- fix:
|
||||
- 新增:
|
||||
- 优化: 对超时订单进行处理(数据库定时同步)
|
||||
- 优化: 订单金额小于0.01元直接忽略不进行分账,增加新状态,
|
||||
- 优化: 优化签名注解和上下文初始化注解切面
|
||||
- 优化: 分账重试会自动根据分账失败和
|
||||
- 优化: 优化签名注解和上下文初始化注解切面, 更方便初始化上下文
|
||||
- fix: 对账差异单数据不一致处理异常, 本地待对账订单类型记录错误
|
||||
- fix: 订单超时任务注册任务错误,id改为订单号
|
||||
- fix: 系统中金额分转元精度异常问题
|
||||
- fix: 同步回调处理参数订单号接收失败
|
||||
- fix: 支付和退款消息签名值不一致问题
|
||||
- fix: 分账发起时错误的使用订单号作为分账号
|
||||
|
||||
## [v2.0.6]
|
||||
- 新增: 下载原始对账单功能,转换为指定格式进行下载
|
||||
- 新增: 增加对账结果计算和显示,以及对单差异数据查看功能
|
||||
|
11
_doc/Task.md
11
_doc/Task.md
@@ -3,7 +3,7 @@
|
||||
- [x] 新增资金流水
|
||||
- [x] 增加对超时订单进行处理(数据库同步)
|
||||
- [x] 支持分账组分账和自己传接收方进行分账
|
||||
- [x] 分账组管理提供接口调用
|
||||
- [x] 分账提供接口调用
|
||||
- [x] 添加分账接收方
|
||||
- [x] 查询分账接收方
|
||||
- [x] 删除分账接收方
|
||||
@@ -16,10 +16,6 @@
|
||||
- [x] 分账同步
|
||||
- [x] 保存分账同步记录
|
||||
- [x] SDK支持分账相关接口
|
||||
- [ ] 分账结果通知处理
|
||||
- [ ] 支付宝通知
|
||||
- [ ] 微信通知
|
||||
- [ ] 通知记录保存
|
||||
- [x] 分账重试支持完结失败
|
||||
- [x] 分账通知发送功能
|
||||
- [x] 分账支持手动和自动分账两种
|
||||
@@ -31,13 +27,16 @@
|
||||
- [x] 同步回调处理参数订单号接收失败
|
||||
- [x] 支付和退款消息签名值不一致问题
|
||||
- [x] 分账发起时错误的使用订单号作为分账号
|
||||
- [x] 支付宝发起时使用
|
||||
|
||||
2.0.7: 对账完善和系统优化
|
||||
- [ ] DEMO增加获取微信OpenID和支付宝OpenId功能
|
||||
- [ ] 管理端界面支持扫码绑定对账接收方功能
|
||||
- [ ] 对账提供外部接口调用
|
||||
- [ ] 下载系统账单
|
||||
- [ ] 分账结果通知处理
|
||||
- [ ] 支付宝通知
|
||||
- [ ] 微信通知
|
||||
- [ ] 通知记录保存
|
||||
- [ ] 增加收单收银台功能
|
||||
- [ ] 增加资金对账单功能
|
||||
- [ ] 支付通道两个独立的配置进行合并为一个
|
||||
|
@@ -12,6 +12,6 @@ import lombok.experimental.Accessors;
|
||||
@Accessors(chain = true)
|
||||
public class AllocationLocal {
|
||||
|
||||
/** 三方系统分账号 */
|
||||
/** 通道分账号 */
|
||||
private String outAllocationNo;
|
||||
}
|
||||
|
@@ -48,15 +48,15 @@ public class TradeFlowRecord extends MpCreateEntity implements EntityBaseFunctio
|
||||
private String channel;
|
||||
|
||||
/** 本地交易号 */
|
||||
@DbColumn(comment = "本地订单号")
|
||||
@DbColumn(comment = "本地交易号")
|
||||
private String tradeNo;
|
||||
|
||||
/** 商户交易号 */
|
||||
@DbColumn(comment = "商户交易号")
|
||||
private String bizTradeNo;
|
||||
|
||||
/** 三方系统交易号 */
|
||||
@DbColumn(comment = "三方系统交易号")
|
||||
/** 通道交易号 */
|
||||
@DbColumn(comment = "通道交易号")
|
||||
private String outTradeNo;
|
||||
|
||||
@Override
|
||||
|
@@ -66,7 +66,7 @@ public class TradeFlowRecordService {
|
||||
.setOutTradeNo(refundOrder.getOutRefundNo())
|
||||
.setChannel(refundOrder.getChannel())
|
||||
.setTitle(refundOrder.getTitle())
|
||||
.setType(TradeFlowRecordTypeEnum.PAY.getCode())
|
||||
.setType(TradeFlowRecordTypeEnum.REFUND.getCode())
|
||||
.setAmount(refundOrder.getAmount());
|
||||
tradeFlowRecordManager.save(tradeFlowRecord);
|
||||
}
|
||||
|
@@ -1,10 +1,12 @@
|
||||
package cn.daxpay.single.service.dto.record.flow;
|
||||
|
||||
import cn.bootx.platform.common.core.rest.dto.BaseDto;
|
||||
import cn.bootx.table.modify.annotation.DbColumn;
|
||||
import cn.daxpay.single.code.PayChannelEnum;
|
||||
import cn.daxpay.single.service.code.TradeFlowRecordTypeEnum;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
@@ -12,10 +14,11 @@ import lombok.experimental.Accessors;
|
||||
* @author xxm
|
||||
* @since 2024/5/17
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@Schema(title = "资金流水记录")
|
||||
public class TradeFlowRecordDto {
|
||||
public class TradeFlowRecordDto extends BaseDto {
|
||||
|
||||
/** 订单标题 */
|
||||
@DbColumn(comment = "标题")
|
||||
@@ -47,7 +50,7 @@ public class TradeFlowRecordDto {
|
||||
@DbColumn(comment = "商户交易号")
|
||||
private String bizTradeNo;
|
||||
|
||||
/** 三方系统交易号 */
|
||||
@DbColumn(comment = "三方系统交易号")
|
||||
/** 通道交易号 */
|
||||
@DbColumn(comment = "通道交易号")
|
||||
private String outTradeNo;
|
||||
}
|
||||
|
@@ -1,5 +1,8 @@
|
||||
package cn.daxpay.single.service.param.record;
|
||||
|
||||
import cn.bootx.platform.common.core.annotation.QueryParam;
|
||||
import cn.daxpay.single.code.PayChannelEnum;
|
||||
import cn.daxpay.single.service.code.TradeFlowRecordTypeEnum;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
@@ -10,9 +13,44 @@ import lombok.experimental.Accessors;
|
||||
* @since 2024/5/17
|
||||
*/
|
||||
@Data
|
||||
@QueryParam(type = QueryParam.CompareTypeEnum.LIKE)
|
||||
@Accessors(chain = true)
|
||||
@Schema(title = "流水记录查询类")
|
||||
public class TradeFlowRecordQuery {
|
||||
|
||||
/** 订单标题 */
|
||||
@Schema(description = "订单标题")
|
||||
private String title;
|
||||
|
||||
/** 金额 */
|
||||
@Schema(description = "金额")
|
||||
private Integer amount;
|
||||
|
||||
/**
|
||||
* 业务类型
|
||||
* @see TradeFlowRecordTypeEnum
|
||||
*/
|
||||
@QueryParam(type = QueryParam.CompareTypeEnum.EQ)
|
||||
@Schema(description = "业务类型")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 支付通道
|
||||
* @see PayChannelEnum
|
||||
*/
|
||||
@Schema(description = "支付通道")
|
||||
private String channel;
|
||||
|
||||
/** 本地交易号 */
|
||||
@Schema(description = "本地交易号")
|
||||
private String tradeNo;
|
||||
|
||||
/** 商户交易号 */
|
||||
@Schema(description = "商户交易号")
|
||||
private String bizTradeNo;
|
||||
|
||||
/** 通道交易号 */
|
||||
@Schema(description = "通道交易号")
|
||||
private String outTradeNo;
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user