Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
liuxu0511
jeepay
提交
0c8f2e8d
jeepay
项目概览
liuxu0511
/
jeepay
与 Fork 源项目一致
Fork自
计全科技 / jeepay
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
jeepay
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
0c8f2e8d
编写于
6月 16, 2021
作者:
terrfly
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更改退款表结构信息;
上级
9b21cdca
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
52 addition
and
54 deletion
+52
-54
docs/sql/init.sql
docs/sql/init.sql
+8
-7
jeepay-core/src/main/java/com/jeequan/jeepay/core/entity/RefundOrder.java
...main/java/com/jeequan/jeepay/core/entity/RefundOrder.java
+27
-19
jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/refund/RefundOrderController.java
...jeequan/jeepay/pay/ctrl/refund/RefundOrderController.java
+12
-24
jeepay-payment/src/main/java/com/jeequan/jeepay/pay/rqrs/refund/RefundOrderRQ.java
...ava/com/jeequan/jeepay/pay/rqrs/refund/RefundOrderRQ.java
+1
-1
jeepay-service/src/main/java/com/jeequan/jeepay/service/mapper/RefundOrderMapper.xml
...a/com/jeequan/jeepay/service/mapper/RefundOrderMapper.xml
+4
-3
未找到文件。
docs/sql/init.sql
浏览文件 @
0c8f2e8d
...
...
@@ -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'
,
`re
mark`
VARCHAR
(
256
)
DEFAULT
NULL
COMMENT
'备注
'
,
`re
fund_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
'渠道错误描述'
,
...
...
jeepay-core/src/main/java/com/jeequan/jeepay/core/entity/RefundOrder.java
浏览文件 @
0c8f2e8d
...
...
@@ -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
;
...
...
@@ -68,19 +72,29 @@ public class RefundOrder extends BaseModel implements Serializable {
private
String
mchNo
;
/**
*
类型: 1-普通商户, 2-特约商户(服务商模式)
*
服务商号
*/
private
Byte
mchType
;
private
String
isvNo
;
/**
*
商户退款单号
*
应用ID
*/
private
String
mchRefundNo
;
private
String
appId
;
/**
*
服务商号
*
商户名称
*/
private
String
isvNo
;
private
String
mchName
;
/**
* 类型: 1-普通商户, 2-特约商户(服务商模式)
*/
private
Byte
mchType
;
/**
* 商户退款单号(商户系统的订单号)
*/
private
String
mchRefundNo
;
/**
* 支付方式代码
...
...
@@ -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
re
mark
;
private
String
re
fundReason
;
/**
* 渠道订单号
...
...
@@ -172,5 +181,4 @@ public class RefundOrder extends BaseModel implements Serializable {
*/
private
Date
updatedAt
;
}
jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/refund/RefundOrderController.java
浏览文件 @
0c8f2e8d
...
...
@@ -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
=
gen
Pay
Order
(
rq
,
payOrder
,
mchInfo
,
mchApp
);
RefundOrder
refundOrder
=
gen
Refund
Order
(
rq
,
payOrder
,
mchInfo
,
mchApp
);
//订单入库 订单状态: 生成状态 此时没有和任何上游渠道产生交互。
refundOrderService
.
save
(
refundOrder
);
...
...
@@ -140,31 +127,32 @@ public class RefundOrderController extends ApiController {
}
private
RefundOrder
gen
Pay
Order
(
RefundOrderRQ
rq
,
PayOrder
payOrder
,
MchInfo
mchInfo
,
MchApp
mchApp
){
private
RefundOrder
gen
Refund
Order
(
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
.
get
Refund
Amount
());
//退款金额,单位分
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
());
//创建时间
...
...
jeepay-payment/src/main/java/com/jeequan/jeepay/pay/rqrs/refund/RefundOrderRQ.java
浏览文件 @
0c8f2e8d
...
...
@@ -45,7 +45,7 @@ public class RefundOrderRQ extends AbstractMchAppRQ {
/** 退款金额, 单位:分 **/
@NotNull
(
message
=
"退款金额不能为空"
)
@Min
(
value
=
1
,
message
=
"退款金额请大于1分"
)
private
Long
a
mount
;
private
Long
refundA
mount
;
/** 货币代码 **/
@NotBlank
(
message
=
"货币代码不能为空"
)
...
...
jeepay-service/src/main/java/com/jeequan/jeepay/service/mapper/RefundOrderMapper.xml
浏览文件 @
0c8f2e8d
...
...
@@ -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=
"re
mark"
property=
"remark
"
/>
<result
column=
"re
fund_reason"
property=
"refundReason
"
/>
<result
column=
"channel_order_no"
property=
"channelOrderNo"
/>
<result
column=
"channel_err_code"
property=
"channelErrCode"
/>
<result
column=
"channel_err_msg"
property=
"channelErrMsg"
/>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录