Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wecloud_im_server
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
hewei
wecloud_im_server
Commits
e1990c69
Commit
e1990c69
authored
Mar 08, 2022
by
Future
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
会话消息设置已读逻辑调整
parent
633f3901
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
48 additions
and
10 deletions
+48
-10
core/src/main/java/com/wecloud/im/controller/ImInboxController.java
+6
-5
core/src/main/java/com/wecloud/im/param/UpdateMsgReadStatusByConversationParam.java
+34
-0
core/src/main/java/com/wecloud/im/service/ImInboxService.java
+3
-2
core/src/main/java/com/wecloud/im/service/impl/ImInboxServiceImpl.java
+5
-3
No files found.
core/src/main/java/com/wecloud/im/controller/ImInboxController.java
View file @
e1990c69
...
@@ -2,6 +2,7 @@ package com.wecloud.im.controller;
...
@@ -2,6 +2,7 @@ package com.wecloud.im.controller;
import
com.wecloud.im.param.ImMsgReceivedStatusUpdate
;
import
com.wecloud.im.param.ImMsgReceivedStatusUpdate
;
import
com.wecloud.im.param.MsgReadStatusUpdateParam
;
import
com.wecloud.im.param.MsgReadStatusUpdateParam
;
import
com.wecloud.im.param.UpdateMsgReadStatusByConversationParam
;
import
com.wecloud.im.service.ImInboxService
;
import
com.wecloud.im.service.ImInboxService
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
...
@@ -54,15 +55,15 @@ public class ImInboxController extends BaseController {
...
@@ -54,15 +55,15 @@ public class ImInboxController extends BaseController {
}
}
/**
/**
*
整个
会话消息修改为已读状态
* 会话消息修改为已读状态
*/
*/
@PostMapping
(
"/updateMsgReadStatusByConversation"
)
@PostMapping
(
"/updateMsgReadStatusByConversation"
)
@ApiOperation
(
value
=
"
整个
会话消息修改为已读状态"
)
@ApiOperation
(
value
=
"会话消息修改为已读状态"
)
public
ApiResult
<
Boolean
>
updateMsgReadStatusByConversation
(
@RequestBody
MsgReadStatusUpdateParam
msgReadStatusUpdateP
aram
)
throws
Exception
{
public
ApiResult
<
Boolean
>
updateMsgReadStatusByConversation
(
@RequestBody
UpdateMsgReadStatusByConversationParam
p
aram
)
throws
Exception
{
if
(
msgReadStatusUpdateP
aram
.
getConversationId
()
==
null
)
{
if
(
p
aram
.
getConversationId
()
==
null
)
{
return
ApiResult
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
);
return
ApiResult
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
);
}
}
return
ApiResult
.
ok
(
imInboxService
.
updateMsgReadStatusByConversation
(
msgReadStatusUpdateP
aram
));
return
ApiResult
.
ok
(
imInboxService
.
updateMsgReadStatusByConversation
(
p
aram
));
}
}
}
}
...
...
core/src/main/java/com/wecloud/im/param/UpdateMsgReadStatusByConversationParam.java
0 → 100644
View file @
e1990c69
package
com
.
wecloud
.
im
.
param
;
import
io.geekidea.springbootplus.framework.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
/**
* @Author wenzhida
* @Date 2022/3/8 11:11
* @Description 给会话消息设置已读入参
*/
@Data
@Accessors
(
chain
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"给会话消息设置已读入参"
)
public
class
UpdateMsgReadStatusByConversationParam
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
4378221788952403799L
;
@ApiModelProperty
(
"会话id"
)
@NotNull
(
message
=
"会话id不能为空"
)
private
Long
conversationId
;
@ApiModelProperty
(
"最新一条消息id 将这条消息及之前的消息全部设置为已读"
)
@NotNull
(
message
=
"最新一条消息id不能为空"
)
private
Long
msgIdEnd
;
}
core/src/main/java/com/wecloud/im/service/ImInboxService.java
View file @
e1990c69
...
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
...
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import
com.wecloud.im.entity.ImInbox
;
import
com.wecloud.im.entity.ImInbox
;
import
com.wecloud.im.param.MsgReadStatusUpdateParam
;
import
com.wecloud.im.param.MsgReadStatusUpdateParam
;
import
com.wecloud.im.param.ImMsgReceivedStatusUpdate
;
import
com.wecloud.im.param.ImMsgReceivedStatusUpdate
;
import
com.wecloud.im.param.UpdateMsgReadStatusByConversationParam
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.service.BaseService
;
import
io.geekidea.springbootplus.framework.common.service.BaseService
;
...
@@ -86,9 +87,9 @@ public interface ImInboxService extends BaseService<ImInbox> {
...
@@ -86,9 +87,9 @@ public interface ImInboxService extends BaseService<ImInbox> {
/**
/**
* 整个会话消息修改为已读状态
* 整个会话消息修改为已读状态
* @param
msgReadStatusUpdateP
aram
* @param
p
aram
* @return
* @return
*/
*/
Boolean
updateMsgReadStatusByConversation
(
MsgReadStatusUpdateParam
msgReadStatusUpdateP
aram
);
Boolean
updateMsgReadStatusByConversation
(
UpdateMsgReadStatusByConversationParam
p
aram
);
}
}
core/src/main/java/com/wecloud/im/service/impl/ImInboxServiceImpl.java
View file @
e1990c69
...
@@ -11,6 +11,7 @@ import com.wecloud.im.entity.ImMessageOnlineSend;
...
@@ -11,6 +11,7 @@ import com.wecloud.im.entity.ImMessageOnlineSend;
import
com.wecloud.im.mapper.ImInboxMapper
;
import
com.wecloud.im.mapper.ImInboxMapper
;
import
com.wecloud.im.param.ImMsgReceivedStatusUpdate
;
import
com.wecloud.im.param.ImMsgReceivedStatusUpdate
;
import
com.wecloud.im.param.MsgReadStatusUpdateParam
;
import
com.wecloud.im.param.MsgReadStatusUpdateParam
;
import
com.wecloud.im.param.UpdateMsgReadStatusByConversationParam
;
import
com.wecloud.im.service.ImApplicationService
;
import
com.wecloud.im.service.ImApplicationService
;
import
com.wecloud.im.service.ImClientService
;
import
com.wecloud.im.service.ImClientService
;
import
com.wecloud.im.service.ImConversationMembersService
;
import
com.wecloud.im.service.ImConversationMembersService
;
...
@@ -154,12 +155,13 @@ public class ImInboxServiceImpl extends BaseServiceImpl<ImInboxMapper, ImInbox>
...
@@ -154,12 +155,13 @@ public class ImInboxServiceImpl extends BaseServiceImpl<ImInboxMapper, ImInbox>
}
}
@Override
@Override
public
Boolean
updateMsgReadStatusByConversation
(
MsgReadStatusUpdateParam
msgReadStatusUpdateP
aram
)
{
public
Boolean
updateMsgReadStatusByConversation
(
UpdateMsgReadStatusByConversationParam
p
aram
)
{
ImClient
currentClient
=
imClientService
.
getCurrentClient
();
ImClient
currentClient
=
imClientService
.
getCurrentClient
();
// 获取该用户该会话所有未读消息 msgId 列表
// 获取该用户该会话所有未读消息 msgId 列表
List
<
ImInbox
>
imInboxList
=
this
.
list
(
new
QueryWrapper
<
ImInbox
>().
lambda
()
List
<
ImInbox
>
imInboxList
=
this
.
list
(
new
QueryWrapper
<
ImInbox
>().
lambda
()
.
eq
(
ImInbox:
:
getFkConversationId
,
msgReadStatusUpdateParam
.
getConversationId
())
.
eq
(
ImInbox:
:
getFkConversationId
,
param
.
getConversationId
())
.
notIn
(
ImInbox:
:
getReceiver
,
currentClient
.
getId
()));
.
le
(
ImInbox:
:
getFkMsgId
,
param
.
getMsgIdEnd
())
.
notIn
(
ImInbox:
:
getReceiver
,
currentClient
.
getId
()));
if
(
CollectionUtils
.
isEmpty
(
imInboxList
))
{
if
(
CollectionUtils
.
isEmpty
(
imInboxList
))
{
return
true
;
return
true
;
}
}
...
...
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