eight
2024-09-02 1aecee3a44782899685bd2a098a16533f7a20846
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/room/RoomServiceImpl.java
@@ -1,23 +1,25 @@
package cn.lihu.jh.module.ecg.service.room;
import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomPageReqVO;
import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomSaveReqVO;
import java.util.*;
import javax.annotation.Resource;
import cn.lihu.jh.framework.common.pojo.PageResult;
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.mysql.room.RoomMapper;
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 org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.lihu.jh.framework.common.pojo.PageResult;
import cn.lihu.jh.framework.common.pojo.PageParam;
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;
import javax.annotation.Resource;
import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.ROOM_NOT_EXISTS;
/**
 * 诊室和诊疗床 Service 实现类
@@ -30,6 +32,12 @@
    @Resource
    private RoomMapper roomMapper;
    @Resource
    private OAuth2TokenApi oAuth2TokenApi;
    @Resource
    QueueService queueService;
    @Override
    public Integer createRoom(RoomSaveReqVO createReqVO) {
@@ -73,4 +81,38 @@
        return roomMapper.selectPage(pageReqVO);
    }
    @Override
    public List<RoomStatisticsDO> roomStatistics() {
        return roomMapper.roomStatistic();
    }
    @Override
    public List<RoomDO> simpleRoomList() {
        List<BedStatusEnum> bedStatusEnumList = new ArrayList<BedStatusEnum>();
        bedStatusEnumList.add(BedStatusEnum.OPENING);
        bedStatusEnumList.add(BedStatusEnum.DOCTOR_ON);
        bedStatusEnumList.add(BedStatusEnum.PAUSE);
        return  roomMapper.simpleRoomList(bedStatusEnumList);
    }
    @Override
    public void resetRoom() {
        List<BedStatusEnum> bedStatusEnumList = new ArrayList<BedStatusEnum>();
        bedStatusEnumList.add(BedStatusEnum.DOCTOR_ON);
        bedStatusEnumList.add(BedStatusEnum.PAUSE);
        List<RoomDO> roomDOList = roomMapper.simpleRoomList(bedStatusEnumList);
        Integer ret = roomMapper.resetRoom(BedStatusEnum.CLOSED.getStatus());
        //
        List<Long> userIdList = roomDOList.stream().map(roomDO -> roomDO.getDocId()).toList();
        oAuth2TokenApi.tick(userIdList);
        queueService.startBedReload();
    }
    @Override
    public MonitorInfoVO getMonitorInfo() {
        return queueService.getMonitorInfo();
    }
}