REQ-2405: 处理cms的老消息读事件

This commit is contained in:
yanglin 2024-04-28 17:30:43 +08:00
parent b4162f80ae
commit 46184636b9
5 changed files with 31 additions and 0 deletions

View File

@ -443,6 +443,11 @@ public class MessageRecordServiceImpl implements MessageRecordService {
} else {
messageRecordDao.readMsg(request, req.getPersonId(), req.getIdentityId());
}
SendMessageRecordMessage mqMessage = new SendMessageRecordMessage();
mqMessage.setCmsReadRequest(req);
mqProducer.send(MqMessageRecord
.builder(MqMessageType.OLD_MSG_SEND, mqMessage)
.build());
}
/**

View File

@ -5,6 +5,7 @@ import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.framework.rocketmq.EventHandler;
import cn.axzo.msg.center.api.mq.SendMessageRecordMessage;
import cn.axzo.msg.center.api.request.CmsMsgQueryReq;
import cn.axzo.msg.center.api.request.CmsReadMsgReq;
import cn.axzo.msg.center.api.request.GeneralMessageReq;
import cn.axzo.msg.center.api.request.MessageReadAllReq;
import cn.axzo.msg.center.api.response.MessageNewRes;
@ -296,12 +297,16 @@ public class OldMsgStatCache implements EventHandler, InitializingBean {
SendMessageRecordMessage mqMessage = event.normalizedData(SendMessageRecordMessage.class);
GeneralMessageReq sendRequest = mqMessage.getSendRequest();
MessageReadAllReq readRequest = mqMessage.getReadRequest();
CmsReadMsgReq cmsReadRequest = mqMessage.getCmsReadRequest();
if (sendRequest != null) {
log.info("handle mq event - driven by sendRequest={}", sendRequest);
handleSendRequestEvent(sendRequest);
} else if (readRequest != null) {
log.info("handle mq event - driven by readRequest={}", readRequest);
handleReadRequest(readRequest);
} else if (cmsReadRequest != null) {
log.info("handle mq event - driven by cmsReadRequest={}", cmsReadRequest);
handleCmsReadRequest(cmsReadRequest);
}
}
@ -337,4 +342,12 @@ public class OldMsgStatCache implements EventHandler, InitializingBean {
log.info(stopWatch.prettyPrint(TimeUnit.MILLISECONDS));
}
private void handleCmsReadRequest(CmsReadMsgReq cmsReadRequest) throws Exception {
StopWatch stopWatch = new StopWatch("reloadBackground");
stopWatch.start("handleCmsReadRequest");
reloadBackground(Sets.newHashSet(cmsReadRequest.getPersonId()));
stopWatch.stop();
log.info(stopWatch.prettyPrint(TimeUnit.MILLISECONDS));
}
}

View File

@ -1,5 +1,6 @@
package cn.axzo.msg.center.api.mq;
import cn.axzo.msg.center.api.request.CmsReadMsgReq;
import cn.axzo.msg.center.api.request.GeneralMessageReq;
import cn.axzo.msg.center.api.request.MessageReadAllReq;
import lombok.Data;
@ -15,4 +16,5 @@ import java.io.Serializable;
public class SendMessageRecordMessage extends MqMessage implements Serializable {
private GeneralMessageReq sendRequest;
private MessageReadAllReq readRequest;
private CmsReadMsgReq cmsReadRequest;
}

View File

@ -1,6 +1,7 @@
package cn.axzo.msg.center.api.request;
import cn.axzo.msg.center.api.enums.BizTypeEnum;
import com.alibaba.fastjson.JSON;
import lombok.Data;
import javax.validation.constraints.NotNull;
@ -29,4 +30,8 @@ public class CmsReadMsgReq {
*/
private transient BizTypeEnum bizTypeEnum = BizTypeEnum.CONSTRUCTION;
@Override
public String toString() {
return JSON.toJSONString(this);
}
}

View File

@ -2,6 +2,7 @@ package cn.axzo.msg.center.api.request;
import cn.axzo.msg.center.api.enums.MsgRecordTerminalTypeEnum;
import cn.axzo.msg.center.api.enums.ReceiveTypeEnum;
import com.alibaba.fastjson.JSON;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@ -77,5 +78,10 @@ public class GeneralMessageReq extends AbstractMessage implements Serializable {
* appClient: e.g. cmp cm
*/
public String appClient;
@Override
public String toString() {
return JSON.toJSONString(this);
}
}