From 0d30c93d000413c6eb34f489ef17688ad4175201 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 29 Apr 2024 18:18:21 +0800 Subject: [PATCH] 55测试环境 --- src/main/java/com/xcong/excoin/rabbit/consumer/ChatConsumer.java | 35 ++++++++++++++++++++++------------- 1 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/xcong/excoin/rabbit/consumer/ChatConsumer.java b/src/main/java/com/xcong/excoin/rabbit/consumer/ChatConsumer.java index 4902736..770af5c 100644 --- a/src/main/java/com/xcong/excoin/rabbit/consumer/ChatConsumer.java +++ b/src/main/java/com/xcong/excoin/rabbit/consumer/ChatConsumer.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.xcong.excoin.common.contants.AppContants; import com.xcong.excoin.configurations.RabbitMqConfig; +import com.xcong.excoin.modules.member.dao.MemberSettingDao; import com.xcong.excoin.modules.otc.dao.OtcMsgHistoryDao; import com.xcong.excoin.modules.otc.dao.OtcMsgUserListDao; import com.xcong.excoin.modules.otc.entity.OtcMsgHistoryEntity; @@ -23,7 +24,7 @@ @Slf4j @Component -//@ConditionalOnProperty(prefix = "app", name = "rabbit-consumer", havingValue = "true") +@ConditionalOnProperty(prefix = "app", name = "websocket-job", havingValue = "true") public class ChatConsumer { @Autowired @@ -35,43 +36,49 @@ @Autowired private RedisUtils redisUtils; + @Autowired + private MemberSettingDao memberSettingDao; + @RabbitListener(queues = RabbitMqConfig.QUEUE_MSG_HISTORY) @Transactional(rollbackFor = Exception.class) public void msgHistoryConsumer(String content) { log.info("收到历史消息处理:{}", content); ChatRequest chat = JSONObject.parseObject(content, ChatRequest.class); - Long toId = Long.parseLong(chat.getTo()); - Long fromId = Long.parseLong(chat.getFrom()); + Long toId = chat.getTargetId(); + Long fromId = chat.getFromMemberId(); // 发送人是否存在聊天框 - OtcMsgUserListEntity fromList = otcMsgUserListDao.selectChatListByToAndFrom(Long.parseLong(chat.getTo()), Long.parseLong(chat.getFrom())); + OtcMsgUserListEntity fromList = otcMsgUserListDao.selectChatListByToAndFrom(toId, fromId); if (fromList == null) { OtcMsgUserListEntity from = new OtcMsgUserListEntity(); - from.setMemberId(Long.parseLong(chat.getFrom())); - from.setTargetId(Long.parseLong(chat.getTo())); + from.setMemberId(fromId); + from.setTargetId(toId); from.setIsRead(OtcMsgUserListEntity.ISREAD_TWO); from.setLastMsgTime(new Date()); otcMsgUserListDao.insert(from); + } else { + fromList.setLastMsgTime(new Date()); + otcMsgUserListDao.updateById(fromList); } // 收件人是否存在聊天框 - OtcMsgUserListEntity toList = otcMsgUserListDao.selectChatListByToAndFrom(Long.parseLong(chat.getFrom()), Long.parseLong(chat.getTo())); + OtcMsgUserListEntity toList = otcMsgUserListDao.selectChatListByToAndFrom(fromId, toId); if (toList == null) { OtcMsgUserListEntity from = new OtcMsgUserListEntity(); - from.setMemberId(Long.parseLong(chat.getTo())); - from.setTargetId(Long.parseLong(chat.getFrom())); + from.setMemberId(toId); + from.setTargetId(fromId); from.setIsRead(OtcMsgUserListEntity.ISREAD_ONE); from.setLastMsgTime(new Date()); otcMsgUserListDao.insert(from); } else { // 收件人正在聊的用户 - String value = redisUtils.getString(AppContants.MSG_CHATTING + chat.getTo()); - if (StrUtil.isNotBlank(value) && value.equals(chat.getFrom())) { + String value = redisUtils.getString(AppContants.MSG_CHATTING + toId); + if (StrUtil.isNotBlank(value) && value.equals(fromId.toString())) { toList.setLastMsgTime(new Date()); otcMsgUserListDao.updateById(toList); } else { - toList.setIsRead(OtcMsgUserListEntity.ISREAD_TWO); + toList.setIsRead(OtcMsgUserListEntity.ISREAD_ONE); toList.setLastMsgTime(new Date()); otcMsgUserListDao.updateById(toList); } @@ -84,13 +91,15 @@ toHistory.setTargetId(toId); toHistory.setIsSelf(OtcMsgHistoryEntity.ISSELF_TWO); toHistory.setMsgType(chat.getMsgType()); - toHistory.setMsg(chat.getContent()); + toHistory.setMsg(chat.getMsg()); OtcMsgHistoryEntity fromHistory = new OtcMsgHistoryEntity(); BeanUtil.copyProperties(toHistory, fromHistory); fromHistory.setIsSelf(OtcMsgHistoryEntity.ISSELF_ONE); fromHistory.setMemberId(fromId); + memberSettingDao.updateMessageReminderByMemberId(toId); + otcMsgHistoryDao.insert(fromHistory); otcMsgHistoryDao.insert(toHistory); } -- Gitblit v1.9.1