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
64e44947
Commit
64e44947
authored
Feb 18, 2025
by
liwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改了点赞定时任务
parent
86d79efd
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
53 additions
and
7 deletions
+53
-7
MemberInfoRedisBean.java
...rg/rcisoft/business/memInfo/bean/MemberInfoRedisBean.java
+1
-1
MemLikeDTO.java
.../java/org/rcisoft/business/memInfo/entity/MemLikeDTO.java
+10
-0
MemInfoServiceImpl.java
...oft/business/memInfo/service/impl/MemInfoServiceImpl.java
+39
-5
MemLeaveMessageRedisBean.java
...siness/memLeaveMessage/bean/MemLeaveMessageRedisBean.java
+1
-1
MemInfoMapper.xml
...esources/mapper/business/memInfo/mapper/MemInfoMapper.xml
+2
-0
No files found.
src/main/java/org/rcisoft/business/memInfo/bean/MemberInfoRedisBean.java
View file @
64e44947
...
...
@@ -9,7 +9,7 @@ package org.rcisoft.business.memInfo.bean;
*/
public
class
MemberInfoRedisBean
{
//总共的点赞key
public
static
final
String
USER_LIKE_ALL
=
"user:like
:a
ll:"
;
public
static
final
String
USER_LIKE_ALL
=
"user:like
A
ll:"
;
//对每个人点赞的key
public
static
final
String
USER_LIKE
=
"user:like:"
;
}
src/main/java/org/rcisoft/business/memInfo/entity/MemLikeDTO.java
View file @
64e44947
...
...
@@ -29,4 +29,14 @@ public class MemLikeDTO {
* wxOpenid
*/
private
String
wxOpenid
;
/**
* 开始时间
*/
private
String
beginTime
;
/**
* 结束时间
*/
private
String
endTime
;
}
src/main/java/org/rcisoft/business/memInfo/service/impl/MemInfoServiceImpl.java
View file @
64e44947
...
...
@@ -44,6 +44,9 @@ import java.math.BigInteger;
import
java.net.URLDecoder
;
import
java.nio.charset.StandardCharsets
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.stream.Collectors
;
...
...
@@ -658,7 +661,6 @@ public class MemInfoServiceImpl extends ServiceImpl<MemInfoRepository,MemInfo>
}
}
//没超出免费点赞次数
//插入对话表成功,则更新redis
this
.
redisTemplate
.
opsForHash
().
increment
(
MemberInfoRedisBean
.
USER_LIKE
+
userId
,
String
.
valueOf
(
likeDTO
.
getTargetId
()),
(
double
)
1L
);
this
.
redisTemplate
.
opsForValue
().
increment
(
MemberInfoRedisBean
.
USER_LIKE_ALL
+
userId
,
(
long
)
1L
);
return
new
CyPersistModel
(
1
);
...
...
@@ -666,6 +668,10 @@ public class MemInfoServiceImpl extends ServiceImpl<MemInfoRepository,MemInfo>
//今日第一次对该用户进行点赞
cyRedisServiceImpl
.
hset
(
MemberInfoRedisBean
.
USER_LIKE
+
userId
,
String
.
valueOf
(
likeDTO
.
getTargetId
()),
1L
);
this
.
redisTemplate
.
opsForValue
().
increment
(
MemberInfoRedisBean
.
USER_LIKE_ALL
+
userId
,
(
long
)
1L
);
//新增点赞数据
likeDTO
.
setUserId
(
Integer
.
valueOf
(
userId
));
likeDTO
.
setLikeCount
(
0
);
memInfoRepository
.
addLike
(
likeDTO
);
return
new
CyPersistModel
(
1
);
}
else
{
throw
new
CyServiceException
(
1001
,
"今日对该用户点赞次数超出限制"
);
...
...
@@ -675,6 +681,10 @@ public class MemInfoServiceImpl extends ServiceImpl<MemInfoRepository,MemInfo>
cyRedisServiceImpl
.
hset
(
MemberInfoRedisBean
.
USER_LIKE
+
userId
,
String
.
valueOf
(
likeDTO
.
getTargetId
()),
1L
);
cyRedisServiceImpl
.
set
(
MemberInfoRedisBean
.
USER_LIKE_ALL
+
userId
,
1L
,
Long
.
valueOf
(
24
*
60
*
60
));
cyRedisServiceImpl
.
expire
(
MemberInfoRedisBean
.
USER_LIKE
+
userId
,
24
*
60
*
60
);
// 24小时
//新增点赞数据
likeDTO
.
setUserId
(
Integer
.
valueOf
(
userId
));
likeDTO
.
setLikeCount
(
0
);
memInfoRepository
.
addLike
(
likeDTO
);
return
new
CyPersistModel
(
1
);
}
else
{
//超出总次数限制
...
...
@@ -697,14 +707,35 @@ public class MemInfoServiceImpl extends ServiceImpl<MemInfoRepository,MemInfo>
* 用户点赞 定时任务
*/
public
void
userLikeSchedule
()
{
log
.
info
(
"用户点赞数据定时任务执行中..."
);
//获取当前时间
// 获取当前日期
LocalDate
today
=
LocalDate
.
now
();
// 获取今天的最小时间(00:00:00)
LocalDateTime
startOfDay
=
today
.
atStartOfDay
();
// 获取今天的最大时间(23:59:59)
LocalDateTime
endOfDay
=
today
.
atTime
(
LocalTime
.
MAX
);
// 定义日期时间格式
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
);
// 最大时间 和 最小时间
String
beginTime
=
startOfDay
.
format
(
formatter
);
String
endTime
=
endOfDay
.
format
(
formatter
);
//将redis中存储的点赞数同步到opm_user_like表中
Set
<
String
>
keys
=
redisTemplate
.
keys
(
MemberInfoRedisBean
.
USER_LIKE
+
"*"
);
//将redis中存储的点赞数同步到opm_user_like表中
Set
<
String
>
keys1
=
redisTemplate
.
keys
(
MemberInfoRedisBean
.
USER_LIKE_ALL
+
"*"
);
//删除总数key
keys1
.
forEach
(
key
->
{
redisTemplate
.
delete
(
key
);
});
//删除1对多的key 并更新数据库
if
(
keys
!=
null
&&
!
keys
.
isEmpty
())
{
for
(
String
key
:
keys
)
{
//截取key最后一个:后的值,为userId
int
lastIndex
=
key
.
lastIndexOf
(
':'
);
Integer
userId
=
Integer
.
valueOf
(
key
.
substring
(
lastIndex
+
1
));
//获取
key的所有
value
//获取
hash里的所有key
value
Map
<
Object
,
Object
>
hmget
=
cyRedisService
.
hmget
(
key
);
if
(
hmget
!=
null
&&
!
hmget
.
isEmpty
())
{
//遍历map
...
...
@@ -718,17 +749,20 @@ public class MemInfoServiceImpl extends ServiceImpl<MemInfoRepository,MemInfo>
memLikeDTO
.
setUserId
(
userId
);
memLikeDTO
.
setLikeCount
(
likeCount
);
memLikeDTO
.
setTargetId
(
Integer
.
valueOf
(
targetId
));
memLikeDTO
.
setBeginTime
(
beginTime
);
memLikeDTO
.
setEndTime
(
endTime
);
//对点赞表 进行增加点赞数
memInfoRepository
.
addLikeCount
(
memLikeDTO
);
Integer
integer
=
memInfoRepository
.
addLikeCount
(
memLikeDTO
);
//对会员表 进行增加被点赞数
memInfoRepository
.
addMemLikeCount
(
memLikeDTO
);
Integer
integer1
=
memInfoRepository
.
addMemLikeCount
(
memLikeDTO
);
}
}
redisTemplate
.
delete
(
key
);
}
}
else
{
System
.
out
.
println
(
"No keys found."
);
}
log
.
info
(
"用户点赞数据定时任务
执行中...
"
);
log
.
info
(
"用户点赞数据定时任务
结束---
"
);
}
...
...
src/main/java/org/rcisoft/business/memLeaveMessage/bean/MemLeaveMessageRedisBean.java
View file @
64e44947
...
...
@@ -11,5 +11,5 @@ public class MemLeaveMessageRedisBean {
//对个人的留言次数
public
static
final
String
USER_LEAVE_MESSAGE
=
"user:leaveMessage:"
;
//对所有人的留言次数
public
static
final
String
USER_LEAVE_MESSAGE_All
=
"user:leaveMessage
:a
ll:"
;
public
static
final
String
USER_LEAVE_MESSAGE_All
=
"user:leaveMessage
A
ll:"
;
}
src/main/resources/mapper/business/memInfo/mapper/MemInfoMapper.xml
View file @
64e44947
...
...
@@ -667,6 +667,8 @@
where 1=1
and target_id = #{entity.targetId}
and user_id = #{entity.userId}
and create_date
>
= #{entity.beginTime}
and create_date
<
= #{entity.endTime}
</insert>
<insert
id=
"addMemLikeCount"
>
update mem_info
...
...
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