更改退款表结构信息;
This commit is contained in:
parent
9b21cdcada
commit
0c8f2e8d5f
|
|
@ -346,22 +346,23 @@ CREATE TABLE `t_order_snapshot` (
|
|||
-- 退款订单表
|
||||
DROP TABLE IF EXISTS t_refund_order;
|
||||
CREATE TABLE `t_refund_order` (
|
||||
`refund_order_id` VARCHAR(30) NOT NULL COMMENT '退款订单号',
|
||||
`pay_order_id` VARCHAR(30) NOT NULL COMMENT '支付订单号',
|
||||
`channel_pay_order_no` VARCHAR(64) DEFAULT NULL COMMENT '渠道支付单号',
|
||||
`refund_order_id` VARCHAR(30) NOT NULL COMMENT '退款订单号(支付系统生成订单号)',
|
||||
`pay_order_id` VARCHAR(30) NOT NULL COMMENT '支付订单号(与t_pay_order对应)',
|
||||
`channel_pay_order_no` VARCHAR(64) DEFAULT NULL COMMENT '渠道支付单号(与t_pay_order channel_order_no对应)',
|
||||
`mch_no` VARCHAR(64) NOT NULL COMMENT '商户号',
|
||||
`isv_no` VARCHAR(64) COMMENT '服务商号',
|
||||
`app_id` VARCHAR(64) NOT NULL COMMENT '应用ID',
|
||||
`mch_name` VARCHAR(30) NOT NULL COMMENT '商户名称',
|
||||
`mch_type` TINYINT(6) NOT NULL COMMENT '类型: 1-普通商户, 2-特约商户(服务商模式)',
|
||||
`mch_refund_no` VARCHAR(64) NOT NULL COMMENT '商户退款单号',
|
||||
`isv_no` VARCHAR(64) DEFAULT NULL COMMENT '服务商号',
|
||||
`mch_refund_no` VARCHAR(64) NOT NULL COMMENT '商户退款单号(商户系统的订单号)',
|
||||
`way_code` VARCHAR(20) NOT NULL COMMENT '支付方式代码',
|
||||
`if_code` VARCHAR(20) NOT NULL COMMENT '支付接口代码',
|
||||
`pay_amount` BIGINT(20) NOT NULL COMMENT '支付金额,单位分',
|
||||
`refund_amount` BIGINT(20) NOT NULL COMMENT '退款金额,单位分',
|
||||
`currency` VARCHAR(3) NOT NULL DEFAULT 'cny' COMMENT '三位货币代码,人民币:cny',
|
||||
`state` TINYINT(6) NOT NULL DEFAULT '0' COMMENT '退款状态:0-订单生成,1-退款中,2-退款成功,3-退款失败',
|
||||
`result` TINYINT(6) NOT NULL DEFAULT '0' COMMENT '退款结果:0-不确认结果,1-等待手动处理,2-确认成功,3-确认失败',
|
||||
`client_ip` VARCHAR(32) DEFAULT NULL COMMENT '客户端IP',
|
||||
`remark` VARCHAR(256) DEFAULT NULL COMMENT '备注',
|
||||
`refund_reason` VARCHAR(256) NOT NULL COMMENT '退款原因',
|
||||
`channel_order_no` VARCHAR(32) DEFAULT NULL COMMENT '渠道订单号',
|
||||
`channel_err_code` VARCHAR(128) DEFAULT NULL COMMENT '渠道错误码',
|
||||
`channel_err_msg` VARCHAR(128) DEFAULT NULL COMMENT '渠道错误描述',
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ import lombok.Data;
|
|||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
|
|
@ -38,7 +37,12 @@ import java.util.Date;
|
|||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("t_refund_order")
|
||||
public class RefundOrder extends BaseModel implements Serializable {
|
||||
public class RefundOrder extends BaseModel {
|
||||
|
||||
public static final byte STATE_INIT = 0; //订单生成
|
||||
public static final byte STATE_ING = 1; //退款中
|
||||
public static final byte STATE_SUCCESS = 2; //退款成功
|
||||
public static final byte STATE_FAIL = 3; //退款失败
|
||||
|
||||
public static final LambdaQueryWrapper<RefundOrder> gw(){
|
||||
return new LambdaQueryWrapper<>();
|
||||
|
|
@ -47,18 +51,18 @@ public class RefundOrder extends BaseModel implements Serializable {
|
|||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 退款订单号
|
||||
* 退款订单号(支付系统生成订单号)
|
||||
*/
|
||||
@TableId
|
||||
private String refundOrderId;
|
||||
|
||||
/**
|
||||
* 支付订单号
|
||||
* 支付订单号(与t_pay_order对应)
|
||||
*/
|
||||
private String payOrderId;
|
||||
|
||||
/**
|
||||
* 渠道支付单号
|
||||
* 渠道支付单号(与t_pay_order channel_order_no对应)
|
||||
*/
|
||||
private String channelPayOrderNo;
|
||||
|
||||
|
|
@ -67,21 +71,31 @@ public class RefundOrder extends BaseModel implements Serializable {
|
|||
*/
|
||||
private String mchNo;
|
||||
|
||||
/**
|
||||
* 服务商号
|
||||
*/
|
||||
private String isvNo;
|
||||
|
||||
/**
|
||||
* 应用ID
|
||||
*/
|
||||
private String appId;
|
||||
|
||||
/**
|
||||
* 商户名称
|
||||
*/
|
||||
private String mchName;
|
||||
|
||||
/**
|
||||
* 类型: 1-普通商户, 2-特约商户(服务商模式)
|
||||
*/
|
||||
private Byte mchType;
|
||||
|
||||
/**
|
||||
* 商户退款单号
|
||||
* 商户退款单号(商户系统的订单号)
|
||||
*/
|
||||
private String mchRefundNo;
|
||||
|
||||
/**
|
||||
* 服务商号
|
||||
*/
|
||||
private String isvNo;
|
||||
|
||||
/**
|
||||
* 支付方式代码
|
||||
*/
|
||||
|
|
@ -112,20 +126,15 @@ public class RefundOrder extends BaseModel implements Serializable {
|
|||
*/
|
||||
private Byte state;
|
||||
|
||||
/**
|
||||
* 退款结果:0-不确认结果,1-等待手动处理,2-确认成功,3-确认失败
|
||||
*/
|
||||
private Byte result;
|
||||
|
||||
/**
|
||||
* 客户端IP
|
||||
*/
|
||||
private String clientIp;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
* 退款原因
|
||||
*/
|
||||
private String remark;
|
||||
private String refundReason;
|
||||
|
||||
/**
|
||||
* 渠道订单号
|
||||
|
|
@ -172,5 +181,4 @@ public class RefundOrder extends BaseModel implements Serializable {
|
|||
*/
|
||||
private Date updatedAt;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,8 +15,6 @@
|
|||
*/
|
||||
package com.jeequan.jeepay.pay.ctrl.refund;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.jeequan.jeepay.core.constants.CS;
|
||||
import com.jeequan.jeepay.core.entity.*;
|
||||
import com.jeequan.jeepay.core.exception.BizException;
|
||||
import com.jeequan.jeepay.core.model.ApiRes;
|
||||
|
|
@ -25,18 +23,8 @@ import com.jeequan.jeepay.core.utils.SpringBeansUtil;
|
|||
import com.jeequan.jeepay.core.utils.StringKit;
|
||||
import com.jeequan.jeepay.pay.channel.IPaymentService;
|
||||
import com.jeequan.jeepay.pay.ctrl.ApiController;
|
||||
import com.jeequan.jeepay.pay.ctrl.payorder.AbstractPayOrderController;
|
||||
import com.jeequan.jeepay.pay.exception.ChannelException;
|
||||
import com.jeequan.jeepay.pay.model.IsvConfigContext;
|
||||
import com.jeequan.jeepay.pay.model.MchAppConfigContext;
|
||||
import com.jeequan.jeepay.pay.mq.queue.MqQueue4ChannelOrderQuery;
|
||||
import com.jeequan.jeepay.pay.rqrs.QueryPayOrderRQ;
|
||||
import com.jeequan.jeepay.pay.rqrs.QueryPayOrderRS;
|
||||
import com.jeequan.jeepay.pay.rqrs.msg.ChannelRetMsg;
|
||||
import com.jeequan.jeepay.pay.rqrs.payorder.UnifiedOrderRQ;
|
||||
import com.jeequan.jeepay.pay.rqrs.payorder.UnifiedOrderRS;
|
||||
import com.jeequan.jeepay.pay.rqrs.payorder.payway.QrCashierOrderRQ;
|
||||
import com.jeequan.jeepay.pay.rqrs.payorder.payway.QrCashierOrderRS;
|
||||
import com.jeequan.jeepay.pay.rqrs.refund.RefundOrderRQ;
|
||||
import com.jeequan.jeepay.pay.rqrs.refund.RefundOrderRS;
|
||||
import com.jeequan.jeepay.pay.service.ConfigContextService;
|
||||
|
|
@ -46,7 +34,6 @@ import lombok.extern.slf4j.Slf4j;
|
|||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.Date;
|
||||
|
|
@ -114,7 +101,7 @@ public class RefundOrderController extends ApiController {
|
|||
}
|
||||
|
||||
|
||||
RefundOrder refundOrder = genPayOrder(rq, payOrder, mchInfo, mchApp);
|
||||
RefundOrder refundOrder = genRefundOrder(rq, payOrder, mchInfo, mchApp);
|
||||
|
||||
//订单入库 订单状态: 生成状态 此时没有和任何上游渠道产生交互。
|
||||
refundOrderService.save(refundOrder);
|
||||
|
|
@ -140,31 +127,32 @@ public class RefundOrderController extends ApiController {
|
|||
|
||||
}
|
||||
|
||||
private RefundOrder genPayOrder(RefundOrderRQ rq, PayOrder payOrder, MchInfo mchInfo, MchApp mchApp){
|
||||
private RefundOrder genRefundOrder(RefundOrderRQ rq, PayOrder payOrder, MchInfo mchInfo, MchApp mchApp){
|
||||
|
||||
RefundOrder refundOrder = new RefundOrder();
|
||||
refundOrder.setRefundOrderId(SeqKit.genPayOrderId()); //退款订单号
|
||||
refundOrder.setPayOrderId(payOrder.getPayOrderId()); //支付订单号
|
||||
refundOrder.setChannelPayOrderNo(payOrder.getChannelOrderNo()); //渠道支付单号
|
||||
refundOrder.setMchNo(mchInfo.getMchNo()); //商户号
|
||||
refundOrder.setIsvNo(mchInfo.getIsvNo()); //服务商号
|
||||
refundOrder.setAppId(mchApp.getAppId()); //商户应用ID
|
||||
refundOrder.setMchName(mchInfo.getMchShortName()); //商户名称
|
||||
refundOrder.setMchType(mchInfo.getType()); //商户类型
|
||||
refundOrder.setMchRefundNo(rq.getMchRefundNo()); //商户退款单号
|
||||
refundOrder.setIsvNo(mchInfo.getIsvNo()); //服务商号
|
||||
refundOrder.setWayCode(payOrder.getWayCode()); //支付方式代码
|
||||
refundOrder.setIfCode(payOrder.getIfCode()); //支付接口代码
|
||||
refundOrder.setPayAmount(payOrder.getAmount()); //支付金额,单位分
|
||||
refundOrder.setRefundAmount(rq.getAmount()); //退款金额,单位分
|
||||
refundOrder.setRefundAmount(rq.getRefundAmount()); //退款金额,单位分
|
||||
refundOrder.setCurrency(rq.getCurrency()); //三位货币代码,人民币:cny
|
||||
refundOrder.setState(null); //退款状态:0-订单生成,1-退款中,2-退款成功,3-退款失败
|
||||
refundOrder.setResult(null); //退款结果:0-不确认结果,1-等待手动处理,2-确认成功,3-确认失败
|
||||
refundOrder.setClientIp(null); //客户端IP
|
||||
refundOrder.setRemark(null); //备注
|
||||
refundOrder.setState(RefundOrder.STATE_INIT); //退款状态:0-订单生成,1-退款中,2-退款成功,3-退款失败
|
||||
refundOrder.setClientIp(StringUtils.defaultIfEmpty(rq.getClientIp(), getClientIp())); //客户端IP
|
||||
refundOrder.setRefundReason(rq.getRefundReason()); //退款原因
|
||||
refundOrder.setChannelOrderNo(null); //渠道订单号
|
||||
refundOrder.setChannelErrCode(null); //渠道错误码
|
||||
refundOrder.setChannelErrMsg(null); //渠道错误描述
|
||||
refundOrder.setChannelExtra(null); //特定渠道发起时额外参数
|
||||
refundOrder.setNotifyUrl(null); //通知地址
|
||||
refundOrder.setExtParam(null); //扩展参数
|
||||
refundOrder.setChannelExtra(rq.getChannelExtra()); //特定渠道发起时额外参数
|
||||
refundOrder.setNotifyUrl(rq.getNotifyUrl()); //通知地址
|
||||
refundOrder.setExtParam(rq.getExtParam()); //扩展参数
|
||||
refundOrder.setSuccessTime(null); //订单退款成功时间
|
||||
refundOrder.setCreatedAt(new Date()); //创建时间
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public class RefundOrderRQ extends AbstractMchAppRQ {
|
|||
/** 退款金额, 单位:分 **/
|
||||
@NotNull(message="退款金额不能为空")
|
||||
@Min(value = 1, message = "退款金额请大于1分")
|
||||
private Long amount;
|
||||
private Long refundAmount;
|
||||
|
||||
/** 货币代码 **/
|
||||
@NotBlank(message="货币代码不能为空")
|
||||
|
|
|
|||
|
|
@ -8,18 +8,19 @@
|
|||
<result column="pay_order_id" property="payOrderId" />
|
||||
<result column="channel_pay_order_no" property="channelPayOrderNo" />
|
||||
<result column="mch_no" property="mchNo" />
|
||||
<result column="isv_no" property="isvNo" />
|
||||
<result column="app_id" property="appId" />
|
||||
<result column="mch_name" property="mchName" />
|
||||
<result column="mch_type" property="mchType" />
|
||||
<result column="mch_refund_no" property="mchRefundNo" />
|
||||
<result column="isv_no" property="isvNo" />
|
||||
<result column="way_code" property="wayCode" />
|
||||
<result column="if_code" property="ifCode" />
|
||||
<result column="pay_amount" property="payAmount" />
|
||||
<result column="refund_amount" property="refundAmount" />
|
||||
<result column="currency" property="currency" />
|
||||
<result column="state" property="state" />
|
||||
<result column="result" property="result" />
|
||||
<result column="client_ip" property="clientIp" />
|
||||
<result column="remark" property="remark" />
|
||||
<result column="refund_reason" property="refundReason" />
|
||||
<result column="channel_order_no" property="channelOrderNo" />
|
||||
<result column="channel_err_code" property="channelErrCode" />
|
||||
<result column="channel_err_msg" property="channelErrMsg" />
|
||||
|
|
|
|||
Loading…
Reference in New Issue