1. 迁移支付交易的提交 RPC 接口

2. 迁移支付交易的获取 RPC 接口
This commit is contained in:
YunaiV
2020-11-29 01:43:30 +08:00
parent d1b6118052
commit c60f9c71bf
79 changed files with 628 additions and 496 deletions

View File

@@ -1,7 +1,7 @@
package cn.iocoder.mall.payservice.rpc.transaction;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.payservice.rpc.transaction.dto.PayTransactionCreateReqDTO;
import cn.iocoder.mall.payservice.rpc.transaction.dto.*;
/**
* 支付交易单 RPC 接口
@@ -16,4 +16,20 @@ public interface PayTransactionRpc {
*/
CommonResult<Integer> createPayTransaction(PayTransactionCreateReqDTO createReqDTO);
/**
* 提交支付交易单
*
* @param submitReqDTO 提交信息
* @return 提交响应,包含三方支付的响应
*/
CommonResult<PayTransactionSubmitRespDTO> submitPayTransaction(PayTransactionSubmitReqDTO submitReqDTO);
/**
* 获得当支付交易单
*
* @param getReqDTO 获得条件
* @return 支付交易单
*/
CommonResult<PayTransactionRespDTO> getPayTransaction(PayTransactionGetReqDTO getReqDTO);
}

View File

@@ -17,6 +17,12 @@ import java.util.Date;
@Accessors(chain = true)
public class PayTransactionCreateReqDTO implements Serializable {
/**
* 用户编号
*/
@NotNull(message = "用户编号不能为空")
private Integer userId;
/**
* 应用编号
*/

View File

@@ -0,0 +1,27 @@
package cn.iocoder.mall.payservice.rpc.transaction.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotEmpty;
/**
* 支付交易获得 Request DTO
*/
@Data
@Accessors(chain = true)
public class PayTransactionGetReqDTO {
/**
* 应用编号
*/
@NotEmpty(message = "应用编号不能为空")
private String appId;
/**
* 订单号
*/
@NotEmpty(message = "订单号不能为空")
private String orderId;
}

View File

@@ -0,0 +1,96 @@
package cn.iocoder.mall.payservice.rpc.transaction.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 支付交易 Response DTO
*/
@Data
@Accessors(chain = true)
public class PayTransactionRespDTO {
/**
* 编号,自增
*/
private Integer id;
/**
* 用户编号
*/
private Integer userId;
/**
* 应用编号
*/
private String appId;
/**
* 发起交易的 IP
*/
private String createIp;
/**
* 业务线的订单编号
*/
private String orderId;
/**
* 订单商品名
*/
private String orderSubject;
/**
* 订单商品描述
*/
private String orderDescription;
/**
* 订单备注
*/
private String orderMemo;
/**
* 支付金额,单位:分。
*/
private Integer price;
/**
* 订单状态
*/
private Integer status;
/**
* 交易过期时间
*/
private Date expireTime;
/**
* 回调业务线完成时间
*/
private Date finishTime;
/**
* 异步通知地址
*/
private String notifyUrl;
/**
* 成功支付的交易拓展编号
*/
private Integer extensionId;
/**
* 支付成功的支付渠道
*/
private Integer payChannel;
/**
* 第三方支付成功的时间
*/
private Date paymentTime;
/**
* 收到第三方系统通知的时间
*/
private Date notifyTime;
/**
* 第三方的流水号
*/
private String tradeNo;
/**
* 退款总金额
*/
private Integer refundTotal;
/**
* 创建时间
*/
private Date createTime;
}

View File

@@ -0,0 +1,43 @@
package cn.iocoder.mall.payservice.rpc.transaction.dto;
import cn.iocoder.common.framework.validator.InEnum;
import cn.iocoder.mall.payservice.enums.PayChannelEnum;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
* 支付交易提交 Request VO
*/
@Data
@Accessors(chain = true)
public class PayTransactionSubmitReqDTO {
/**
* 应用编号
*/
@NotEmpty(message = "应用编号不能为空")
private String appId;
/**
* 发起交易的 IP
*/
@NotEmpty(message = "IP 不能为空")
private String createIp;
/**
* 订单号
*/
@NotEmpty(message = "订单号不能为空")
private String orderId;
/**
* 支付渠道
*/
@InEnum(value = PayChannelEnum.class, message = "支付渠道必须是 {value}")
@NotNull(message = "支付渠道")
private Integer payChannel;
}

View File

@@ -0,0 +1,23 @@
package cn.iocoder.mall.payservice.rpc.transaction.dto;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 支付交易提交 Response DTO
*/
@Data
@Accessors(chain = true)
public class PayTransactionSubmitRespDTO {
/**
* 支付交易拓展单编号
*/
private Integer id;
/**
* 调用三方平台的响应结果
*/
private String invokeResponse;
}