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.RoomDO; import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomStatisticsDO; import cn.lihu.jh.module.ecg.dal.mysql.room.RoomMapper; 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.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) { // 插入 RoomDO room = BeanUtils.toBean(createReqVO, RoomDO.class); roomMapper.insert(room); // 返回 return room.getId(); } @Override public void updateRoom(RoomSaveReqVO updateReqVO) { // 校验存在 validateRoomExists(updateReqVO.getId()); // 更新 RoomDO updateObj = BeanUtils.toBean(updateReqVO, RoomDO.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 RoomDO 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() { return roomMapper.simpleRoomList(); } }