1. 迁移交易订单的查询接口

2. 支付服务,重新初始化结构
This commit is contained in:
YunaiV
2020-11-27 18:38:39 +08:00
parent db4ee1ed7e
commit fdc83d4550
100 changed files with 1241 additions and 3604 deletions

View File

@@ -0,0 +1,58 @@
package cn.iocoder.mall.payservice.enums;
import cn.iocoder.common.framework.core.IntArrayValuable;
import java.util.Arrays;
/**
* 支付通道
*/
public enum PayChannelEnum implements IntArrayValuable {
WEIXIN_APP(100, "wx", "微信 App 支付"),
WEIXIN_PUB(101, "wxjs", "微信 JS API 支付"),
ALIPAY(200, "alipay", "支付宝 App 支付"),
PINGXX(9999, "ping++", "ping++ 支付"),
;
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(PayChannelEnum::getId).toArray();
/**
* 渠道编号
*/
private Integer id;
/**
* 编码
*/
private String code;
/**
* 渠道名
*/
private String name;
PayChannelEnum(Integer id, String code, String name) {
this.id = id;
this.code = code;
this.name = name;
}
public Integer getId() {
return id;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
@Override
public int[] array() {
return ARRAYS;
}
}

View File

@@ -0,0 +1,7 @@
package cn.iocoder.mall.payservice.rpc.app;
/**
* 支付应用 RPC 接口
*/
public interface PayAppRpc {
}

View File

@@ -0,0 +1,36 @@
package cn.iocoder.mall.payservice.rpc.app.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* 支付应用 Response DTO
*/
@Data
@Accessors(chain = true)
public class PayAppRespDTO implements Serializable {
/**
* 应用编号
*/
private String id;
/**
* 应用名
*/
private String name;
/**
* 异步通知地址
*/
private String payNotifyUrl;
/**
* 退款异步通知地址
*/
private String refundNotifyUrl;
/**
* 状态
*/
private Integer status;
}

View File

@@ -0,0 +1 @@
package cn.iocoder.mall.payservice.rpc;

View File

@@ -0,0 +1,10 @@
package cn.iocoder.mall.payservice.rpc.transaction;
/**
* 支付交易单 RPC 接口
*/
public interface PayTransactionRpc {
}

View File

@@ -0,0 +1,66 @@
package cn.iocoder.mall.payservice.rpc.transaction.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* 支付交易单创建 DTO
*/
@Data
@Accessors(chain = true)
public class PayTransactionCreateReqDTO implements Serializable {
/**
* 应用编号
*/
@NotEmpty(message = "应用编号不能为空")
private String appId;
/**
* 发起交易的 IP
*/
@NotEmpty(message = "IP 不能为空")
private String createIp;
/**
* 订单号
*/
@NotEmpty(message = "订单号不能为空")
private String orderId;
/**
* 商品名
*/
@NotEmpty(message = "商品名不能为空")
@Length(max = 32, message = "商品名不能超过32")
private String orderSubject;
/**
* 订单商品描述
*/
@NotEmpty(message = "商品描述不能为空")
@Length(max = 128, message = "商品描述长度不能超过128")
private String orderDescription;
/**
* 订单商品备注
*/
@Length(max = 256, message = "商品备注长度不能超过256")
private String orderMemo;
/**
* 支付金额,单位:分
*/
@NotNull(message = "金额不能为空")
@DecimalMin(value = "0", inclusive = false, message = "金额必须大于零")
private Integer price;
/**
* 交易过期时间
*/
@NotNull(message = "交易过期时间不能为空")
private Date expireTime;
}