|
@@ -29,6 +29,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -63,6 +64,46 @@ public class ApiRoomController {
|
|
|
return new Result<List<RoomDTO>>().ok(list);
|
|
|
}
|
|
|
|
|
|
+ @Login
|
|
|
+ @GetMapping("allAroundList")
|
|
|
+ @Operation(summary = "我周围的房间列表")
|
|
|
+ public Result<List<RoomDetailDTO>> allAroundList(@Parameter(hidden = true) @RequestAttribute("userId") Long userId) {
|
|
|
+ //同楼层的房间
|
|
|
+ List<RoomDetailDTO> floorList = roomService.floorList(userId);
|
|
|
+ //校验小区状态
|
|
|
+ if(!floorList.isEmpty()){
|
|
|
+ int status = housingEstateService.checkStatus(floorList.get(0).getHousingEstateId());
|
|
|
+ if(status!=1) {
|
|
|
+ return new Result().error(ErrorCode.INTERNAL_SERVER_ERROR, "无法访问,小区当前状态为" + HousingEstateStatus.fromCode(status).getDescription());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //同楼上的房间,设置数量和floorList相同的属性全为空的list
|
|
|
+ List<RoomDetailDTO> upList = new ArrayList<>();
|
|
|
+ //同楼下的房间
|
|
|
+ List<RoomDetailDTO> downList = new ArrayList<>();
|
|
|
+
|
|
|
+ for(RoomDetailDTO room :floorList){
|
|
|
+ if(room.getSelfFlag() == 1){
|
|
|
+ RoomDetailDTO upDto = roomService.roomUp(userId);
|
|
|
+ upList.add(upDto);
|
|
|
+ RoomDetailDTO downDto = roomService.roomDown(userId);
|
|
|
+ downList.add(downDto);
|
|
|
+ }else {
|
|
|
+ //往list中添加空的RoomDetailDTO
|
|
|
+ upList.add(new RoomDetailDTO());
|
|
|
+ downList.add(new RoomDetailDTO());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //将三个list拼接返回
|
|
|
+ List<RoomDetailDTO> list = new ArrayList<>();
|
|
|
+ list.addAll(upList);
|
|
|
+ list.addAll(floorList);
|
|
|
+ list.addAll(downList);
|
|
|
+
|
|
|
+ return new Result<List<RoomDetailDTO>>().ok(list);
|
|
|
+ }
|
|
|
+
|
|
|
@Login
|
|
|
@GetMapping("floorList")
|
|
|
@Operation(summary = "我同楼层的房间列表")
|