Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
order-group-application
order-group
Commits
2ad120c4
Commit
2ad120c4
authored
Apr 23, 2020
by
姜海波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
预约单
parent
731cade8
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
2 deletions
+23
-2
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/util/LockUtils.java
+23
-2
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/util/LockUtils.java
View file @
2ad120c4
...
@@ -13,10 +13,14 @@ public class LockUtils {
...
@@ -13,10 +13,14 @@ public class LockUtils {
private
static
String
redis_lock_after
=
"saas:lockAfter:"
;
private
static
String
redis_lock_after
=
"saas:lockAfter:"
;
public
static
Boolean
lockAfter
(
RedisTemplate
redisTemplate
,
String
afterId
){
public
static
Boolean
lockAfter
(
RedisTemplate
redisTemplate
,
String
afterId
){
return
l
ock
(
redisTemplate
,
redis_lock_after
+
afterId
);
return
redisL
ock
(
redisTemplate
,
redis_lock_after
+
afterId
);
}
}
private
static
boolean
lock
(
RedisTemplate
redisTemplate
,
String
key
){
public
static
Boolean
lock
(
RedisTemplate
redisTemplate
,
String
key
,
Long
second
){
return
redisLockByTime
(
redisTemplate
,
key
,
second
);
}
private
static
boolean
redisLock
(
RedisTemplate
redisTemplate
,
String
key
){
String
lock
=
key
;
String
lock
=
key
;
// 利用lambda表达式
// 利用lambda表达式
return
(
Boolean
)
redisTemplate
.
execute
((
RedisCallback
)
connection
->
{
return
(
Boolean
)
redisTemplate
.
execute
((
RedisCallback
)
connection
->
{
...
@@ -32,4 +36,21 @@ public class LockUtils {
...
@@ -32,4 +36,21 @@ public class LockUtils {
});
});
}
}
private
static
boolean
redisLockByTime
(
RedisTemplate
redisTemplate
,
String
key
,
Long
second
){
String
lock
=
key
;
Long
lockSecond
=
second
;
// 利用lambda表达式
return
(
Boolean
)
redisTemplate
.
execute
((
RedisCallback
)
connection
->
{
long
expireAt
=
second
;
Boolean
acquire
=
connection
.
setNX
(
lock
.
getBytes
(),
String
.
valueOf
(
expireAt
).
getBytes
());
if
(
acquire
)
{
connection
.
expire
(
lock
.
getBytes
(),
expireAt
);
return
true
;
}
else
{
return
false
;
}
});
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment