From a6205cbf1a93ea8f77a771de2dbd68c8f1e52ebe Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期五, 02 八月 2024 13:25:46 +0800 Subject: [PATCH] 电磁锁新增临时电子围栏查询修改提交 --- ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallHistoryServiceImpl.java | 34 ++++++++++------------------------ 1 files changed, 10 insertions(+), 24 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallHistoryServiceImpl.java b/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallHistoryServiceImpl.java index d7a967c..b28254c 100644 --- a/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallHistoryServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallHistoryServiceImpl.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.ruoyi.call.domain.*; +import com.ruoyi.call.dto.MessageEvent; import com.ruoyi.call.mapper.*; import com.ruoyi.call.service.IArdCallGroupService; import com.ruoyi.common.core.domain.entity.SysUser; @@ -15,7 +16,9 @@ import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.utils.websocket.util.WebSocketUtils; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -40,6 +43,7 @@ * @date 2024-07-03 */ @Service +@Slf4j(topic = "msgListener") public class ArdCallHistoryServiceImpl implements IArdCallHistoryService { @Resource private ArdCallHistoryMapper ardCallHistoryMapper; @@ -51,6 +55,8 @@ private ArdCallGroupUserMapper ardCallGroupUserMapper; @Resource private IArdCallGroupService ardCallGroupService; + @Autowired + private ApplicationEventPublisher eventPublisher; /** * 鏌ヨ浼氳瘽鍘嗗彶 @@ -104,7 +110,6 @@ */ @Override public int insertArdCallHistory(ArdCallHistory ardCallHistory) { - ardCallHistory.setId(IdUtils.simpleUUID()); ardCallHistory.setCreateTime(DateUtils.getNowDate()); ArdCallSession ardCallSession = ardCallSessionMapper.selectArdCallSessionById(ardCallHistory.getSessionId()); @@ -125,17 +130,8 @@ ardCallUnreadMessagesMapper.updateArdCallUnreadMessages(ardCallUnreadMessages); } //websocket鍙戦�佺粰targetId - // 鏋勫缓姝e垯琛ㄨ揪寮忔ā寮� - String regex = "^" + Pattern.quote(ardCallHistory.getTargetId()) + "_\\d+$"; - Pattern pattern = Pattern.compile(regex); - Map<String, Object> messageMap = new HashMap<>(); - messageMap.put("type", "message"); - messageMap.put("message", JSON.toJSONString(ardCallHistory)); - ONLINE_USER_SESSIONS.entrySet().stream().filter(entry -> { - Matcher matcher = pattern.matcher(entry.getKey()); - return matcher.matches(); - }).map(Map.Entry::getValue).forEach(session -> WebSocketUtils.sendMessage(session, messageMap)); - + MessageEvent messageEvent = new MessageEvent(ardCallHistory.getTargetId(), ardCallHistory); + eventPublisher.publishEvent(messageEvent); } else { //鏇存柊缇よ亰鐢ㄦ埛鏈娑堟伅璁℃暟 ArdCallGroupUser ardCallGroupUser = new ArdCallGroupUser(); @@ -159,20 +155,10 @@ ardCallUnreadMessagesMapper.updateArdCallUnreadMessages(ardCallUnreadMessages); } //websocket鍙戦�佺粰targetId - // 鏋勫缓姝e垯琛ㄨ揪寮忔ā寮� - String regex = "^" + Pattern.quote(groupUser.getUserId()) + "_\\d+$"; - Pattern pattern = Pattern.compile(regex); - Map<String, Object> messageMap = new HashMap<>(); - messageMap.put("type", "message"); - messageMap.put("message", JSON.toJSONString(ardCallHistory)); - ONLINE_USER_SESSIONS.entrySet().stream().filter(entry -> { - Matcher matcher = pattern.matcher(entry.getKey()); - return matcher.matches(); - }).map(Map.Entry::getValue).forEach(session -> WebSocketUtils.sendMessage(session, messageMap)); + MessageEvent messageEvent = new MessageEvent(groupUser.getUserId(), ardCallHistory); + eventPublisher.publishEvent(messageEvent); } - }); - } return ardCallHistoryMapper.insertArdCallHistory(ardCallHistory); } -- Gitblit v1.9.3