eight
2024-12-12 2bc90e242eceb83d9aa80d48ea9f991c0f9b99c6
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/room/RoomServiceImpl.java
@@ -4,10 +4,13 @@
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.queue.QueueDO;
import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO;
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.util.StringUtils;
import org.springframework.validation.annotation.Validated;
import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomPageReqVO;
@@ -34,6 +37,9 @@
    @Resource
    private OAuth2TokenApi oAuth2TokenApi;
    @Resource
    QueueService queueService;
    @Override
    public Integer createRoom(RoomSaveReqVO createReqVO) {
@@ -73,6 +79,17 @@
    }
    @Override
    public RoomDO getRoomByIP(String ip) {
        List<RoomDO> roomDOList = roomMapper.queueByIp(ip);
        Optional<RoomDO> optionalQueueDO = roomDOList.stream().filter(item -> StringUtils.hasLength(item.getIp())).findFirst();
        if (!optionalQueueDO.isPresent()) {
            return null;
        }
        return optionalQueueDO.get();
    }
    @Override
    public PageResult<RoomDO> getRoomPage(RoomPageReqVO pageReqVO) {
        return roomMapper.selectPage(pageReqVO);
    }
@@ -91,16 +108,13 @@
        return  roomMapper.simpleRoomList(bedStatusEnumList);
    }
    private void resetRoom() {
        List<BedStatusEnum> bedStatusEnumList = new ArrayList<BedStatusEnum>();
        bedStatusEnumList.add(BedStatusEnum.DOCTOR_ON);
        bedStatusEnumList.add(BedStatusEnum.PAUSE);
        List<RoomDO> roomDOList = roomMapper.simpleRoomList(bedStatusEnumList);
    @Override
    public void resetRoom(Boolean needCloseBed) {
        queueService.startResetRoom(needCloseBed);
    }
        Integer ret = roomMapper.resetRoom(BedStatusEnum.CLOSED);
        //
        List<Long> userIdList = roomDOList.stream().map(roomDO -> roomDO.getDocId()).toList();
        oAuth2TokenApi.tick(userIdList);
    @Override
    public MonitorInfoVO getMonitorInfo() {
        return queueService.getMonitorInfo();
    }
}