package com.thhy.engineering.modules.biz.room.service.impl; import com.github.pagehelper.util.StringUtil; import com.thhy.engineering.modules.biz.build.mapper.BuildMapper; import com.thhy.engineering.modules.biz.room.entity.*; import com.thhy.engineering.modules.biz.room.mapper.RoomMapper; import com.thhy.engineering.modules.biz.room.service.RoomService; import com.thhy.general.common.BasicMessage; import com.thhy.general.config.SysUserInfo; import com.thhy.general.exception.BasicException; import com.thhy.general.utils.UserInfoUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.Serializable; import java.util.Date; import java.util.List; /** * 服务实现类 * @author zhang_xiao_bo * @since 2023-04-11 17:19:21 */ @Service public class RoomServiceImpl implements RoomService { @Autowired private RoomMapper roomMapper; @Autowired private BuildMapper buildMapper; public Room get(Serializable id){ return roomMapper.queryById(id); } public List findList(Room room){ SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(); return roomMapper.findList(room.setCompanyId(userInfo.getCompanyId())); } @Override public List pulldown() { SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(); List buildPullList = buildMapper.findAll(userInfo.getCompanyId()); for(BuildPull bp : buildPullList){ List floorPullList = roomMapper.queryFloorByBuild(bp.getBuildId()); for(FloorPull fp : floorPullList){ List roomList = roomMapper.queryRoomByBuildFloor(new Room(bp.getBuildId(),fp.getFloorNum())); fp.setRoomList(roomList); } bp.setFloors(floorPullList); } return buildPullList; } @Override public List findRoomList(Room room) { return roomMapper.findRoomList(room); } /** * 增加和修改 * @param roomDto */ @Transactional public void addRoom(RoomDto roomDto){ List roomList = roomDto.getRoomList(); List deleteList = roomDto.getDeleteList(); //Room room = new Room(roomDto.getBuildId(),roomDto.getFloorNum()); for(Room room : deleteList){ room.setFloorNum(roomDto.getFloorNum()); // int count = roomMapper.countByRoom(room.getRoomId()); if(count>0){ continue; } roomMapper.deletelogic(room.getRoomId()); } for(Room room : roomList){ room.setBuildId(roomDto.getBuildId()); room.setFloorNum(roomDto.getFloorNum()); if(StringUtil.isEmpty(room.getRoomId())){ roomMapper.insert(room); }else{ roomMapper.update(room); } } /*if(room.getRoomId()==null){ roomMapper.insert(room); }else{ roomMapper.update(room); }*/ } /** * 修改 * @param room */ public void update(Room room){ roomMapper.update(room); } /** * 删除 * @param roomId */ public void delete(Serializable roomId){ roomMapper.deletelogic(roomId); } @Override public void deleteFloor(RoomDto roomDto) { RoomListVo roomListVo = roomMapper.CountByBuildFloor(roomDto); if(roomListVo!=null){ throw new BasicException(new BasicMessage("000900",roomListVo.getBuildNum()+"号楼"+roomListVo.getFloorNum()+"层:"+roomListVo.getDormNums()+"已经配置")); } roomMapper.deleteByBuildFloor(new Room(roomDto.getBuildId(),roomDto.getFloorNum())); } }