Skip to content

Commit 6f54b30

Browse files
committed
fix(#97): 당일/주간 학식 조회 idx로 통일화
1 parent 36b9100 commit 6f54b30

File tree

8 files changed

+27
-47
lines changed

8 files changed

+27
-47
lines changed

src/main/java/everymeal/server/meal/controller/MealController.java

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -68,31 +68,27 @@ public ApplicationResponse<Boolean> createWeekMeal(
6868
return ApplicationResponse.create(mealService.createWeekMeal(weekMealRegisterReq));
6969
}
7070

71-
@GetMapping("/day/v2")
71+
@GetMapping("/day/{universityIdx}")
7272
@Operation(summary = "당일 식단 조회")
73-
public ApplicationResponse<Map<String, Map<String, List<DayMealGetRes>>>> getDayMealV2(
74-
@RequestParam @Schema(description = "학교 이름", defaultValue = "명지대학교")
75-
String universityName,
76-
@RequestParam @Schema(description = "캠퍼스 이름", defaultValue = "인문캠퍼스") String campusName,
73+
public ApplicationResponse<Map<String, Map<String, List<DayMealGetRes>>>> getDayMeal(
74+
@PathVariable @Schema(description = "대학교 캠퍼스 idx", defaultValue = "1")
75+
Long universityIdx,
7776
@RequestParam
7877
@Schema(description = "조회하고자 하는 날짜 ( yyyy-MM-dd )", defaultValue = "2023-10-01")
7978
String offeredAt) {
80-
return ApplicationResponse.ok(
81-
mealService.getDayMealListV2(universityName, campusName, offeredAt));
79+
return ApplicationResponse.ok(mealService.getDayMealList(universityIdx, offeredAt));
8280
}
8381

84-
@GetMapping("/week/v2")
82+
@GetMapping("/week/{universityIdx}")
8583
@Operation(summary = "주간 식단 조회")
86-
public ApplicationResponse<List<Map<String, Map<String, List<DayMealGetRes>>>>> getWeekMealV2(
87-
@RequestParam @Schema(description = "학교 이름", defaultValue = "명지대학교")
88-
String universityName,
89-
@RequestParam @Schema(description = "캠퍼스 이름", defaultValue = "인문캠퍼스") String campusName,
84+
public ApplicationResponse<List<Map<String, Map<String, List<DayMealGetRes>>>>> getWeekMeal(
85+
@PathVariable @Schema(description = "대학교 캠퍼스 idx", defaultValue = "1")
86+
Long universityIdx,
9087
@RequestParam
9188
@Schema(
9289
description = "조회하고자 하는 시작 날짜 ( yyyy-MM-dd )",
9390
defaultValue = "2023-10-01")
9491
String offeredAt) {
95-
return ApplicationResponse.ok(
96-
mealService.getWeekMealList(universityName, campusName, offeredAt));
92+
return ApplicationResponse.ok(mealService.getWeekMealList(universityIdx, offeredAt));
9793
}
9894
}

src/main/java/everymeal/server/meal/repository/MealMapper.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@
1212
@Repository
1313
public interface MealMapper {
1414
List<Map<String, Object>> findDayList(
15-
@Param("offeredAt") String offeredAt,
16-
@Param("universityName") String universityName,
17-
@Param("campusName") String campusName);
15+
@Param("offeredAt") String offeredAt, @Param("universityIdx") Long universityIdx);
1816

1917
List<Meal> findAllByOfferedAtOnDateAndMealType(
2018
@Param("offeredAt") String offeredAt,

src/main/java/everymeal/server/meal/service/MealCommServiceImpl.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ public void saveAll(List<Meal> mealList) {
2828
mealDao.saveAll(mealList);
2929
}
3030

31-
public List<Map<String, Object>> getDayList(
32-
String offeredAt, String universityName, String campusName) {
33-
return mealMapper.findDayList(offeredAt, universityName, campusName);
31+
public List<Map<String, Object>> getDayList(String offeredAt, Long universityIdx) {
32+
return mealMapper.findDayList(offeredAt, universityIdx);
3433
}
3534
}

src/main/java/everymeal/server/meal/service/MealService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ public interface MealService {
1414

1515
List<RestaurantListGetRes> getRestaurantList(Long universityIdx);
1616

17-
Map<String, Map<String, List<DayMealGetRes>>> getDayMealListV2(
18-
String universityName, String campusName, String offeredAt);
17+
Map<String, Map<String, List<DayMealGetRes>>> getDayMealList(
18+
Long universityIdx, String offeredAt);
1919

2020
List<Map<String, Map<String, List<DayMealGetRes>>>> getWeekMealList(
21-
String universityName, String campusName, String offeredAt);
21+
Long universityIdx, String offeredAt);
2222

2323
Boolean createRestaurant(RestaurantRegisterReq restaurantRegisterReq);
2424
}

src/main/java/everymeal/server/meal/service/MealServiceImpl.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,15 @@ public List<RestaurantListGetRes> getRestaurantList(Long universityIdx) {
6363
}
6464

6565
@Override
66-
public Map<String, Map<String, List<DayMealGetRes>>> getDayMealListV2(
67-
String universityName, String campusName, String offeredAt) {
68-
var result = mealCommServiceImpl.getDayList(offeredAt, universityName, campusName);
66+
public Map<String, Map<String, List<DayMealGetRes>>> getDayMealList(
67+
Long universityIdx, String offeredAt) {
68+
var result = mealCommServiceImpl.getDayList(offeredAt, universityIdx);
6969
return Map.of(offeredAt, DayMealGetRes.of(result));
7070
}
7171

7272
@Override
7373
public List<Map<String, Map<String, List<DayMealGetRes>>>> getWeekMealList(
74-
String universityName, String campusName, String offeredAt) { // 현재 날짜와 시간을 가져옵니다.
74+
Long universityIdx, String offeredAt) { // 현재 날짜와 시간을 가져옵니다.
7575
LocalDate ldOfferedAt = LocalDate.parse(offeredAt);
7676

7777
// 현재 요일을 가져옵니다.
@@ -97,9 +97,7 @@ public List<Map<String, Map<String, List<DayMealGetRes>>>> getWeekMealList(
9797
List<Map<String, Map<String, List<DayMealGetRes>>>> result = new ArrayList<>();
9898
for (LocalDate i = monday; i.isBefore(sunday); i = i.plusDays(1)) {
9999
Map<String, List<DayMealGetRes>> row =
100-
DayMealGetRes.of(
101-
mealCommServiceImpl.getDayList(
102-
i.toString(), universityName, campusName));
100+
DayMealGetRes.of(mealCommServiceImpl.getDayList(i.toString(), universityIdx));
103101
result.add(Map.of(i.toString(), row));
104102
}
105103
return result;

src/main/resources/mybatis/mappers/MealMapper.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@
1919
r.name AS restaurantName,
2020
CONCAT(u.name, ' ', u.campus_name) AS universityName,
2121
r.review_count AS reviewCount,
22-
r.grade AS grade
22+
ROUND(r.grade,1) AS grade
2323
FROM restaurant r
2424
JOIN (SELECT DISTINCT meal_type AS mealType FROM meal) AS meal_types ON 1=1
2525
LEFT JOIN meal m ON m.restaurant_idx = r.idx AND m.meal_type = meal_types.mealType AND m.offered_at = DATE(#{offeredAt})
2626
INNER JOIN university u ON r.university_idx = u.idx AND u.is_deleted = false
2727
WHERE
28-
u.name = #{universityName} AND u.campus_name = #{campusName}
28+
u.idx = #{universityIdx}
2929
AND (
3030
(meal_types.mealType = 'BREAKFAST' AND r.is_open_breakfast = true) OR
3131
(meal_types.mealType = 'LUNCH' AND r.is_open_lunch = true) OR

src/test/java/everymeal/server/meal/controller/MealControllerTest.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,15 +80,11 @@ void getRestaurants() throws Exception {
8080
@Test
8181
void getDayMeal() throws Exception {
8282
// given
83-
String universityName = "명지대학교";
84-
String campusName = "인문캠퍼스";
8583
String offeredAt = "2023-10-01";
8684

8785
// when-then
8886
mockMvc.perform(
89-
get("/api/v1/meals/day/v2")
90-
.param("universityName", universityName)
91-
.param("campusName", campusName)
87+
get("/api/v1/meals/day/{universityIdx}", 1)
9288
.param("offeredAt", offeredAt)
9389
.contentType(MediaType.APPLICATION_JSON))
9490
.andDo(MockMvcResultHandlers.print())
@@ -99,14 +95,11 @@ void getDayMeal() throws Exception {
9995
@Test
10096
void getWeekMeal() throws Exception {
10197
// given
102-
String universityName = "명지대학교";
10398
String offeredAt = "2023-10-01";
10499

105100
// when-then
106101
mockMvc.perform(
107-
get("/api/v1/meals/week/v2")
108-
.param("universityName", universityName)
109-
.param("campusName", "인문캠퍼스")
102+
get("/api/v1/meals/week/{universityIdx}", 1)
110103
.param("offeredAt", offeredAt)
111104
.contentType(MediaType.APPLICATION_JSON))
112105
.andDo(MockMvcResultHandlers.print())

src/test/java/everymeal/server/meal/service/MealServiceImplTest.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,7 @@ void tearDown() {
147147

148148
// when
149149
String offeredAt = today.plusDays(1).toString().split("T")[0];
150-
var response =
151-
mealService.getWeekMealList(
152-
university.getName(), university.getCampusName(), offeredAt);
150+
var response = mealService.getWeekMealList(university.getIdx(), offeredAt);
153151

154152
// then
155153
assertEquals(response.size(), 6);
@@ -165,9 +163,7 @@ void tearDown() {
165163

166164
// when
167165
String offeredAt = LocalDate.now().toString().split("T")[0];
168-
var response =
169-
mealService.getDayMealListV2(
170-
getUniversity().getName(), getUniversity().getCampusName(), offeredAt);
166+
var response = mealService.getDayMealList(getUniversity().getIdx(), offeredAt);
171167

172168
// then
173169
assertEquals(response.size(), 1);

0 commit comments

Comments
 (0)