Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import java.util.Map;

@RestController
@RequestMapping("/api/spring")
@RequestMapping("/api/v2/spring")
public class CafeteriaControllerV2 {

private final UserServiceV2 userServiceV2;
Expand All @@ -37,18 +37,34 @@ public CafeteriaControllerV2(


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

// 사용자가 존재 & 식당 블록에서 캠퍼스 눌렀을 때 -> 식당 리스트
if (campusId != -1 && sysCampusId != -1) {
return cafeteriaServiceV2.makeCafeteriaListCard(campusId);
} else { // 사용자가 존재 X & 식당 블록에서 더보기 버튼 눌렀을 때 -> 캠퍼스 리스트
return campusOrCafeteria(campusId, sysCampusId);
}


// 반환 조건 설정
private String campusOrCafeteria(int campusId, int sysCampusId) {
// 더보기 버튼 누른 경우
if (sysCampusId == -1) {
return campusServiceV2.makeCampusListCard();
}

// 사용자가 원하는 캠퍼스가 있을 때
if (sysCampusId > 0) {
return cafeteriaServiceV2.makeCafeteriaListCard(sysCampusId);
}

// 사용자가 원하는 캠퍼스가 없을 때
return (campusId != -1)
? cafeteriaServiceV2.makeCafeteriaListCard(campusId)
: campusServiceV2.makeCampusListCard();
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.example.Jinus.controller.v2;

import com.example.Jinus.dto.request.RequestDto;
import com.example.Jinus.service.v2.cafeteria.DietServiceV2;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/api/v2/spring")
@RequiredArgsConstructor
public class DietControllerV2 {
private final DietServiceV2 dietServiceV2;

@PostMapping("/dish")
public String handleRequest(@RequestBody RequestDto requestDto) {
return dietServiceV2.requestHandler(requestDto);
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import static java.lang.String.valueOf;

@RestController
@RequestMapping("/api/spring")
@RequestMapping("/api/v2/spring")
public class NoticeControllerV2 {

private final NoticeServiceV2 noticeServiceV2;
Expand All @@ -39,15 +39,15 @@ public NoticeControllerV2(NoticeServiceV2 noticeServiceV2,
}

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

// 학과 공지사항 조회
@PostMapping("/department-notice/v2")
@PostMapping("/department-notice")
public String responseDepartmentNotice(@RequestBody RequestDto requestDto) {
String userId = requestDto.getUserRequest().getUser().getId();
int departmentId = userServiceV2.getUserDepartmentId(userId);
Expand Down
23 changes: 23 additions & 0 deletions src/main/java/com/example/Jinus/dto/request/HandleRequestDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.example.Jinus.dto.request;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class HandleRequestDto {
private final String kakaoId;
private final String campusName;
private final String day;
private final String period;
private final String cafeteriaName;

public HandleRequestDto(String kakaoId, String campusName, String day, String period, String cafeteriaName) {
this.kakaoId = kakaoId;
this.campusName = campusName;
this.day = day;
this.period = period;
this.cafeteriaName = cafeteriaName;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.time.LocalDateTime;
import java.sql.Date;

@Entity
@Getter
Expand All @@ -20,11 +20,8 @@ public class CafeteriaDietEntity {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int dietId;

@Column(name = "date", columnDefinition = "TIMESTAMP WITH TIME ZONE")
private LocalDateTime dateTime; // 날짜 + 시간 + 시간대

// @Column(name = "date")
// private LocalTime date;
@Column(name = "date")
private Date dietDate;

@Column(name = "day")
private String day_of_week;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public interface CafeteriaRepositoryV2 extends JpaRepository<CafeteriaEntity, In
Optional<Integer> findCafeteriaId(@Param("cafeteriaName") String cafeteriaName,
@Param("campusId") int campusId);

// 식당 url 찾기
@Query("SELECT c.thumbnailUrl FROM CafeteriaEntity c WHERE c.campusId = :campusId")
String findCafeteriaUrlByCampusId(@Param("campusId")int campusId);
// cafeteriaId로 imgUrl 찾기
@Query("SELECT c.thumbnailUrl FROM CafeteriaEntity c WHERE c.id = :cafeteriaId")
String findImgUrlByCafeteriaId(@Param("cafeteriaId")int cafeteriaId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,12 @@ public interface CampusRepositoryV2 extends JpaRepository<CampusEntity, Integer>
// campusId가 5보다 작은 캠퍼스들 찾기
@Query("SELECT c FROM CampusEntity c WHERE c.id < 5")
List<CampusEntity> findCampusList();

// campusName으로 imgUrl 찾기
@Query("SELECT c.thumbnailUrl FROM CampusEntity c WHERE c.campusNameKo = :campusName")
String findCampusImgUrlByCampusName(@Param("campusName")String campusName);

// campusName으로 id 찾기
@Query("SELECT c.id FROM CampusEntity c WHERE c.campusNameKo = :campusName")
int findCampusIdByName(@Param("campusName")String campusName);
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,15 @@
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.sql.Date;
import java.util.List;

@Repository
public interface DietRepositoryV2 extends JpaRepository<CafeteriaDietEntity, Integer> {
@Query("SELECT c.dishCategory, c.dishType, c.dishName FROM CafeteriaDietEntity c " +
"WHERE c.dateTime = :dateTime " +
"WHERE c.dietDate = :dietDate " +
"AND c.time = :period AND c.cafeteriaId = :cafeteriaId")
List<Object[]> findDietList(@Param("dateTime") String dateTime,
List<Object[]> findDietList(@Param("dietDate") Date dietDate,
@Param("period") String period,
@Param("cafeteriaId") int cafeteriaId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,16 @@ public List<Object[]> getCafeteriaList(int campusId) {
return cafeteriaRepositoryV2.findCafeteriaListByCampusId(campusId);
}

// 캠퍼스에 식당이 존재한다면 cafeteriaId 찾기
public int getCafeteriaId(String cafeteriaName, int campusId) {
return cafeteriaRepositoryV2.findCafeteriaId(cafeteriaName, campusId).orElse(-1);
}

// 식당 imgUrl 찾기
public String getImgUrl(int cafeteriaId) {
return cafeteriaRepositoryV2.findImgUrlByCafeteriaId(cafeteriaId);
}

// 식당 리스트 반환 메소드
public String makeCafeteriaListCard(int campusId) {
String campusName = campusServiceV2.getUserCampusName(campusId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ public List<CampusEntity> getCampusList() {
return campusRepositoryV2.findCampusList();
}

// 캠퍼스 이름으로 id 찾기
public int getCampusId(String campusName) {
return campusRepositoryV2.findCampusIdByName(campusName);
}

// 캠퍼스 리스트 반환 메소드
public String makeCampusListCard() {
List<CampusEntity> campusList = getCampusList();
Expand All @@ -53,6 +58,7 @@ public List<ListItemDto> mappingCampusList(List<CampusEntity> campusList) {
String imageUrl = campus.getThumbnailUrl();
Map<String, Object> extra = new HashMap<>();
extra.put("sys_campus_id", campus.getId());
System.out.println("campusId: " + campus.getId());

// 캠퍼스 아이템 객체 생성
ListItemDto listItem = new ListItemDto(campusName, imageUrl, "block", "66067167cdd882158c759fc2", extra);
Expand Down
Loading