Skip to content

Commit fc94d61

Browse files
authored
Merge pull request #7 from hykim02/main
캠퍼스, 공지, 식단 리팩토링 1차 완료
2 parents 0b46f38 + 7f7b836 commit fc94d61

File tree

13 files changed

+263
-189
lines changed

13 files changed

+263
-189
lines changed

src/main/java/com/example/Jinus/controller/v2/CafeteriaControllerV2.java

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import java.util.Map;
2020

2121
@RestController
22-
@RequestMapping("/api/spring")
22+
@RequestMapping("/api/v2/spring")
2323
public class CafeteriaControllerV2 {
2424

2525
private final UserServiceV2 userServiceV2;
@@ -37,18 +37,34 @@ public CafeteriaControllerV2(
3737

3838

3939
// 사용자 존재 여부에 따라 응답
40-
@PostMapping("/cafeteria/v2")
40+
@PostMapping("/cafeteria")
4141
public String responseCafeteriaOrCampusListCard(@RequestBody RequestDto requestDto) {
4242
// userId로 campusId 찾기
4343
String userId = requestDto.getUserRequest().getUser().getId();
4444
int campusId = userServiceV2.getUserCampusId(userId);
4545
int sysCampusId = requestDto.getAction().getClientExtra().getSys_campus_id();
4646

47-
// 사용자가 존재 & 식당 블록에서 캠퍼스 눌렀을 때 -> 식당 리스트
48-
if (campusId != -1 && sysCampusId != -1) {
49-
return cafeteriaServiceV2.makeCafeteriaListCard(campusId);
50-
} else { // 사용자가 존재 X & 식당 블록에서 더보기 버튼 눌렀을 때 -> 캠퍼스 리스트
47+
return campusOrCafeteria(campusId, sysCampusId);
48+
}
49+
50+
51+
// 반환 조건 설정
52+
private String campusOrCafeteria(int campusId, int sysCampusId) {
53+
// 더보기 버튼 누른 경우
54+
if (sysCampusId == -1) {
5155
return campusServiceV2.makeCampusListCard();
5256
}
57+
58+
// 사용자가 원하는 캠퍼스가 있을 때
59+
if (sysCampusId > 0) {
60+
return cafeteriaServiceV2.makeCafeteriaListCard(sysCampusId);
61+
}
62+
63+
// 사용자가 원하는 캠퍼스가 없을 때
64+
return (campusId != -1)
65+
? cafeteriaServiceV2.makeCafeteriaListCard(campusId)
66+
: campusServiceV2.makeCampusListCard();
5367
}
68+
69+
5470
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.example.Jinus.controller.v2;
2+
3+
import com.example.Jinus.dto.request.RequestDto;
4+
import com.example.Jinus.service.v2.cafeteria.DietServiceV2;
5+
import lombok.RequiredArgsConstructor;
6+
import org.springframework.web.bind.annotation.PostMapping;
7+
import org.springframework.web.bind.annotation.RequestBody;
8+
import org.springframework.web.bind.annotation.RequestMapping;
9+
import org.springframework.web.bind.annotation.RestController;
10+
11+
@RestController
12+
@RequestMapping("/api/v2/spring")
13+
@RequiredArgsConstructor
14+
public class DietControllerV2 {
15+
private final DietServiceV2 dietServiceV2;
16+
17+
@PostMapping("/dish")
18+
public String handleRequest(@RequestBody RequestDto requestDto) {
19+
return dietServiceV2.requestHandler(requestDto);
20+
}
21+
}

src/main/java/com/example/Jinus/controller/v2/DishControllerV2.java

Lines changed: 0 additions & 58 deletions
This file was deleted.

src/main/java/com/example/Jinus/controller/v2/NoticeControllerV2.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import static java.lang.String.valueOf;
2121

2222
@RestController
23-
@RequestMapping("/api/spring")
23+
@RequestMapping("/api/v2/spring")
2424
public class NoticeControllerV2 {
2525

2626
private final NoticeServiceV2 noticeServiceV2;
@@ -39,15 +39,15 @@ public NoticeControllerV2(NoticeServiceV2 noticeServiceV2,
3939
}
4040

4141
// 학교 공지사항 조회
42-
@PostMapping("/main-notice/v2")
42+
@PostMapping("/main-notice")
4343
public String getMainNotice() {
4444
int departmentId = 117; // 학교 공지사항 id
4545
String departmentEng = "main"; // 학과 영문명
4646
return existUserReturnNotice(departmentEng, departmentId);
4747
}
4848

4949
// 학과 공지사항 조회
50-
@PostMapping("/department-notice/v2")
50+
@PostMapping("/department-notice")
5151
public String responseDepartmentNotice(@RequestBody RequestDto requestDto) {
5252
String userId = requestDto.getUserRequest().getUser().getId();
5353
int departmentId = userServiceV2.getUserDepartmentId(userId);
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.example.Jinus.dto.request;
2+
3+
import lombok.Getter;
4+
import lombok.Setter;
5+
6+
@Getter
7+
@Setter
8+
public class HandleRequestDto {
9+
private final String kakaoId;
10+
private final String campusName;
11+
private final String day;
12+
private final String period;
13+
private final String cafeteriaName;
14+
15+
public HandleRequestDto(String kakaoId, String campusName, String day, String period, String cafeteriaName) {
16+
this.kakaoId = kakaoId;
17+
this.campusName = campusName;
18+
this.day = day;
19+
this.period = period;
20+
this.cafeteriaName = cafeteriaName;
21+
}
22+
23+
}

src/main/java/com/example/Jinus/entity/cafeteria/CafeteriaDietEntity.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import lombok.NoArgsConstructor;
77
import lombok.Setter;
88

9-
import java.time.LocalDateTime;
9+
import java.sql.Date;
1010

1111
@Entity
1212
@Getter
@@ -20,11 +20,8 @@ public class CafeteriaDietEntity {
2020
@GeneratedValue(strategy = GenerationType.IDENTITY)
2121
private int dietId;
2222

23-
@Column(name = "date", columnDefinition = "TIMESTAMP WITH TIME ZONE")
24-
private LocalDateTime dateTime; // 날짜 + 시간 + 시간대
25-
26-
// @Column(name = "date")
27-
// private LocalTime date;
23+
@Column(name = "date")
24+
private Date dietDate;
2825

2926
@Column(name = "day")
3027
private String day_of_week;

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public interface CafeteriaRepositoryV2 extends JpaRepository<CafeteriaEntity, In
2020
Optional<Integer> findCafeteriaId(@Param("cafeteriaName") String cafeteriaName,
2121
@Param("campusId") int campusId);
2222

23-
// 식당 url 찾기
24-
@Query("SELECT c.thumbnailUrl FROM CafeteriaEntity c WHERE c.campusId = :campusId")
25-
String findCafeteriaUrlByCampusId(@Param("campusId")int campusId);
23+
// cafeteriaId로 imgUrl 찾기
24+
@Query("SELECT c.thumbnailUrl FROM CafeteriaEntity c WHERE c.id = :cafeteriaId")
25+
String findImgUrlByCafeteriaId(@Param("cafeteriaId")int cafeteriaId);
2626
}

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,12 @@ public interface CampusRepositoryV2 extends JpaRepository<CampusEntity, Integer>
1717
// campusId가 5보다 작은 캠퍼스들 찾기
1818
@Query("SELECT c FROM CampusEntity c WHERE c.id < 5")
1919
List<CampusEntity> findCampusList();
20+
21+
// campusName으로 imgUrl 찾기
22+
@Query("SELECT c.thumbnailUrl FROM CampusEntity c WHERE c.campusNameKo = :campusName")
23+
String findCampusImgUrlByCampusName(@Param("campusName")String campusName);
24+
25+
// campusName으로 id 찾기
26+
@Query("SELECT c.id FROM CampusEntity c WHERE c.campusNameKo = :campusName")
27+
int findCampusIdByName(@Param("campusName")String campusName);
2028
}

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,15 @@
66
import org.springframework.data.repository.query.Param;
77
import org.springframework.stereotype.Repository;
88

9-
import java.time.LocalDateTime;
10-
import java.time.OffsetDateTime;
9+
import java.sql.Date;
1110
import java.util.List;
1211

1312
@Repository
1413
public interface DietRepositoryV2 extends JpaRepository<CafeteriaDietEntity, Integer> {
1514
@Query("SELECT c.dishCategory, c.dishType, c.dishName FROM CafeteriaDietEntity c " +
16-
"WHERE c.dateTime = :dateTime " +
15+
"WHERE c.dietDate = :dietDate " +
1716
"AND c.time = :period AND c.cafeteriaId = :cafeteriaId")
18-
List<Object[]> findDietList(@Param("dateTime") String dateTime,
17+
List<Object[]> findDietList(@Param("dietDate") Date dietDate,
1918
@Param("period") String period,
2019
@Param("cafeteriaId") int cafeteriaId);
2120
}

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,16 @@ public List<Object[]> getCafeteriaList(int campusId) {
3131
return cafeteriaRepositoryV2.findCafeteriaListByCampusId(campusId);
3232
}
3333

34+
// 캠퍼스에 식당이 존재한다면 cafeteriaId 찾기
35+
public int getCafeteriaId(String cafeteriaName, int campusId) {
36+
return cafeteriaRepositoryV2.findCafeteriaId(cafeteriaName, campusId).orElse(-1);
37+
}
38+
39+
// 식당 imgUrl 찾기
40+
public String getImgUrl(int cafeteriaId) {
41+
return cafeteriaRepositoryV2.findImgUrlByCafeteriaId(cafeteriaId);
42+
}
43+
3444
// 식당 리스트 반환 메소드
3545
public String makeCafeteriaListCard(int campusId) {
3646
String campusName = campusServiceV2.getUserCampusName(campusId);

0 commit comments

Comments
 (0)