|
@@ -1,18 +1,24 @@
|
|
|
package org.jeecg.modules.rooms.service;
|
|
package org.jeecg.modules.rooms.service;
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.lang.tree.Tree;
|
|
import cn.hutool.core.lang.tree.Tree;
|
|
|
import cn.hutool.core.lang.tree.TreeNode;
|
|
import cn.hutool.core.lang.tree.TreeNode;
|
|
|
import cn.hutool.core.lang.tree.TreeUtil;
|
|
import cn.hutool.core.lang.tree.TreeUtil;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.IService;
|
|
import com.baomidou.mybatisplus.extension.service.IService;
|
|
|
import org.jeecg.common.api.vo.Result;
|
|
import org.jeecg.common.api.vo.Result;
|
|
|
|
|
+import org.jeecg.modules.rooms.DTO.CesRoomBuildingFloorDto;
|
|
|
|
|
+import org.jeecg.modules.rooms.Enum.CouponEnums;
|
|
|
import org.jeecg.modules.rooms.entity.CesRoomBuildingFloor;
|
|
import org.jeecg.modules.rooms.entity.CesRoomBuildingFloor;
|
|
|
import org.jeecg.modules.rooms.mapper.CesRoomBuildingFloorMapper;
|
|
import org.jeecg.modules.rooms.mapper.CesRoomBuildingFloorMapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
|
@@ -48,4 +54,84 @@ public class CesRoomBuildingFloorServiceImpl extends ServiceImpl<CesRoomBuilding
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 创建楼栋或者楼层
|
|
|
|
|
+ * @param floorDto
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public Result create(CesRoomBuildingFloorDto floorDto){
|
|
|
|
|
+ QueryWrapper<CesRoomBuildingFloor> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
+ queryWrapper.eq(CesRoomBuildingFloor.HOTELID,floorDto.getHotelId());
|
|
|
|
|
+ queryWrapper.eq(CesRoomBuildingFloor.TYPE, floorDto.getType().intValue());
|
|
|
|
|
+ queryWrapper.eq(CesRoomBuildingFloor.NAME,floorDto.getName());
|
|
|
|
|
+ if(CouponEnums.RoomBuildingFloorTypeEnum.FLOOR.code() == floorDto.getType().intValue()){
|
|
|
|
|
+ queryWrapper.eq(CesRoomBuildingFloor.PARENT_ID, floorDto.getParentId());
|
|
|
|
|
+ }
|
|
|
|
|
+ List<CesRoomBuildingFloor> floorList = buildingFloorMapper.selectList(queryWrapper);
|
|
|
|
|
+ if(!CollectionUtil.isEmpty(floorList)) return Result.error("该名称已有!");
|
|
|
|
|
+ CesRoomBuildingFloor buildingFloor = new CesRoomBuildingFloor();
|
|
|
|
|
+ buildingFloor.setName(floorDto.getName());
|
|
|
|
|
+ buildingFloor.setHotelId(floorDto.getHotelId());
|
|
|
|
|
+ buildingFloor.setParentId(floorDto.getParentId());
|
|
|
|
|
+ buildingFloor.setType(floorDto.getType());
|
|
|
|
|
+ buildingFloor.setCreateAt(LocalDateTime.now());
|
|
|
|
|
+ buildingFloor.setUpdateAt(LocalDateTime.now());
|
|
|
|
|
+ buildingFloor.setInvalid(false);
|
|
|
|
|
+ buildingFloorMapper.insert(buildingFloor);
|
|
|
|
|
+ return Result.OK("创建成功!");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 修改楼层或者楼栋
|
|
|
|
|
+ * @param floorDto
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public Result modify(CesRoomBuildingFloorDto floorDto){
|
|
|
|
|
+ QueryWrapper<CesRoomBuildingFloor> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
+ queryWrapper.eq(CesRoomBuildingFloor.HOTELID,floorDto.getHotelId());
|
|
|
|
|
+ queryWrapper.eq(CesRoomBuildingFloor.TYPE, floorDto.getType().intValue());
|
|
|
|
|
+ queryWrapper.eq(CesRoomBuildingFloor.NAME,floorDto.getName());
|
|
|
|
|
+ if(CouponEnums.RoomBuildingFloorTypeEnum.FLOOR.code() == floorDto.getType().intValue()){
|
|
|
|
|
+ queryWrapper.eq(CesRoomBuildingFloor.PARENT_ID, floorDto.getParentId());
|
|
|
|
|
+ }
|
|
|
|
|
+ queryWrapper.ne(CesRoomBuildingFloor.ID,floorDto.getId());
|
|
|
|
|
+
|
|
|
|
|
+ List<CesRoomBuildingFloor> floorList = buildingFloorMapper.selectList(queryWrapper);
|
|
|
|
|
+ if(!CollectionUtil.isEmpty(floorList)) return Result.error("该名称已有!");
|
|
|
|
|
+ CesRoomBuildingFloor cesRoomBuildingFloor = buildingFloorMapper.selectById(floorDto.getId());
|
|
|
|
|
+ if(ObjectUtils.isEmpty(cesRoomBuildingFloor)) return Result.error("该楼层或者楼栋未找到!");
|
|
|
|
|
+
|
|
|
|
|
+ cesRoomBuildingFloor.setName(floorDto.getName());
|
|
|
|
|
+ cesRoomBuildingFloor.setUpdateAt(LocalDateTime.now());
|
|
|
|
|
+ buildingFloorMapper.updateById(cesRoomBuildingFloor);
|
|
|
|
|
+ return Result.OK("修改成功!");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 删除楼栋或者楼层
|
|
|
|
|
+ * @param floorDto
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public Result delete(CesRoomBuildingFloorDto floorDto){
|
|
|
|
|
+ CesRoomBuildingFloor cesRoomBuildingFloor = buildingFloorMapper.selectById(floorDto.getId());
|
|
|
|
|
+ if(ObjectUtils.isEmpty(cesRoomBuildingFloor)) return Result.error("该楼层或者楼栋未找到!");
|
|
|
|
|
+
|
|
|
|
|
+ List<CesRoomBuildingFloor> children = buildingFloorMapper.selectList(Wrappers.<CesRoomBuildingFloor>lambdaQuery()
|
|
|
|
|
+ .eq(CesRoomBuildingFloor::getParentId,cesRoomBuildingFloor.getId())
|
|
|
|
|
+ .eq(CesRoomBuildingFloor::getInvalid,false)
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ if(!ObjectUtils.isEmpty(children)) return Result.error("该楼栋下还有楼栋数据,请全部删除后再删除楼栋!");
|
|
|
|
|
+
|
|
|
|
|
+ cesRoomBuildingFloor.setInvalid(true);
|
|
|
|
|
+ cesRoomBuildingFloor.setUpdateAt(LocalDateTime.now());
|
|
|
|
|
+ buildingFloorMapper.updateById(cesRoomBuildingFloor);
|
|
|
|
|
+
|
|
|
|
|
+ return Result.ok("删除成功!");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
}
|
|
}
|