mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-27 01:32:03 +08:00
支付系统的实体的初始化
This commit is contained in:
parent
5133cd0fdf
commit
711a074059
@ -0,0 +1,6 @@
|
|||||||
|
/**
|
||||||
|
* 提供 POJO 类的实体转换
|
||||||
|
*
|
||||||
|
* 目前使用 MapStruct 框架
|
||||||
|
*/
|
||||||
|
package cn.iocoder.yudao.adminserver.modules.pay.convert;
|
@ -0,0 +1 @@
|
|||||||
|
<http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao>
|
@ -0,0 +1,57 @@
|
|||||||
|
package cn.iocoder.yudao.adminserver.modules.pay.dal.dataobject.merchant;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付应用 DO
|
||||||
|
* 一个商户下,可能会有多个支付应用。例如说,京东有京东商城、京东到家等等
|
||||||
|
* 不过一般来说,一个商户,只有一个应用哈~
|
||||||
|
*
|
||||||
|
* 即 PayMerchantDO : PayAppDO = 1 : n
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PayAppDO extends BaseDO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 应用编号,数据库自增
|
||||||
|
*/
|
||||||
|
@TableId
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 应用号
|
||||||
|
* 例如说,60cc81e0e4b06afc4d3f0cfq
|
||||||
|
*/
|
||||||
|
private String no;
|
||||||
|
/**
|
||||||
|
* 应用名
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
* 状态
|
||||||
|
*
|
||||||
|
* 枚举 {@link CommonStatusEnum}
|
||||||
|
*/
|
||||||
|
private Integer status;
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
/**
|
||||||
|
* 应用私钥
|
||||||
|
* TODO 芋艿:用途
|
||||||
|
*/
|
||||||
|
private String secret;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商户编号
|
||||||
|
*
|
||||||
|
* 关联 {@link PayMerchantDO#getId()}
|
||||||
|
*/
|
||||||
|
private Long merchantId;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,55 @@
|
|||||||
|
package cn.iocoder.yudao.adminserver.modules.pay.dal.dataobject.merchant;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.adminserver.modules.pay.enums.PayChannelCodeEnum;
|
||||||
|
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付渠道 DO
|
||||||
|
* 一个应用下,会有多种支付渠道,例如说微信支付、支付宝支付等等
|
||||||
|
*
|
||||||
|
* 即 PayAppDO : PayChannelDO = 1 : n
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PayChannelDO extends BaseDO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 渠道编号,数据库自增
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 渠道编码
|
||||||
|
*
|
||||||
|
* 枚举 {@link PayChannelCodeEnum}
|
||||||
|
*/
|
||||||
|
private String code;
|
||||||
|
/**
|
||||||
|
* 状态
|
||||||
|
*
|
||||||
|
* 枚举 {@link CommonStatusEnum}
|
||||||
|
*/
|
||||||
|
private Integer status;
|
||||||
|
/**
|
||||||
|
* 渠道费率,单位:百分比
|
||||||
|
*/
|
||||||
|
private Double feeRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商户编号
|
||||||
|
*
|
||||||
|
* 关联 {@link PayMerchantDO#getId()}
|
||||||
|
*/
|
||||||
|
private Long merchantId;
|
||||||
|
/**
|
||||||
|
* 应用编号
|
||||||
|
*
|
||||||
|
* 关联 {@link PayAppDO#getId()}
|
||||||
|
*/
|
||||||
|
private String appId;
|
||||||
|
|
||||||
|
// TODO 芋艿:不同渠道的配置。暂时考虑硬编码
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,46 @@
|
|||||||
|
package cn.iocoder.yudao.adminserver.modules.pay.dal.dataobject.merchant;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商户信息 DO
|
||||||
|
* 目前暂时没有特别的用途,主要为未来多商户提供基础。
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PayMerchantDO extends BaseDO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商户编号,数据库自增
|
||||||
|
*/
|
||||||
|
@TableId
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 商户号
|
||||||
|
* 例如说,M233666999
|
||||||
|
*/
|
||||||
|
private String no;
|
||||||
|
/**
|
||||||
|
* 商户全称
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
* 商户简称
|
||||||
|
*/
|
||||||
|
private String shortName;
|
||||||
|
/**
|
||||||
|
* 状态
|
||||||
|
*
|
||||||
|
* 枚举 {@link CommonStatusEnum}
|
||||||
|
*/
|
||||||
|
private Integer status;
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package cn.iocoder.yudao.adminserver.modules.pay.dal.dataobject.order;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商户支付、退款等的通知
|
||||||
|
* 在支付系统收到支付渠道的支付、退款的结果后,需要不断的通知到业务系统,直到成功。
|
||||||
|
* TODO 芋艿:待完善
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PayNotifyDO extends BaseDO {
|
||||||
|
}
|
@ -0,0 +1,167 @@
|
|||||||
|
package cn.iocoder.yudao.adminserver.modules.pay.dal.dataobject.order;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.adminserver.modules.pay.dal.dataobject.merchant.PayAppDO;
|
||||||
|
import cn.iocoder.yudao.adminserver.modules.pay.dal.dataobject.merchant.PayChannelDO;
|
||||||
|
import cn.iocoder.yudao.adminserver.modules.pay.dal.dataobject.merchant.PayMerchantDO;
|
||||||
|
import cn.iocoder.yudao.adminserver.modules.pay.enums.PayChannelCodeEnum;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付订单 DO
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PayOrderDO extends BaseDO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单编号,数据库自增
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 订单号,根据规则生成
|
||||||
|
*
|
||||||
|
* 例如说,P202110132239124200055
|
||||||
|
*/
|
||||||
|
private String no;
|
||||||
|
/**
|
||||||
|
* 商户编号
|
||||||
|
*
|
||||||
|
* 关联 {@link PayMerchantDO#getId()}
|
||||||
|
*/
|
||||||
|
private Long merchantId;
|
||||||
|
/**
|
||||||
|
* 应用编号
|
||||||
|
*
|
||||||
|
* 关联 {@link PayAppDO#getId()}
|
||||||
|
*/
|
||||||
|
private Long appId;
|
||||||
|
/**
|
||||||
|
* 渠道编号
|
||||||
|
*
|
||||||
|
* 关联 {@link PayChannelDO#getMerchantId()}
|
||||||
|
*/
|
||||||
|
private Long channelId;
|
||||||
|
/**
|
||||||
|
* 商户编码
|
||||||
|
*
|
||||||
|
* 枚举 {@link PayChannelCodeEnum}
|
||||||
|
*/
|
||||||
|
private String channelCode;
|
||||||
|
|
||||||
|
// ========== 商户相关字段 ==========
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商户订单号
|
||||||
|
* 例如说,内部系统 A 的订单号。需要保证每个 PayMerchantDO 唯一 TODO 芋艿:需要在测试下
|
||||||
|
*/
|
||||||
|
private String merchantOrderNo;
|
||||||
|
/**
|
||||||
|
* 商品标题
|
||||||
|
*/
|
||||||
|
private String subject;
|
||||||
|
/**
|
||||||
|
* 商品描述信息
|
||||||
|
*/
|
||||||
|
private String body;
|
||||||
|
/**
|
||||||
|
* 商户拓展参数
|
||||||
|
*/
|
||||||
|
private String merchantExtra;
|
||||||
|
/**
|
||||||
|
* 通知商户支付结果的回调状态
|
||||||
|
* TODO 芋艿:0 未发送 1 已发送
|
||||||
|
*/
|
||||||
|
private Integer notifyStatus;
|
||||||
|
|
||||||
|
// ========== 订单相关字段 ==========
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付金额,单位:分
|
||||||
|
*/
|
||||||
|
private Long amount;
|
||||||
|
/**
|
||||||
|
* 渠道手续费
|
||||||
|
*
|
||||||
|
* 冗余 {@link PayChannelDO#getFeeRate()}
|
||||||
|
*/
|
||||||
|
private Double channelFeeRate;
|
||||||
|
/**
|
||||||
|
* 渠道手续金额
|
||||||
|
*/
|
||||||
|
private Long channelFeeAmount;
|
||||||
|
/**
|
||||||
|
* 支付状态
|
||||||
|
*
|
||||||
|
* TODO 芋艿:状态枚举
|
||||||
|
*/
|
||||||
|
private Integer status;
|
||||||
|
/**
|
||||||
|
* 客户端 IP
|
||||||
|
*/
|
||||||
|
private String clientIp;
|
||||||
|
/**
|
||||||
|
* 订单支付成功时间
|
||||||
|
*/
|
||||||
|
private Date successTime;
|
||||||
|
/**
|
||||||
|
* 订单失效时间
|
||||||
|
*/
|
||||||
|
private Date expiredTime;
|
||||||
|
/**
|
||||||
|
* 支付渠道的额外参数
|
||||||
|
*
|
||||||
|
* 参见 https://www.pingxx.com/api/支付渠道%20extra%20参数说明.html
|
||||||
|
*/
|
||||||
|
private String channelExtra;
|
||||||
|
/**
|
||||||
|
* 异步通知地址
|
||||||
|
*/
|
||||||
|
private String notifyUrl;
|
||||||
|
/**
|
||||||
|
* 页面跳转地址
|
||||||
|
*/
|
||||||
|
private String returnUrl;
|
||||||
|
|
||||||
|
// TODO 芋艿:可能要优化
|
||||||
|
/**
|
||||||
|
* 渠道支付错误码
|
||||||
|
*/
|
||||||
|
private String errorCode;
|
||||||
|
/**
|
||||||
|
* 渠道支付错误消息
|
||||||
|
*/
|
||||||
|
private String errorMessage;
|
||||||
|
|
||||||
|
// ========== 退款相关字段 ==========
|
||||||
|
/**
|
||||||
|
* 退款状态
|
||||||
|
*
|
||||||
|
* TODO 芋艿:0 - 未退款;1 - 部分退款; 2 - 全额退款
|
||||||
|
*/
|
||||||
|
private Integer refundStatus;
|
||||||
|
/**
|
||||||
|
* 退款次数
|
||||||
|
*/
|
||||||
|
private Integer refundTimes;
|
||||||
|
/**
|
||||||
|
* 退款总金额,单位:分
|
||||||
|
*/
|
||||||
|
private Long refundAmount;
|
||||||
|
|
||||||
|
// ========== 渠道相关字段 ==========
|
||||||
|
/**
|
||||||
|
* 渠道用户编号
|
||||||
|
*
|
||||||
|
* 例如说,微信 openid、支付宝账号
|
||||||
|
*/
|
||||||
|
private String channelUserId;
|
||||||
|
/**
|
||||||
|
* 渠道订单号
|
||||||
|
*/
|
||||||
|
private String channelOrderNo;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,133 @@
|
|||||||
|
package cn.iocoder.yudao.adminserver.modules.pay.dal.dataobject.order;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.adminserver.modules.pay.dal.dataobject.merchant.PayAppDO;
|
||||||
|
import cn.iocoder.yudao.adminserver.modules.pay.dal.dataobject.merchant.PayChannelDO;
|
||||||
|
import cn.iocoder.yudao.adminserver.modules.pay.dal.dataobject.merchant.PayMerchantDO;
|
||||||
|
import cn.iocoder.yudao.adminserver.modules.pay.enums.PayChannelCodeEnum;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付退款单 DO
|
||||||
|
* 一个支付订单,可以拥有多个支付退款单
|
||||||
|
*
|
||||||
|
* 即 PayOrderDO : PayRefundDO = 1 : n
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PayRefundDO extends BaseDO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退款单编号,数据库自增
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 退款单号,根据规则生成
|
||||||
|
*
|
||||||
|
* 例如说,R202109181134287570000
|
||||||
|
*/
|
||||||
|
private String no;
|
||||||
|
/**
|
||||||
|
* 商户编号
|
||||||
|
*
|
||||||
|
* 关联 {@link PayMerchantDO#getId()}
|
||||||
|
*/
|
||||||
|
private Long merchantId;
|
||||||
|
/**
|
||||||
|
* 应用编号
|
||||||
|
*
|
||||||
|
* 关联 {@link PayAppDO#getId()}
|
||||||
|
*/
|
||||||
|
private Long appId;
|
||||||
|
/**
|
||||||
|
* 渠道编号
|
||||||
|
*
|
||||||
|
* 关联 {@link PayChannelDO#getMerchantId()}
|
||||||
|
*/
|
||||||
|
private Long channelId;
|
||||||
|
/**
|
||||||
|
* 商户编码
|
||||||
|
*
|
||||||
|
* 枚举 {@link PayChannelCodeEnum}
|
||||||
|
*/
|
||||||
|
private String channelCode;
|
||||||
|
/**
|
||||||
|
* 订单编号
|
||||||
|
*
|
||||||
|
* 关联 {@link PayOrderDO#getId()}
|
||||||
|
*/
|
||||||
|
private Long orderId;
|
||||||
|
|
||||||
|
// ========== 商户相关字段 ==========
|
||||||
|
/**
|
||||||
|
* 商户退款订单号
|
||||||
|
* 例如说,内部系统 A 的退款订单号。需要保证每个 PayMerchantDO 唯一 TODO 芋艿:需要在测试下
|
||||||
|
*/
|
||||||
|
private String merchantRefundNo;
|
||||||
|
/**
|
||||||
|
* 商户拓展参数
|
||||||
|
*/
|
||||||
|
private String merchantExtra;
|
||||||
|
|
||||||
|
// ========== 退款相关字段 ==========
|
||||||
|
/**
|
||||||
|
* 退款状态
|
||||||
|
*
|
||||||
|
* TODO 芋艿:状态枚举
|
||||||
|
*/
|
||||||
|
private Integer status;
|
||||||
|
/**
|
||||||
|
* 客户端 IP
|
||||||
|
*/
|
||||||
|
private String clientIp;
|
||||||
|
/**
|
||||||
|
* 退款金额,单位:分
|
||||||
|
*/
|
||||||
|
private Long amount;
|
||||||
|
/**
|
||||||
|
* 退款原因
|
||||||
|
*/
|
||||||
|
private String reason;
|
||||||
|
/**
|
||||||
|
* 订单退款成功时间
|
||||||
|
*/
|
||||||
|
private Date successTime;
|
||||||
|
/**
|
||||||
|
* 退款失效时间
|
||||||
|
*/
|
||||||
|
private Date expiredTime;
|
||||||
|
/**
|
||||||
|
* 支付渠道的额外参数
|
||||||
|
*
|
||||||
|
* 参见 https://www.pingxx.com/api/Refunds%20退款概述.html
|
||||||
|
*/
|
||||||
|
private String channelExtra;
|
||||||
|
/**
|
||||||
|
* 异步通知地址
|
||||||
|
*/
|
||||||
|
private String notifyUrl;
|
||||||
|
|
||||||
|
// TODO 芋艿:可能要优化
|
||||||
|
/**
|
||||||
|
* 渠道支付错误码
|
||||||
|
*/
|
||||||
|
private String errorCode;
|
||||||
|
/**
|
||||||
|
* 渠道支付错误消息
|
||||||
|
*/
|
||||||
|
private String errorMessage;
|
||||||
|
|
||||||
|
// ========== 渠道相关字段 ==========
|
||||||
|
/**
|
||||||
|
* 渠道订单号
|
||||||
|
*/
|
||||||
|
private String channelOrderNo;
|
||||||
|
/**
|
||||||
|
* 渠道退款号
|
||||||
|
*/
|
||||||
|
private String channelRefundNo;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
package cn.iocoder.yudao.adminserver.modules.pay.dal.dataobject;
|
@ -0,0 +1,28 @@
|
|||||||
|
package cn.iocoder.yudao.adminserver.modules.pay.enums;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付渠道的编码的枚举
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum PayChannelCodeEnum {
|
||||||
|
|
||||||
|
wx_pub("wx_pub", "微信 JSAPI 支付");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编码
|
||||||
|
*
|
||||||
|
* 参考 https://www.pingxx.com/api/支付渠道属性值.html
|
||||||
|
*/
|
||||||
|
private String code;
|
||||||
|
/**
|
||||||
|
* 名字
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
/**
|
||||||
|
* pay 包下,我们放支付业务,提供业务的支付能力。
|
||||||
|
* 例如说:商户、应用、支付、退款等等
|
||||||
|
*
|
||||||
|
* 缩写:pay
|
||||||
|
*/
|
||||||
|
package cn.iocoder.yudao.adminserver.modules.pay;
|
@ -3,6 +3,7 @@ package cn.iocoder.yudao.coreservice.modules.infra.dal.dataobject.logger;
|
|||||||
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
import cn.iocoder.yudao.coreservice.modules.infra.enums.logger.InfApiErrorLogProcessStatusEnum;
|
import cn.iocoder.yudao.coreservice.modules.infra.enums.logger.InfApiErrorLogProcessStatusEnum;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
@ -25,6 +26,7 @@ public class InfApiErrorLogDO extends BaseDO {
|
|||||||
/**
|
/**
|
||||||
* 编号
|
* 编号
|
||||||
*/
|
*/
|
||||||
|
@TableId
|
||||||
private Long id;
|
private Long id;
|
||||||
/**
|
/**
|
||||||
* 用户编号
|
* 用户编号
|
||||||
|
Loading…
Reference in New Issue
Block a user