Преглед изворни кода

可用房间接口,调整忽略房型

qh пре 2 година
родитељ
комит
501c8a7caa

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusRoomBookingOrdersController.java

@@ -256,7 +256,7 @@ public class BusRoomBookingOrdersController extends JeecgController<BusRoomBooki
 	 @ApiOperation(value="酒店预定订单-预约房间入住", notes="酒店预定订单-预约房间入住")
 	 @RequestMapping(value = "booking-to-live",method = RequestMethod.POST)
 	 public  Result<Boolean> bookingRoomToLive(String bookingRoomId, @RequestBody List<BusLivingCustomer> customers) {
-		 return  Result.ok(service.bookingToLive(bookingRoomId, customers));
+		 return  Result.OK("入住成功",service.bookingToLive(bookingRoomId, customers));
 	 }
 
 	 /**

+ 3 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/DTO/CanUseRequestParamDto.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
+import java.util.List;
 
 @Data
 public class CanUseRequestParamDto {
@@ -24,5 +25,7 @@ public class CanUseRequestParamDto {
     private String layoutId;
     @ApiModelProperty(value = "预约单id")
     private String orderId;
+    @ApiModelProperty(value = "忽略房型,只返回所有房型的楼层信息")
+    private Boolean cancelLayout;
 
 }

+ 28 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/service/CesRoomsServiceImpl.java

@@ -266,7 +266,7 @@ public class CesRoomsServiceImpl extends ServiceImpl<CesRoomsMapper, CesRooms> i
         // 获取房型
         QueryWrapper<CesRoomLayout> wrappers = Wrappers.<CesRoomLayout>query().eq("hotel_id",param.getHotelId())
                 .eq("invalid",false);
-        if(param.getLayoutId() != null && !param.getLayoutId().isEmpty()) {
+        if((param.getCancelLayout() == null || !param.getCancelLayout()) && param.getLayoutId() != null && !param.getLayoutId().isEmpty()) {
             wrappers.eq("id",param.getLayoutId());
         }
        List<CesRoomLayout> layouts = layoutService.list(wrappers);
@@ -297,6 +297,33 @@ public class CesRoomsServiceImpl extends ServiceImpl<CesRoomsMapper, CesRooms> i
             choiceRooms = list(Wrappers.<CesRooms>query().in("id",choiceRoomIds));
         }
         List<CesRooms> finalChoiceRooms = choiceRooms;
+        if(param.getCancelLayout() != null && param.getCancelLayout()) {
+            CanUseResultVo item = new CanUseResultVo();
+            final Integer[] canUseRoomCount = {0};
+            List<CanUseBuildingRoomsVo> floorVos = new ArrayList<>();
+            floors.forEach(c->{
+                CanUseBuildingRoomsVo floorRoomsVo  = new CanUseBuildingRoomsVo();
+                List<CesRooms> floorRooms = allRooms.stream().filter(e->e.getFloorId().equals(c.getId())).collect(Collectors.toList());
+                Optional<CesRoomBuildingFloor> opBuilding = allBuildingFloors.stream().filter(q->q.getId().equals(c.getParentId())).findFirst();
+                if(!opBuilding.isPresent()) return;
+
+                floorRoomsVo.setFloorName(c.getName());
+                floorRoomsVo.setFloorId(c.getId());
+                floorRoomsVo.setBuildingName(opBuilding.get().getName());
+                floorRoomsVo.setBuildingId(opBuilding.get().getId());
+                canUseRoomCount[0] += floorRooms.size();
+                // 设置完size之后添加已用房间 不影响数量
+                List<String> currentFloorRoomIds = floorRooms.stream().map(r->r.getId()).collect(Collectors.toList());
+                List<CesRooms> orderRooms = finalChoiceRooms.stream().filter(y->y.getFloorId().equals(c.getId()) && !currentFloorRoomIds.contains(y.getId())).collect(Collectors.toList());
+                floorRooms.addAll(orderRooms);
+                floorRoomsVo.setFloorRooms(floorRooms);
+                floorVos.add(floorRoomsVo);
+            });
+            item.setLayout(null);
+            item.setBuildingRooms(floorVos);
+            results.add(item);
+            return  results;
+        }
         layouts.forEach(s-> {
            CanUseResultVo item = new CanUseResultVo();
            List<CanUseBuildingRoomsVo> floorVos = new ArrayList<>();