Skip to content

Commit

Permalink
refactor: legacy bus api 제거
Browse files Browse the repository at this point in the history
  • Loading branch information
BaeJinho4028 committed Feb 3, 2025
1 parent a284679 commit 28baddc
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 84 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,20 @@
import java.util.List;

import org.springframework.format.annotation.DateTimeFormat;
import in.koreatech.koin.domain.bus.dto.*;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import in.koreatech.koin.domain.bus.dto.BusCourseResponse;
import in.koreatech.koin.domain.bus.dto.BusNoticeResponse;
import in.koreatech.koin.domain.bus.dto.BusRemainTimeResponse;
import in.koreatech.koin.domain.bus.dto.BusScheduleResponse;
import in.koreatech.koin.domain.bus.dto.BusTimetableResponse;
import in.koreatech.koin.domain.bus.dto.CityBusTimetableResponse;
import in.koreatech.koin.domain.bus.dto.ShuttleBusRoutesResponse;
import in.koreatech.koin.domain.bus.dto.ShuttleBusTimetableResponse;
import in.koreatech.koin.domain.bus.dto.SingleBusTimeResponse;
import in.koreatech.koin.domain.bus.model.BusTimetable;
import in.koreatech.koin.domain.bus.model.enums.BusRouteType;
import in.koreatech.koin.domain.bus.model.enums.BusStation;
import in.koreatech.koin.domain.bus.model.enums.BusType;
Expand Down Expand Up @@ -50,14 +48,6 @@ ResponseEntity<BusRemainTimeResponse> getBusRemainTime(
@Parameter(description = "koreatech, station, terminal") @RequestParam BusStation arrival
);

@Operation(summary = "버스 시간표 조회")
@GetMapping("/timetable")
ResponseEntity<List<? extends BusTimetable>> getBusTimetable(
@RequestParam(value = "bus_type") BusType busType,
@RequestParam(value = "direction") String direction,
@RequestParam(value = "region") String region
);

@Operation(summary = "버스 시간표 조회")
@GetMapping("/timetable/v2")
ResponseEntity<BusTimetableResponse> getBusTimetableV2(
Expand Down Expand Up @@ -88,16 +78,6 @@ ResponseEntity<List<SingleBusTimeResponse>> getSearchTimetable(
@Parameter(description = "koreatech, station, terminal") @RequestParam BusStation arrival
);

@ApiResponses(
value = {
@ApiResponse(responseCode = "200"),
@ApiResponse(responseCode = "404", content = @Content(schema = @Schema(hidden = true))),
}
)
@Operation(summary = "버스 노선 조회")
@GetMapping("/courses")
ResponseEntity<List<BusCourseResponse>> getBusCourses();

@ApiResponses(
value = {
@ApiResponse(responseCode = "200"),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,33 @@
package in.koreatech.koin.domain.bus.controller;

import in.koreatech.koin.domain.bus.dto.*;
import in.koreatech.koin.domain.bus.model.BusTimetable;
import java.time.LocalDate;
import java.time.LocalTime;
import java.util.List;

import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import in.koreatech.koin.domain.bus.dto.BusNoticeResponse;
import in.koreatech.koin.domain.bus.dto.BusRemainTimeResponse;
import in.koreatech.koin.domain.bus.dto.BusRouteCommand;
import in.koreatech.koin.domain.bus.dto.BusScheduleResponse;
import in.koreatech.koin.domain.bus.dto.BusTimetableResponse;
import in.koreatech.koin.domain.bus.dto.CityBusTimetableResponse;
import in.koreatech.koin.domain.bus.dto.ShuttleBusRoutesResponse;
import in.koreatech.koin.domain.bus.dto.ShuttleBusTimetableResponse;
import in.koreatech.koin.domain.bus.dto.SingleBusTimeResponse;
import in.koreatech.koin.domain.bus.model.enums.BusRouteType;
import in.koreatech.koin.domain.bus.model.enums.BusStation;
import in.koreatech.koin.domain.bus.model.enums.BusType;
import in.koreatech.koin.domain.bus.model.enums.CityBusDirection;
import in.koreatech.koin.domain.bus.service.BusService;
import in.koreatech.koin.domain.bus.service.ShuttleBusService;
import in.koreatech.koin.domain.community.article.service.ArticleService;
import lombok.RequiredArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDate;
import java.time.LocalTime;
import java.util.List;

@RestController
@RequiredArgsConstructor
Expand All @@ -36,15 +47,6 @@ public ResponseEntity<BusRemainTimeResponse> getBusRemainTime(
return ResponseEntity.ok().body(busRemainTime);
}

@GetMapping("/timetable")
public ResponseEntity<List<? extends BusTimetable>> getBusTimetable(
@RequestParam(value = "bus_type") BusType busType,
@RequestParam(value = "direction") String direction,
@RequestParam(value = "region") String region
) {
return ResponseEntity.ok().body(busService.getBusTimetable(busType, direction, region));
}

@GetMapping("/timetable/v2")
public ResponseEntity<BusTimetableResponse> getBusTimetableV2(
@RequestParam(value = "bus_type") BusType busType,
Expand All @@ -62,11 +64,6 @@ public ResponseEntity<CityBusTimetableResponse> getCityBusTimetable(
return ResponseEntity.ok().body(busService.getCityBusTimetable(busNumber, direction));
}

@GetMapping("/courses")
public ResponseEntity<List<BusCourseResponse>> getBusCourses() {
return ResponseEntity.ok().body(busService.getBusCourses());
}

@GetMapping("/search")
public ResponseEntity<List<SingleBusTimeResponse>> getSearchTimetable(
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date,
Expand All @@ -85,7 +82,7 @@ public ResponseEntity<ShuttleBusRoutesResponse> getShuttleBusRoutes() {
}

@GetMapping("/timetable/shuttle/{id}")
public ResponseEntity<ShuttleBusTimetableResponse> getShuttleBusTimetable(@PathVariable String id) {
public ResponseEntity<ShuttleBusTimetableResponse> getShuttleBusTimetable(@PathVariable String id) {
return ResponseEntity.ok().body(shuttleBusService.getShuttleBusTimetable(id));
}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ public interface BusRepository extends Repository<BusCourse, String> {

BusCourse save(BusCourse busCourse);

List<BusCourse> findAll();

List<BusCourse> findByBusType(String busType);

List<BusCourse> findByBusTypeAndRegion(String busType, String region);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import in.koreatech.koin.domain.bus.dto.BusCourseResponse;
import in.koreatech.koin.domain.bus.dto.BusNoticeResponse;
import in.koreatech.koin.domain.bus.dto.BusRemainTimeResponse;
import in.koreatech.koin.domain.bus.dto.BusRouteCommand;
Expand Down Expand Up @@ -227,12 +226,6 @@ public BusTimetableResponse getBusTimetableWithUpdatedAt(BusType busType, String
return new BusTimetableResponse(busTimetables, version.updatedAt());
}

public List<BusCourseResponse> getBusCourses() {
return busRepository.findAll().stream()
.map(BusCourseResponse::from)
.toList();
}

public CityBusTimetableResponse getCityBusTimetable(Long busNumber, CityBusDirection direction) {
CityBusTimetable timetable = cityBusTimetableRepository
.getByBusInfoNumberAndBusInfoArrival(busNumber, direction.getName());
Expand Down

0 comments on commit 28baddc

Please sign in to comment.