fix: 消息发送逻辑适配 sqlite

This commit is contained in:
ql
2025-07-16 19:37:30 +08:00
parent e9896e4c98
commit 33aec2b0ac
3 changed files with 7 additions and 8 deletions
@@ -30,12 +30,11 @@ public class ChatMessageReq {
private Object body;
@Schema(description ="跳过消息校验")
private Boolean skip = false;
private boolean skip = false;
@Schema(description ="临时消息 [前端需要传过来]")
@NotNull
private Boolean isTemp = false;
private boolean isTemp = false;
@Schema(description ="系统推送消息")
private Boolean isPushMessage = false;
private boolean isPushMessage = false;
}
@@ -97,7 +97,7 @@ public class MessageAdapter {
ChatMessageReq chatMessageReq = new ChatMessageReq();
chatMessageReq.setRoomId(roomId);
chatMessageReq.setMsgType(MessageTypeEnum.TEXT.getType());
chatMessageReq.setIsPushMessage(isPush);
chatMessageReq.setPushMessage(isPush);
TextMsgReq textMsgReq = new TextMsgReq();
if (userTypeEnum == UserTypeEnum.NORMAL){
textMsgReq.setContent("我们已经成为好友了,开始聊天吧");
@@ -104,14 +104,14 @@ public class ChatServiceImpl implements ChatService {
@Override
@Transactional
public Long sendMsg(ChatMessageReq request, Long uid) {
check(request.getSkip(), request.getIsTemp(), request.getRoomId(), uid);
check(request.isSkip(), request.isTemp(), request.getRoomId(), uid);
AbstractMsgHandler<?> msgHandler = MsgHandlerFactory.getStrategyNoNull(request.getMsgType());
Long msgId = msgHandler.checkAndSaveMsg(request, uid);
// 临时会话单独处理一下消息计数器
if (request.getIsTemp()) {
if (request.isTemp()) {
Room room = roomCache.get(request.getRoomId());
if(room != null && room.isRoomFriend() && !request.getIsPushMessage()){
if(room != null && room.isRoomFriend() && !request.isPushMessage()){
UserFriend userFriend = userFriendDao.getByRoomId(request.getRoomId(), uid);
if (userFriend != null && userFriend.getIsTemp()) {
userFriend.setTempMsgCount(userFriend.getTempMsgCount() + 1);