Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
计全科技
jeepay
提交
4ce79e12
jeepay
项目概览
计全科技
/
jeepay
通知
10
Star
3
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
6
Wiki
分析
仓库
DevOps
项目成员
Pages
jeepay
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
6
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
4ce79e12
编写于
4月 13, 2018
作者:
D
dingzhiwei
提交者:
GitHub
4月 13, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #7 from cbwleft/bugfix/channelOrderNo
Bugfix/channel order no
上级
708aa64b
2c47ca68
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
11 addition
and
7 deletion
+11
-7
xxpay4spring-boot/src/main/java/org/xxpay/boot/service/BaseService.java
...oot/src/main/java/org/xxpay/boot/service/BaseService.java
+2
-1
xxpay4spring-boot/src/main/java/org/xxpay/boot/service/impl/NotifyPayServiceImpl.java
...ava/org/xxpay/boot/service/impl/NotifyPayServiceImpl.java
+8
-5
xxpay4spring-boot/src/main/java/org/xxpay/boot/service/impl/PayOrderServiceImpl.java
...java/org/xxpay/boot/service/impl/PayOrderServiceImpl.java
+1
-1
未找到文件。
xxpay4spring-boot/src/main/java/org/xxpay/boot/service/BaseService.java
浏览文件 @
4ce79e12
...
...
@@ -81,10 +81,11 @@ public class BaseService {
return
payOrderMapper
.
updateByExampleSelective
(
payOrder
,
example
);
}
public
int
baseUpdateStatus4Success
(
String
payOrderId
)
{
public
int
baseUpdateStatus4Success
(
String
payOrderId
,
String
channelOrderNo
)
{
PayOrder
payOrder
=
new
PayOrder
();
payOrder
.
setPayOrderId
(
payOrderId
);
payOrder
.
setStatus
(
PayConstant
.
PAY_STATUS_SUCCESS
);
if
(
channelOrderNo
!=
null
)
payOrder
.
setChannelOrderNo
(
channelOrderNo
);
payOrder
.
setPaySuccTime
(
System
.
currentTimeMillis
());
PayOrderExample
example
=
new
PayOrderExample
();
PayOrderExample
.
Criteria
criteria
=
example
.
createCriteria
();
...
...
xxpay4spring-boot/src/main/java/org/xxpay/boot/service/impl/NotifyPayServiceImpl.java
浏览文件 @
4ce79e12
...
...
@@ -57,14 +57,15 @@ public class NotifyPayServiceImpl extends Notify4BasePay implements INotifyPaySe
_log
.
warn
(
"处理支付宝支付回调失败, {}. jsonParam={}"
,
RetEnum
.
RET_PARAM_INVALID
.
getMessage
(),
jsonParam
);
return
RpcUtil
.
createFailResult
(
baseParam
,
RetEnum
.
RET_PARAM_INVALID
);
}
Map
<
String
,
Object
>
payContext
=
new
HashMap
();
Map
<
String
,
Object
>
payContext
=
new
HashMap
<>
();
PayOrder
payOrder
;
payContext
.
put
(
"parameters"
,
params
);
if
(!
verifyAliPayParams
(
payContext
))
{
return
RpcUtil
.
createFailResult
(
baseParam
,
RetEnum
.
RET_BIZ_PAY_NOTIFY_VERIFY_FAIL
);
}
_log
.
info
(
"{}验证支付通知数据及签名通过"
,
logPrefix
);
String
trade_status
=
params
.
get
(
"trade_status"
).
toString
();
// 交易状态
String
trade_status
=
String
.
valueOf
(
params
.
get
(
"trade_status"
));
// 交易状态
String
trade_no
=
String
.
valueOf
(
params
.
get
(
"trade_no"
));
// 渠道订单号
// 支付状态成功或者完成
if
(
trade_status
.
equals
(
PayConstant
.
AlipayConstant
.
TRADE_STATUS_SUCCESS
)
||
trade_status
.
equals
(
PayConstant
.
AlipayConstant
.
TRADE_STATUS_FINISHED
))
{
...
...
@@ -72,7 +73,7 @@ public class NotifyPayServiceImpl extends Notify4BasePay implements INotifyPaySe
payOrder
=
(
PayOrder
)
payContext
.
get
(
"payOrder"
);
byte
payStatus
=
payOrder
.
getStatus
();
// 0:订单生成,1:支付中,-1:支付失败,2:支付成功,3:业务处理完成,-2:订单过期
if
(
payStatus
!=
PayConstant
.
PAY_STATUS_SUCCESS
&&
payStatus
!=
PayConstant
.
PAY_STATUS_COMPLETE
)
{
updatePayOrderRows
=
super
.
baseUpdateStatus4Success
(
payOrder
.
getPayOrderId
());
updatePayOrderRows
=
super
.
baseUpdateStatus4Success
(
payOrder
.
getPayOrderId
()
,
trade_no
);
if
(
updatePayOrderRows
!=
1
)
{
_log
.
error
(
"{}更新支付状态失败,将payOrderId={},更新payStatus={}失败"
,
logPrefix
,
payOrder
.
getPayOrderId
(),
PayConstant
.
PAY_STATUS_SUCCESS
);
_log
.
info
(
"{}响应给支付宝结果:{}"
,
logPrefix
,
PayConstant
.
RETURN_ALIPAY_VALUE_FAIL
);
...
...
@@ -80,6 +81,7 @@ public class NotifyPayServiceImpl extends Notify4BasePay implements INotifyPaySe
}
_log
.
info
(
"{}更新支付状态成功,将payOrderId={},更新payStatus={}成功"
,
logPrefix
,
payOrder
.
getPayOrderId
(),
PayConstant
.
PAY_STATUS_SUCCESS
);
payOrder
.
setStatus
(
PayConstant
.
PAY_STATUS_SUCCESS
);
payOrder
.
setChannelOrderNo
(
trade_no
);
}
}
else
{
// 其他状态
...
...
@@ -112,7 +114,7 @@ public class NotifyPayServiceImpl extends Notify4BasePay implements INotifyPaySe
}
WxPayService
wxPayService
=
new
WxPayServiceImpl
();
WxPayOrderNotifyResult
result
=
WxPayOrderNotifyResult
.
fromXML
(
xmlResult
);
Map
<
String
,
Object
>
payContext
=
new
HashMap
();
Map
<
String
,
Object
>
payContext
=
new
HashMap
<>
();
payContext
.
put
(
"parameters"
,
result
);
// 验证业务数据是否正确,验证通过后返回PayOrder和WxPayConfig对象
if
(!
verifyWxPayParams
(
payContext
))
{
...
...
@@ -126,13 +128,14 @@ public class NotifyPayServiceImpl extends Notify4BasePay implements INotifyPaySe
// 处理订单
byte
payStatus
=
payOrder
.
getStatus
();
// 0:订单生成,1:支付中,-1:支付失败,2:支付成功,3:业务处理完成,-2:订单过期
if
(
payStatus
!=
PayConstant
.
PAY_STATUS_SUCCESS
&&
payStatus
!=
PayConstant
.
PAY_STATUS_COMPLETE
)
{
int
updatePayOrderRows
=
super
.
baseUpdateStatus4Success
(
payOrder
.
getPayOrderId
());
int
updatePayOrderRows
=
super
.
baseUpdateStatus4Success
(
payOrder
.
getPayOrderId
()
,
result
.
getTransactionId
()
);
if
(
updatePayOrderRows
!=
1
)
{
_log
.
error
(
"{}更新支付状态失败,将payOrderId={},更新payStatus={}失败"
,
logPrefix
,
payOrder
.
getPayOrderId
(),
PayConstant
.
PAY_STATUS_SUCCESS
);
return
RpcUtil
.
createBizResult
(
baseParam
,
WxPayNotifyResponse
.
fail
(
"处理订单失败"
));
}
_log
.
error
(
"{}更新支付状态成功,将payOrderId={},更新payStatus={}成功"
,
logPrefix
,
payOrder
.
getPayOrderId
(),
PayConstant
.
PAY_STATUS_SUCCESS
);
payOrder
.
setStatus
(
PayConstant
.
PAY_STATUS_SUCCESS
);
payOrder
.
setChannelOrderNo
(
result
.
getTransactionId
());
}
// 业务系统后端通知
doNotify
(
payOrder
);
...
...
xxpay4spring-boot/src/main/java/org/xxpay/boot/service/impl/PayOrderServiceImpl.java
浏览文件 @
4ce79e12
...
...
@@ -230,7 +230,7 @@ public class PayOrderServiceImpl extends BaseService implements IPayOrderService
_log
.
warn
(
"修改支付订单状态为支付成功失败, {}. jsonParam={}"
,
RetEnum
.
RET_PARAM_INVALID
.
getMessage
(),
jsonParam
);
return
RpcUtil
.
createFailResult
(
baseParam
,
RetEnum
.
RET_PARAM_INVALID
);
}
int
result
=
super
.
baseUpdateStatus4Success
(
payOrderId
);
int
result
=
super
.
baseUpdateStatus4Success
(
payOrderId
,
null
);
return
RpcUtil
.
createBizResult
(
baseParam
,
result
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录