Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
oms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
oms-ci-test
Commits
9421212e
提交
9421212e
authored
9月 07, 2023
作者:
张小凤
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
NotRepeat(update)
上级
4065807d
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
23 行增加
和
21 行删除
+23
-21
NotRepeatSubmitConfig.java
...c/oms/controller/demand/commit/NotRepeatSubmitConfig.java
+23
-21
没有找到文件。
src/main/java/com/mmc/oms/controller/demand/commit/NotRepeatSubmitConfig.java
浏览文件 @
9421212e
...
...
@@ -88,25 +88,27 @@ public class NotRepeatSubmitConfig extends BaseController {
log
.
info
(
map
+
""
);
CommonPaymentVO
commonPaymentsVO
=
(
CommonPaymentVO
)
map
.
get
(
"commonPaymentVO"
);
String
json1
=
stringRedisTemplate
.
opsForValue
().
get
(
commonPaymentsVO
.
getOrderNumber
());
GetOrderNumberDTO
getOrderNumberDTO1
=
JSONObject
.
parseObject
(
json1
,
GetOrderNumberDTO
.
class
);
Integer
requirementsInfoId
=
getOrderNumberDTO1
.
getRequirementsInfoId
();
ServiceRequirementsDO
rep
=
repertory
(
requirementsInfoId
,
request
);
Integer
repertory2
=
rep
.
getRepertory
();
if
(
repertory2
<=
0
){
return
ResultBody
.
error
(
"需求已被人抢走"
);
}
String
accountUriLockKey
=
null
;
if
(
requirementsInfoId
!=
null
){
accountUriLockKey
=
requirementsInfoId
+
"-"
+
request
.
getServletPath
();
}
else
{
accountUriLockKey
=
userAccountId
+
"-"
+
request
.
getServletPath
();
}
if
(
requirementsInfoId
!=
null
&&
repertory2
!=
0
){
accountUriLockKey
=
requirementsInfoId
+
repertory2
+
"-"
+
request
.
getServletPath
();
}
Integer
requirementsInfoId
=
null
;
if
(
json1
!=
null
){
GetOrderNumberDTO
getOrderNumberDTO1
=
JSONObject
.
parseObject
(
json1
,
GetOrderNumberDTO
.
class
);
requirementsInfoId
=
getOrderNumberDTO1
.
getRequirementsInfoId
();
ServiceRequirementsDO
rep
=
repertory
(
requirementsInfoId
,
request
);
Integer
repertory2
=
rep
.
getRepertory
();
if
(
repertory2
<=
0
){
return
ResultBody
.
error
(
"需求已被人抢走"
);
}
if
(
requirementsInfoId
!=
null
){
accountUriLockKey
=
requirementsInfoId
+
"-"
+
request
.
getServletPath
();
}
else
{
accountUriLockKey
=
userAccountId
+
"-"
+
request
.
getServletPath
();
}
if
(
requirementsInfoId
!=
null
&&
repertory2
!=
0
){
accountUriLockKey
=
requirementsInfoId
+
repertory2
+
"-"
+
request
.
getServletPath
();
}
}
// 设置锁定资源名称,accountUriLock改为userid+uri作为标识,作为测试写死
// String accountUriLockKey = "accountUriLock";
RLock
accountUriLock
=
redissonClient
.
getLock
(
accountUriLockKey
);
boolean
tryLock
;
...
...
@@ -114,18 +116,18 @@ public class NotRepeatSubmitConfig extends BaseController {
Method
method
=
signature
.
getMethod
();
String
name
=
method
.
getDeclaringClass
().
getName
();
String
[]
parameterNames
=
signature
.
getParameterNames
();
//尝试获取分布式锁
//-1为永久 leaseTime 最多等待几秒 上锁以后leaseTime秒自动解锁
tryLock
=
accountUriLock
.
tryLock
(-
1
,
leaseTime
,
TimeUnit
.
MILLISECONDS
);
log
.
info
(
"tryLock:"
+
tryLock
);
if
(
tryLock
)
{
try
{
ServiceRequirementsDO
repertory
=
repertory
(
requirementsInfoId
,
request
);
Integer
repertory1
=
repertory
.
getRepertory
();
if
(
repertory1
<=
0
){
return
ResultBody
.
error
(
"需求已被人抢走"
);
if
(
requirementsInfoId
!=
null
){
ServiceRequirementsDO
repertory
=
repertory
(
requirementsInfoId
,
request
);
Integer
repertory1
=
repertory
.
getRepertory
();
if
(
repertory1
<=
0
){
return
ResultBody
.
error
(
"需求已被人抢走"
);
}
}
String
orderNumber
=
commonPaymentsVO
.
getOrderNumber
();
String
json
=
stringRedisTemplate
.
opsForValue
().
get
(
orderNumber
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论