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 cn.lihu.jh.module.ecg.dal.dataobject.room.RoomResVO; 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 org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import java.util.*; import cn.lihu.jh.framework.common.pojo.PageResult; 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 实现类 * * @author 芋道源码 */ @Service @Validated public class RoomServiceImpl implements RoomService { @Resource private RoomMapper roomMapper; @Override public Integer createRoom(RoomSaveReqVO createReqVO) { // 插入 RoomResVO room = BeanUtils.toBean(createReqVO, RoomResVO.class); roomMapper.insert(room); // 返回 return room.getId(); } @Override public void updateRoom(RoomSaveReqVO updateReqVO) { // 校验存在 validateRoomExists(updateReqVO.getId()); // 更新 RoomResVO updateObj = BeanUtils.toBean(updateReqVO, RoomResVO.class); roomMapper.updateById(updateObj); } @Override public void deleteRoom(Integer id) { // 校验存在 validateRoomExists(id); // 删除 roomMapper.deleteById(id); } private void validateRoomExists(Integer id) { if (roomMapper.selectById(id) == null) { throw exception(ROOM_NOT_EXISTS); } } @Override public RoomResVO getRoom(Integer id) { return roomMapper.selectById(id); } @Override public PageResult getRoomPage(RoomPageReqVO pageReqVO) { return roomMapper.selectPage(pageReqVO); } @Override public List roomStatistics() { return roomMapper.roomStatistic(); } @Override public List simpleRoomList() { List bedStatusEnumList = new ArrayList(); bedStatusEnumList.add(BedStatusEnum.OPENING); bedStatusEnumList.add(BedStatusEnum.DOCTOR_ON); bedStatusEnumList.add(BedStatusEnum.PAUSE); return roomMapper.simpleRoomList(bedStatusEnumList); } }