Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
3e156b18
提交
3e156b18
authored
4月 21, 2019
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
后端:pingxx 回调接口,增加错误日志
上级
e0713cda
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
6 行增加
和
1 行删除
+6
-1
PayTransactionController.java
...pplication/controller/users/PayTransactionController.java
+1
-0
PayServiceImpl.java
.../java/cn/iocoder/mall/pay/biz/service/PayServiceImpl.java
+5
-1
没有找到文件。
pay/pay-application/src/main/java/cn/iocoder/mall/pay/application/controller/users/PayTransactionController.java
浏览文件 @
3e156b18
...
...
@@ -49,6 +49,7 @@ public class PayTransactionController {
@PostMapping
(
value
=
"pingxx_pay_success"
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
// @GetMapping(value = "pingxx_pay_success")
public
String
pingxxSuccess
(
HttpServletRequest
request
)
throws
IOException
{
logger
.
info
(
"[pingxxSuccess][被回调]"
);
// 读取 webhook
StringBuilder
sb
=
new
StringBuilder
();
try
(
BufferedReader
reader
=
request
.
getReader
())
{
...
...
pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/service/PayServiceImpl.java
浏览文件 @
3e156b18
...
...
@@ -154,7 +154,8 @@ public class PayServiceImpl implements PayTransactionService {
if
(
updateCounts
==
0
)
{
// 校验状态,必须是待支付
throw
ServiceExceptionUtil
.
exception
(
PayErrorCodeEnum
.
PAY_TRANSACTION_EXTENSION_STATUS_IS_NOT_WAITING
.
getCode
());
}
// 2.1
logger
.
info
(
"[updateTransactionPaySuccess][PayTransactionExtensionDO({}) 更新为已支付]"
,
payTransactionExtension
.
getId
());
// 2.1 判断 PayTransactionDO 是否处于待支付
PayTransactionDO
payTransactionDO
=
payTransactionMapper
.
selectById
(
payTransactionExtension
.
getTransactionId
());
if
(
payTransactionDO
==
null
)
{
return
ServiceExceptionUtil
.
error
(
PayErrorCodeEnum
.
PAY_TRANSACTION_NOT_FOUND
.
getCode
());
...
...
@@ -175,6 +176,7 @@ public class PayServiceImpl implements PayTransactionService {
if
(
updateCounts
==
0
)
{
// 校验状态,必须是待支付 TODO 这种类型,需要思考下。需要返回错误,但是又要保证事务回滚
throw
ServiceExceptionUtil
.
exception
(
PayErrorCodeEnum
.
PAY_TRANSACTION_STATUS_IS_NOT_WAITING
.
getCode
());
}
logger
.
info
(
"[updateTransactionPaySuccess][PayTransactionDO({}) 更新为已支付]"
,
payTransactionDO
.
getId
());
// 3.1 插入
PayTransactionNotifyTaskDO
payTransactionNotifyTask
=
new
PayTransactionNotifyTaskDO
()
.
setTransactionId
(
payTransactionExtension
.
getTransactionId
()).
setTransactionExtensionId
(
payTransactionExtension
.
getId
())
...
...
@@ -184,9 +186,11 @@ public class PayServiceImpl implements PayTransactionService {
.
setNextNotifyTime
(
DateUtil
.
addDate
(
Calendar
.
SECOND
,
PayTransactionNotifyTaskDO
.
NOTIFY_FREQUENCY
[
0
]))
.
setNotifyUrl
(
payTransactionDO
.
getNotifyUrl
());
payTransactionNotifyTaskMapper
.
insert
(
payTransactionNotifyTask
);
logger
.
info
(
"[updateTransactionPaySuccess][PayTransactionNotifyTaskDO({}) 新增一个任务]"
,
payTransactionNotifyTask
.
getId
());
// 3.2 发送 MQ
rocketMQTemplate
.
convertAndSend
(
MQConstant
.
TOPIC_PAY_TRANSACTION_PAY_SUCCESS
,
PayTransactionConvert
.
INSTANCE
.
convert
(
payTransactionNotifyTask
));
logger
.
info
(
"[updateTransactionPaySuccess][PayTransactionNotifyTaskDO({}) 发送 MQ 任务]"
,
payTransactionNotifyTask
.
getId
());
// 返回结果
return
CommonResult
.
success
(
true
);
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论