Merge branch 'fix/2023-9-20' of axzsource.com:universal/infrastructure/backend/msg-center-plat into pre
This commit is contained in:
commit
e3b2340c4e
@ -22,6 +22,16 @@ import java.util.Optional;
|
||||
*/
|
||||
public interface RawMessageRecordService {
|
||||
|
||||
/**
|
||||
* 更新个人消息记录的状态
|
||||
*
|
||||
* @param personId 自然人id
|
||||
* @param srcStates 原状态集合
|
||||
* @param tgtState 目标状态
|
||||
* @param msgId 消息id
|
||||
*/
|
||||
void updatePersonMessageState(Long personId, Collection<MsgStateEnum> srcStates, MsgStateEnum tgtState, Long msgId);
|
||||
|
||||
/**
|
||||
* 更新个人消息记录的状态
|
||||
*
|
||||
|
||||
@ -346,6 +346,13 @@ public class MessageCoreServiceImpl implements MessageCoreService {
|
||||
@Override
|
||||
public void readAllMessages(MessageReadAllReq request) {
|
||||
List<MsgStateEnum> srcStates = Lists.newArrayList(MsgStateEnum.HAS_BEEN_SENT, MsgStateEnum.RECEIVED);
|
||||
if (Objects.nonNull(request.getMsgId())
|
||||
&& request.getMsgId() > 0) {
|
||||
// 阅读单条数据
|
||||
rawMessageRecordService.updatePersonMessageState(request.getPersonId(), srcStates, MsgStateEnum.HAVE_READ,
|
||||
request.getMsgId());
|
||||
return;
|
||||
}
|
||||
List<Long> moduleIds = messageModuleService.listByModuleName(request.getModuleName()).stream()
|
||||
.map(MessageModule::getId)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
@ -61,6 +61,23 @@ public class RawMessageRecordServiceImpl implements RawMessageRecordService {
|
||||
private final MessageModuleService messageModuleService;
|
||||
private final MessageRouterService messageRouterService;
|
||||
|
||||
@Override
|
||||
public void updatePersonMessageState(Long personId, Collection<MsgStateEnum> srcStates, MsgStateEnum tgtState,
|
||||
Long msgId) {
|
||||
AssertUtil.notNull(personId, "personId is required");
|
||||
AssertUtil.notEmpty(srcStates, "srcStates is required");
|
||||
AssertUtil.notNull(tgtState, "tgtState is required");
|
||||
AssertUtil.notNull(msgId, "msgId is required");
|
||||
|
||||
messageRecordDao.lambdaUpdate()
|
||||
.set(MessageRecord::getState, tgtState)
|
||||
.eq(MessageRecord::getPersonId, personId)
|
||||
.in(MessageRecord::getState, srcStates)
|
||||
.eq(MessageRecord::getId, msgId)
|
||||
.eq(MessageRecord::getIsDelete, YesNoEnum.NO.getCode())
|
||||
.update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatePersonMessageState(Long personId, Collection<MsgStateEnum> srcStates, MsgStateEnum tgtState,
|
||||
MsgTypeEnum msgType, @Nullable Long identifyId,
|
||||
|
||||
@ -30,6 +30,10 @@ public class MessageReadAllReq implements Serializable {
|
||||
* 模块id
|
||||
*/
|
||||
private String moduleName;
|
||||
/**
|
||||
* 消息id
|
||||
*/
|
||||
private Long msgId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user