Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
6532cc5e
Commit
6532cc5e
authored
Feb 11, 2025
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重复打卡提交
parent
48ec9854
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
1 deletion
+17
-1
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/qiandao/QdUserSignInServiceImpl.java
.../com/wwdz/ch/wx/impl/qiandao/QdUserSignInServiceImpl.java
+17
-1
No files found.
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/qiandao/QdUserSignInServiceImpl.java
View file @
6532cc5e
...
...
@@ -5,6 +5,7 @@ import com.wwdz.ch.core.api.qiandao.QdWxAppletApi;
import
com.wwdz.ch.core.api.wxpay.WxPayServiceApi
;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.consts.DistributionEnum
;
import
com.wwdz.ch.core.consts.ResultCode
;
import
com.wwdz.ch.core.consts.SigninEnum
;
import
com.wwdz.ch.core.consts.qiandao.SignInTaskEnum
;
import
com.wwdz.ch.core.consts.qiandao.WxCheckEnum
;
...
...
@@ -21,6 +22,8 @@ import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInRequestDto;
import
com.wwdz.ch.wx.service.qiandao.QdUserSignInService
;
import
com.xxdxxs.utils.DateUtils
;
import
com.xxdxxs.utils.StringUtils
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RedissonClient
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -37,6 +40,7 @@ import java.time.format.DateTimeFormatter;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
@Service
public
class
QdUserSignInServiceImpl
implements
QdUserSignInService
{
...
...
@@ -76,6 +80,9 @@ public class QdUserSignInServiceImpl implements QdUserSignInService {
@Autowired
QdSignInRankingDao
qdSignInRankingDao
;
@Autowired
RedissonClient
redissonClient
;
@Override
public
Result
check
(
QdUserSignInRequestDto
dto
)
{
try
{
...
...
@@ -115,9 +122,14 @@ public class QdUserSignInServiceImpl implements QdUserSignInService {
@Transactional
@Override
public
Result
signIn
(
QdUserSignInRequestDto
dto
)
{
long
userId
=
dto
.
getUserId
();
String
key
=
"sign_in:"
+
userId
;
RLock
lock
=
redissonClient
.
getLock
(
key
);
try
{
if
(!
lock
.
tryLock
(
3
,
TimeUnit
.
SECONDS
))
{
return
Result
.
failed
(
"请勿重复提交"
);
}
Date
now
=
new
Date
();
long
userId
=
dto
.
getUserId
();
Long
taskId
=
dto
.
getTaskId
()
==
null
?
CommConsts
.
DEFAULT_TASK_ID
:
dto
.
getTaskId
();
SignInTask
signInTask
=
signInTaskDao
.
findById
(
taskId
);
//签到目标天数
...
...
@@ -268,6 +280,10 @@ public class QdUserSignInServiceImpl implements QdUserSignInService {
}
catch
(
Exception
e
)
{
logger
.
error
(
"乾岛签到失败 error:{}"
,
e
);
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
}
finally
{
if
(
lock
!=
null
&&
lock
.
isHeldByCurrentThread
())
{
lock
.
unlock
();
}
}
return
Result
.
failed
();
}
...
...
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