Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cust-api
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李伟
cust-api
Commits
4f89e919
Commit
4f89e919
authored
Feb 20, 2025
by
罗林杰
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
a7c610b6
d687221d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
33 deletions
+21
-33
MemLeaveMessageServiceImpl.java
...LeaveMessage/service/impl/MemLeaveMessageServiceImpl.java
+21
-24
ScheduleTasks.java
src/main/java/org/rcisoft/core/schedule/ScheduleTasks.java
+0
-9
No files found.
src/main/java/org/rcisoft/business/memLeaveMessage/service/impl/MemLeaveMessageServiceImpl.java
View file @
4f89e919
...
...
@@ -30,6 +30,8 @@ import redis.clients.jedis.params.ScanParams;
import
redis.clients.jedis.resps.ScanResult
;
import
java.math.BigInteger
;
import
java.time.LocalDate
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
/**
...
...
@@ -75,6 +77,14 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
MemInfo
info
=
memInfoRepository
.
getInfoByUserId
(
userId
);
if
(!
"1"
.
equals
(
info
.
getMemRealAuthen
()))
throw
new
CyServiceException
(
"请先进行实名认证"
);
//获取当前日期 例2025/2/20 获取02和20
LocalDate
today
=
LocalDate
.
now
();
DateTimeFormatter
monthFormatter
=
DateTimeFormatter
.
ofPattern
(
"MM"
);
DateTimeFormatter
dayFormatter
=
DateTimeFormatter
.
ofPattern
(
"dd"
);
// 格式化并获取月份和日期
String
month
=
today
.
format
(
monthFormatter
);
String
day
=
today
.
format
(
dayFormatter
);
String
date
=
month
+
day
;
//获取留言每天限制条数
List
<
DictData
>
leaveMessageConfig
=
dictionaryService
.
selectByTypes
(
"user_leave_message_config"
);
DictData
dictData1
=
leaveMessageConfig
.
stream
().
filter
(
item
->
item
.
getDictLabel
().
equals
(
"leave_message_limit_count"
)).
findFirst
().
orElse
(
null
);
...
...
@@ -85,8 +95,8 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
Integer
personalAllCount
=
leaveMessageLimitCount
+
payLeaveMessageLimitCount
;
//(个人)免费+付费 次数限制
Integer
allCount
=
Integer
.
valueOf
(
dictData3
.
getDictValue
());
//(所有人)总共留言次数限制
//获取redis中已存储的限制次数
Object
redisLeaveMessageCount
=
cyRedisServiceImpl
.
hget
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE
+
userId
,
String
.
valueOf
(
memLeaveMessage
.
getTargetId
()));
Object
redisLeaveMessageCountAll
=
cyRedisServiceImpl
.
get
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE_All
+
userId
);
Object
redisLeaveMessageCount
=
cyRedisServiceImpl
.
hget
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE
+
date
+
":"
+
userId
,
String
.
valueOf
(
memLeaveMessage
.
getTargetId
()));
Object
redisLeaveMessageCountAll
=
cyRedisServiceImpl
.
get
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE_All
+
date
+
":"
+
userId
);
//1.进行总数对比
if
(
redisLeaveMessageCountAll
!=
null
&&
(
int
)
redisLeaveMessageCountAll
<=
allCount
){
//没超出总次数限制
...
...
@@ -146,8 +156,8 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
}
if
(
line1
>
0
)
{
//插入对话表成功,则更新redis
this
.
redisTemplate
.
opsForHash
().
increment
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE
+
userId
,
String
.
valueOf
(
memLeaveMessage
.
getTargetId
()),
(
double
)
1L
);
this
.
redisTemplate
.
opsForValue
().
increment
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE_All
+
userId
,
(
long
)
1L
);
this
.
redisTemplate
.
opsForHash
().
increment
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE
+
date
+
":"
+
userId
,
String
.
valueOf
(
memLeaveMessage
.
getTargetId
()),
(
double
)
1L
);
this
.
redisTemplate
.
opsForValue
().
increment
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE_All
+
date
+
":"
+
userId
,
(
long
)
1L
);
}
return
new
CyPersistModel
(
line
);
}
else
if
(
redisLeaveMessageCount
==
null
){
...
...
@@ -176,8 +186,8 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
int
line1
=
memLeaveMessageRepository
.
updateUserTalk
(
memUserTalk
);
if
(
line1
>
0
)
{
//插入对话表成功,则更新redis
cyRedisServiceImpl
.
hset
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE
+
userId
,
String
.
valueOf
(
memLeaveMessage
.
getTargetId
()),
1L
);
this
.
redisTemplate
.
opsForValue
().
increment
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE_All
+
userId
,
(
long
)
1L
);
cyRedisServiceImpl
.
hset
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE
+
date
+
":"
+
userId
,
String
.
valueOf
(
memLeaveMessage
.
getTargetId
()),
1L
);
this
.
redisTemplate
.
opsForValue
().
increment
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE_All
+
date
+
":"
+
userId
,
(
long
)
1L
);
}
return
new
CyPersistModel
(
line1
);
}
else
{
...
...
@@ -185,8 +195,8 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
int
line1
=
memLeaveMessageRepository
.
insertUserTalk
(
memUserTalk
);
if
(
line1
>
0
)
{
//插入对话表成功,则更新redis
cyRedisServiceImpl
.
hset
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE
+
userId
,
String
.
valueOf
(
memLeaveMessage
.
getTargetId
()),
1L
);
this
.
redisTemplate
.
opsForValue
().
increment
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE_All
+
userId
,
(
long
)
1L
);
cyRedisServiceImpl
.
hset
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE
+
date
+
":"
+
userId
,
String
.
valueOf
(
memLeaveMessage
.
getTargetId
()),
1L
);
this
.
redisTemplate
.
opsForValue
().
increment
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE_All
+
date
+
":"
+
userId
,
(
long
)
1L
);
}
}
return
new
CyPersistModel
(
line
);
...
...
@@ -223,9 +233,9 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
}
//插入对话表成功,则更新redis
if
(
line1
>
0
){
cyRedisServiceImpl
.
hset
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE
+
userId
,
String
.
valueOf
(
memLeaveMessage
.
getTargetId
()),
1L
);
cyRedisServiceImpl
.
set
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE_All
+
userId
,
1L
,
Long
.
valueOf
(
24
*
60
*
60
));
cyRedisServiceImpl
.
expire
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE
+
userId
,
24
*
60
*
60
);
// 24小时
cyRedisServiceImpl
.
hset
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE
+
date
+
":"
+
userId
,
String
.
valueOf
(
memLeaveMessage
.
getTargetId
()),
1L
);
cyRedisServiceImpl
.
set
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE_All
+
date
+
":"
+
userId
,
1L
,
Long
.
valueOf
(
48
*
60
*
60
));
cyRedisServiceImpl
.
expire
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE
+
date
+
":"
+
userId
,
48
*
60
*
60
);
// 24小时
}
return
new
CyPersistModel
(
line1
);
}
else
{
...
...
@@ -274,19 +284,6 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
return
userLeaveMessageIPage
;
}
/**
* 留言定时任务 24点时,清除redis中的留言数据
*/
public
void
userLeaveMessageSchedule
()
{
Set
<
String
>
keys1
=
redisTemplate
.
keys
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE
+
"*"
);
Set
<
String
>
keys2
=
redisTemplate
.
keys
(
MemLeaveMessageRedisBean
.
USER_LEAVE_MESSAGE_All
+
"*"
);
for
(
String
key
:
keys1
)
{
redisTemplate
.
delete
(
key
);
}
for
(
String
key
:
keys2
)
{
redisTemplate
.
delete
(
key
);
}
}
@Override
public
CyPersistModel
deleteMessage
(
MemLeaveMessage
memLeaveMessage
)
{
...
...
src/main/java/org/rcisoft/core/schedule/ScheduleTasks.java
View file @
4f89e919
...
...
@@ -46,15 +46,6 @@ public class ScheduleTasks {
}
/**
* 用户留言数据定时任务 24点时将redis中的留言数据清除
*/
@Scheduled
(
cron
=
"0 0 0 * * ?"
)
public
void
userLeaveMessageSchedule
()
{
memLeaveMessageService
.
userLeaveMessageSchedule
();
}
/**
* redis订单落库
*/
...
...
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