From 069328ea846a08e673c508725e7e8d019f8a6333 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期日, 30 三月 2025 20:49:09 +0800
Subject: [PATCH] get room profile

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/room/RoomServiceImpl.java |   66 ++++++++++++++++++++++++++++++---
 1 files changed, 60 insertions(+), 6 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/room/RoomServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/room/RoomServiceImpl.java
index 42a7710..68554a7 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/room/RoomServiceImpl.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/room/RoomServiceImpl.java
@@ -4,14 +4,17 @@
 import javax.annotation.Resource;
 
 import cn.lihu.jh.framework.common.pojo.PageResult;
-import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomRespVO;
+import cn.lihu.jh.module.ecg.controller.admin.room.vo.MonitorInfoVO;
 import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO;
+import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomProfile;
+import cn.lihu.jh.module.ecg.enums.RoomCallingScreenEnum;
+import cn.lihu.jh.module.ecg.service.queue.QueueService;
+import cn.lihu.jh.module.system.api.oauth2.OAuth2TokenApi;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
 import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomPageReqVO;
 import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomSaveReqVO;
-import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomStatisticsDO;
 import cn.lihu.jh.module.ecg.dal.mysql.room.RoomMapper;
 import cn.lihu.jh.module.ecg.enums.BedStatusEnum;
 import cn.lihu.jh.framework.common.util.object.BeanUtils;
@@ -30,6 +33,12 @@
 
     @Resource
     private RoomMapper roomMapper;
+
+    @Resource
+    private OAuth2TokenApi oAuth2TokenApi;
+
+    @Resource
+    QueueService queueService;
 
     @Override
     public Integer createRoom(RoomSaveReqVO createReqVO) {
@@ -69,13 +78,48 @@
     }
 
     @Override
-    public PageResult<RoomDO> getRoomPage(RoomPageReqVO pageReqVO) {
-        return roomMapper.selectPage(pageReqVO);
+    public RoomProfile getRoomByIP(String ip) {
+        List<RoomDO> roomDOList = roomMapper.queueByIp(ip);
+
+        RoomProfile roomProfile = new RoomProfile();
+        roomProfile.setBedNum( 0 );
+        roomProfile.setCallingScreenType( RoomCallingScreenEnum.NONE.getCallingScreenType() );
+
+        for (RoomDO roomDO : roomDOList) {
+            roomProfile.setRoomId(roomDO.getRoomId());
+            roomProfile.setRoomName(roomDO.getRoomName());
+            roomProfile.setBedNum( roomProfile.getBedNum() + 1);
+
+            // 璁$畻 璇婇棿灞忕被鍨�
+            if (roomProfile.getCallingScreenType() == RoomCallingScreenEnum.NONE.getCallingScreenType()) {
+                if ( roomDO.getOpType() == 0 || roomDO.getOpType() == 1 ) {
+                    roomProfile.setCallingScreenType( RoomCallingScreenEnum.CHECK_ONLY.getCallingScreenType());
+                } else if ( roomDO.getOpType() == 2 ) {
+                    roomProfile.setCallingScreenType( RoomCallingScreenEnum.INSTALL_ONLY.getCallingScreenType());
+                }
+            } else if (roomProfile.getCallingScreenType() == RoomCallingScreenEnum.CHECK_ONLY.getCallingScreenType()) {
+                if ( roomDO.getOpType() == 0 || roomDO.getOpType() == 1 ) {
+                    // do nothing
+                } else if ( roomDO.getOpType() == 2 ) {
+                    roomProfile.setCallingScreenType( RoomCallingScreenEnum.HYBRID.getCallingScreenType());
+                }
+            } else if (roomProfile.getCallingScreenType() == RoomCallingScreenEnum.INSTALL_ONLY.getCallingScreenType()) {
+                if ( roomDO.getOpType() == 0 || roomDO.getOpType() == 1 ) {
+                    roomProfile.setCallingScreenType( RoomCallingScreenEnum.HYBRID.getCallingScreenType());
+                } else if ( roomDO.getOpType() == 2 ) {
+                    // do nothing
+                }
+            } else if (roomProfile.getCallingScreenType() == RoomCallingScreenEnum.HYBRID.getCallingScreenType()) {
+                // do nothing
+            }
+        }
+
+        return roomProfile;
     }
 
     @Override
-    public List<RoomStatisticsDO> roomStatistics() {
-        return roomMapper.roomStatistic();
+    public PageResult<RoomDO> getRoomPage(RoomPageReqVO pageReqVO) {
+        return roomMapper.selectPage(pageReqVO);
     }
 
     @Override
@@ -86,4 +130,14 @@
         bedStatusEnumList.add(BedStatusEnum.PAUSE);
         return  roomMapper.simpleRoomList(bedStatusEnumList);
     }
+
+    @Override
+    public void resetRoom(Boolean needCloseBed) {
+        queueService.startResetRoom(needCloseBed);
+    }
+
+    @Override
+    public MonitorInfoVO getMonitorInfo() {
+        return queueService.getMonitorInfo();
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3