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
2b8d66c0
Commit
2b8d66c0
authored
Feb 20, 2025
by
liwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加了留言已读未读显示
parent
d687221d
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
91 additions
and
0 deletions
+91
-0
AppMemLeaveMessageController.java
...LeaveMessage/controller/AppMemLeaveMessageController.java
+15
-0
MemLeaveMessageRepository.java
...siness/memLeaveMessage/dao/MemLeaveMessageRepository.java
+14
-0
MemLeaveMessage.java
...soft/business/memLeaveMessage/entity/MemLeaveMessage.java
+11
-0
MemLeaveMessageService.java
...iness/memLeaveMessage/service/MemLeaveMessageService.java
+5
-0
MemLeaveMessageServiceImpl.java
...LeaveMessage/service/impl/MemLeaveMessageServiceImpl.java
+22
-0
MemLeaveMessageMapper.xml
...business/memLeaveMessage/mapper/MemLeaveMessageMapper.xml
+24
-0
No files found.
src/main/java/org/rcisoft/app/appMemLeaveMessage/controller/AppMemLeaveMessageController.java
View file @
2b8d66c0
...
...
@@ -93,4 +93,19 @@ public class AppMemLeaveMessageController extends CyPaginationController<MemLeav
CyMessCons
.
MESSAGE_ALERT_ERROR
,
businessId
);
}
/**
* 我的留言-查询留言未读消息数量
*/
@PreAuthorize
(
"@cyPerm.hasPerm('app:mem:query')"
)
@CyOpeLogAnno
(
title
=
"system-留言管理-查询留言未读消息数量"
,
businessType
=
CyLogTypeEnum
.
QUERY
)
@Operation
(
summary
=
"查询留言未读消息数量"
,
description
=
"查询留言未读消息数量"
)
@Parameters
({
@Parameter
(
name
=
"businessId"
,
description
=
"businessId"
,
required
=
true
)})
@GetMapping
(
"/memLeaveMessage/noReadMessageAllCount"
)
public
CyResult
noReadMessageAllCount
()
{
return
CyResultGenUtil
.
builder
(
new
CyPersistModel
(
1
),
CyMessCons
.
MESSAGE_ALERT_SUCCESS
,
CyMessCons
.
MESSAGE_ALERT_ERROR
,
memLeaveMessageServiceImpl
.
noReadMessageAllCount
());
}
}
src/main/java/org/rcisoft/business/memLeaveMessage/dao/MemLeaveMessageRepository.java
View file @
2b8d66c0
...
...
@@ -65,5 +65,19 @@ public interface MemLeaveMessageRepository extends CyBaseMapper<MemLeaveMessage>
*/
int
updateTalkBlack
(
@Param
(
"entity"
)
MemLeaveMessage
memLeaveMessage
);
/**
* 查询当前人的对该对话的未阅读数量
*/
int
queryTalkNoReadCount
(
@Param
(
"createBy"
)
Integer
createBy
,
@Param
(
"targetId"
)
Integer
targetId
,
@Param
(
"loginUserId"
)
Integer
loginUserId
);
/**
* 修改留言的阅读状态
*/
int
updateMessageReadStatus
(
@Param
(
"createBy"
)
Integer
createBy
,
@Param
(
"targetId"
)
Integer
targetId
,
@Param
(
"status"
)
String
status
);
/**
* 当前人的未读留言总数
*/
int
leaveMessageNoReadAllCount
(
Integer
userId
);
}
src/main/java/org/rcisoft/business/memLeaveMessage/entity/MemLeaveMessage.java
View file @
2b8d66c0
...
...
@@ -63,6 +63,11 @@ public class MemLeaveMessage extends CyIdIncreNotDataEntity<MemLeaveMessage> {
*/
private
String
content
;
/**
* 阅读状态 1:已读 0:未读
*/
private
String
readStatus
;
/**
* 目标头像id
*/
...
...
@@ -131,5 +136,11 @@ public class MemLeaveMessage extends CyIdIncreNotDataEntity<MemLeaveMessage> {
*/
@TableField
(
exist
=
false
)
private
Integer
blackUser
;
/**
* 当前人对该对话留言的未读数
*/
@TableField
(
exist
=
false
)
private
Integer
noReadCount
;
}
src/main/java/org/rcisoft/business/memLeaveMessage/service/MemLeaveMessageService.java
View file @
2b8d66c0
...
...
@@ -34,4 +34,9 @@ public interface MemLeaveMessageService {
IPage
<
MemLeaveMessage
>
queryMessageByPagination
(
CyPageInfo
<
MemLeaveMessage
>
paginationUtility
,
MemLeaveMessage
memLeaveMessage
);
CyPersistModel
deleteMessage
(
MemLeaveMessage
memLeaveMessage
);
/**
* 查询未读消息总数
*/
int
noReadMessageAllCount
();
}
src/main/java/org/rcisoft/business/memLeaveMessage/service/impl/MemLeaveMessageServiceImpl.java
View file @
2b8d66c0
...
...
@@ -133,6 +133,7 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
memLeaveMessage
.
setUpdateBy
(
Integer
.
valueOf
(
userId
));
memLeaveMessage
.
setCreateDate
(
new
Date
());
memLeaveMessage
.
setUpdateDate
(
new
Date
());
memLeaveMessage
.
setReadStatus
(
"0"
);
int
line
=
memLeaveMessageRepository
.
insert
(
memLeaveMessage
);
//修改对话表
//查询是否已存在对话
...
...
@@ -167,6 +168,7 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
memLeaveMessage
.
setUpdateBy
(
Integer
.
valueOf
(
userId
));
memLeaveMessage
.
setCreateDate
(
new
Date
());
memLeaveMessage
.
setUpdateDate
(
new
Date
());
memLeaveMessage
.
setReadStatus
(
"0"
);
int
line
=
memLeaveMessageRepository
.
insert
(
memLeaveMessage
);
//查询是否已存在对话
MemLeaveMessage
memUserTalks
=
memLeaveMessageRepository
.
queryUserTalk
(
Integer
.
valueOf
(
userId
),
memLeaveMessage
.
getTargetId
());
...
...
@@ -210,6 +212,7 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
memLeaveMessage
.
setUpdateBy
(
Integer
.
valueOf
(
userId
));
memLeaveMessage
.
setCreateDate
(
new
Date
());
memLeaveMessage
.
setUpdateDate
(
new
Date
());
memLeaveMessage
.
setReadStatus
(
"0"
);
memLeaveMessageRepository
.
insert
(
memLeaveMessage
);
//修改对话表
//查询是否已存在对话
...
...
@@ -254,6 +257,13 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
public
IPage
<
MemLeaveMessage
>
queryTalkByPagination
(
CyPageInfo
<
MemLeaveMessage
>
paginationUtility
,
MemLeaveMessage
memLeaveMessage
)
{
memLeaveMessage
.
setCreateBy
(
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()));
IPage
<
MemLeaveMessage
>
userLeaveMessageIPage
=
memLeaveMessageRepository
.
queryTalkByPagination
(
paginationUtility
,
memLeaveMessage
);
List
<
MemLeaveMessage
>
talks
=
userLeaveMessageIPage
.
getRecords
();
talks
.
forEach
(
item
->{
//查询每一个对话的我的未读留言数量
//1.查询该对话的所有留言 并且计算出当前用户对该留言的未读信息数量 对话的createBy和targetId会随时变 所以当前人id要手动获取
int
count
=
memLeaveMessageRepository
.
queryTalkNoReadCount
(
item
.
getCreateBy
(),
item
.
getTargetId
(),
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()));
item
.
setNoReadCount
(
count
);
});
return
userLeaveMessageIPage
;
}
...
...
@@ -269,6 +279,8 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
IPage
<
MemLeaveMessage
>
userLeaveMessageIPage
=
memLeaveMessageRepository
.
leaveMessageDetailList
(
paginationUtility
,
memLeaveMessage
);
//再对这最新的10条正序排序
userLeaveMessageIPage
.
getRecords
().
sort
(
Comparator
.
comparing
(
MemLeaveMessage:
:
getCreateDate
));
//修改留言未读状态
memLeaveMessageRepository
.
updateMessageReadStatus
(
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()),
memLeaveMessage
.
getTargetId
(),
"1"
);
return
userLeaveMessageIPage
;
}
...
...
@@ -296,4 +308,14 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
return
new
CyPersistModel
(
line
);
}
}
@Override
public
int
noReadMessageAllCount
()
{
//获取当前登录人
String
userId
=
CyUserUtil
.
getAuthenBusinessId
();
//查询未读的留言数
int
count
=
memLeaveMessageRepository
.
leaveMessageNoReadAllCount
(
Integer
.
valueOf
(
userId
));
//查询未读的要微信请求数
return
count
;
}
}
src/main/resources/mapper/business/memLeaveMessage/mapper/MemLeaveMessageMapper.xml
View file @
2b8d66c0
...
...
@@ -105,6 +105,24 @@
<select
id=
"selectDelUserById"
resultType=
"java.lang.Integer"
>
select del_user from mem_user_talk where business_id = #{entity.businessId}
</select>
<select
id=
"queryTalkNoReadCount"
resultType=
"java.lang.Integer"
>
SELECT count(*)
FROM (
SELECT mulm.target_id,mulm.read_status
FROM mem_user_leave_message mulm
WHERE
(mulm.create_by = #{createBy} and mulm.target_id = #{targetId})
OR (mulm.create_by = #{targetId} and mulm.target_id = #{createBy})
) table1
WHERE table1.target_id = #{loginUserId} and table1.read_status = '0'
</select>
<select
id=
"leaveMessageNoReadAllCount"
resultType=
"java.lang.Integer"
>
SELECT COUNT(*)
from mem_user_leave_message mulm
where 1=1
and mulm.target_id = #{userId}
and mulm.read_status = '0'
</select>
<delete
id=
"deleteTalkById"
>
delete from mem_user_talk where business_id = #{entity.businessId}
</delete>
...
...
@@ -118,4 +136,10 @@
set black_user = #{entity.blackUser}
where business_id = #{entity.businessId}
</update>
<update
id=
"updateMessageReadStatus"
>
update mem_user_leave_message mulm
set mulm.read_status = #{status}
where
mulm.create_by = #{targetId} and mulm.target_id = #{createBy}
</update>
</mapper>
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