Merge branch 'fix/2023-9-20' of axzsource.com:universal/infrastructure/backend/msg-center-plat into pre

This commit is contained in:
luofu 2023-09-20 21:36:52 +08:00
commit e3b2340c4e
4 changed files with 38 additions and 0 deletions

View File

@ -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);
/**
* 更新个人消息记录的状态
*

View File

@ -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());

View File

@ -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,

View File

@ -30,6 +30,10 @@ public class MessageReadAllReq implements Serializable {
* 模块id
*/
private String moduleName;
/**
* 消息id
*/
private Long msgId;
@Override
public String toString() {