Skip to content

Commit 8ddb68e

Browse files
authored
Merge pull request #15 from GNU-connect/fix-diet
[Fix] 식단 출력 함수 리팩토링
2 parents 275845b + b617103 commit 8ddb68e

File tree

4 files changed

+49
-5
lines changed

4 files changed

+49
-5
lines changed

src/main/java/com/example/Jinus/repository/cafeteria/CafeteriaRepository.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,12 @@
1010

1111
@Repository
1212
public interface CafeteriaRepository extends JpaRepository<CafeteriaEntity, Integer> {
13-
@Query("SELECT c.cafeteriaNameKo, c.thumbnailUrl FROM CafeteriaEntity c WHERE c.campusId = :campusId")
13+
@Query(
14+
"SELECT c.cafeteriaNameKo, c.thumbnailUrl " +
15+
"FROM CafeteriaEntity c " +
16+
"WHERE c.campusId = :campusId " +
17+
"ORDER BY c.cafeteriaNameKo ASC"
18+
)
1419
List<Object[]> findCafeteriaListByCampusId(int campusId);
1520

1621
@Query(

src/main/java/com/example/Jinus/repository/v2/cafeteria/CafeteriaRepositoryV2.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,12 @@
1111

1212
public interface CafeteriaRepositoryV2 extends JpaRepository<CafeteriaEntity, Integer> {
1313
// 사용자 campusId와 동일한 식당이름과 url 찾기
14-
@Query("SELECT c.cafeteriaNameKo, c.thumbnailUrl FROM CafeteriaEntity c WHERE c.campusId = :campusId")
14+
@Query(
15+
"SELECT c.cafeteriaNameKo, c.thumbnailUrl " +
16+
"FROM CafeteriaEntity c " +
17+
"WHERE c.campusId = :campusId " +
18+
"ORDER BY c.cafeteriaNameKo ASC"
19+
)
1520
List<Object[]> findCafeteriaListByCampusId(@Param("campusId")int campusId);
1621

1722
// campusId와 식당이름으로 cafeteriaId 찾기

src/main/java/com/example/Jinus/service/v2/cafeteria/DietServiceV2.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.example.Jinus.repository.v2.cafeteria.CampusRepositoryV2;
88
import com.example.Jinus.repository.v2.cafeteria.DietRepositoryV2;
99
import com.example.Jinus.repository.v2.userInfo.UserRepositoryV2;
10+
import com.example.Jinus.utility.DateUtils;
1011
import com.example.Jinus.utility.JsonUtils;
1112
import com.example.Jinus.utility.SimpleTextResponse;
1213
import lombok.RequiredArgsConstructor;
@@ -70,7 +71,7 @@ public String makeResponse(HandleRequestDto parameters) {
7071
StringBuilder diets = processDietList(dietList);
7172
return makeContents(parameters, cafeteriaId, diets);
7273
} else { // 메뉴 존재하지 않는 경우
73-
StringBuilder diets = new StringBuilder("\n\n").append("메뉴가 존재하지 않습니다.");
74+
StringBuilder diets = new StringBuilder("\n메뉴가 존재하지 않습니다.");
7475
return makeContents(parameters, cafeteriaId, diets);
7576
}
7677
} else { // 식당 존재하지 않는 경우
@@ -150,9 +151,11 @@ private String makeContents(HandleRequestDto parameters, int cafeteriaId, String
150151

151152
// 식단 날짜
152153
Date dietDate = getCurrentDate(parameters.getDay());
154+
String day = DateUtils.getDayOfWeekInKorean(dietDate);
155+
153156
// 메뉴 연결
154-
StringBuilder description = new StringBuilder(String.valueOf(dietDate)).append(" ")
155-
.append(parameters.getPeriod()).append(diets);
157+
StringBuilder description = new StringBuilder(String.valueOf(dietDate)).append("(").append(day).append(") ")
158+
.append(parameters.getPeriod()).append("\n").append(diets);
156159

157160
return mappingResponse(parameters, imgUrl, title.toString(), description.toString());
158161
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.example.Jinus.utility;
2+
3+
import java.time.DayOfWeek;
4+
import java.time.LocalDate;
5+
import java.time.ZoneId;
6+
import java.util.Date;
7+
import java.util.Map;
8+
9+
public class DateUtils {
10+
// 주어진 날짜 문자열에 대해 요일을 한글로 반환하는 메서드
11+
public static String getDayOfWeekInKorean(Date date) {
12+
java.util.Date utilDate = new java.util.Date(date.getTime());
13+
LocalDate localDate = utilDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
14+
// 요일 가져오기
15+
DayOfWeek dayOfWeek = localDate.getDayOfWeek();
16+
17+
// 요일을 한글로 변환하는 매핑 (월, 화, 수, ...)
18+
Map<DayOfWeek, String> koreanDays = Map.of(
19+
DayOfWeek.MONDAY, "월",
20+
DayOfWeek.TUESDAY, "화",
21+
DayOfWeek.WEDNESDAY, "수",
22+
DayOfWeek.THURSDAY, "목",
23+
DayOfWeek.FRIDAY, "금",
24+
DayOfWeek.SATURDAY, "토",
25+
DayOfWeek.SUNDAY, "일"
26+
);
27+
28+
// 변환된 요일 반환
29+
return koreanDays.get(dayOfWeek);
30+
}
31+
}

0 commit comments

Comments
 (0)