Skip to content

Commit

Permalink
Merge pull request #117 from teamterning/feat/#116
Browse files Browse the repository at this point in the history
[✨ feat/#116] [2차] 홈화면 > 오늘 마감되는 관심공고에서 홈화면 > 곧 마감되는 관심 공고로 변경
  • Loading branch information
junggyo1020 authored Aug 30, 2024
2 parents e0ffab5 + 8ee8c44 commit 51c11e5
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,15 @@
import org.springframework.web.bind.annotation.*;
import org.terning.terningserver.controller.swagger.HomeSwagger;
import org.terning.terningserver.dto.user.response.HomeAnnouncementsResponseDto;
import org.terning.terningserver.dto.user.response.HomeResponseDto;
import org.terning.terningserver.dto.user.response.TodayScrapResponseDto;
import org.terning.terningserver.exception.CustomException;
import org.terning.terningserver.exception.dto.ErrorResponse;
import org.terning.terningserver.dto.user.response.UpcomingScrapResponseDto;
import org.terning.terningserver.exception.dto.SuccessResponse;
import org.terning.terningserver.exception.enums.SuccessMessage;
import org.terning.terningserver.service.HomeService;
import org.terning.terningserver.service.ScrapService;

import java.util.List;

import static org.terning.terningserver.exception.enums.SuccessMessage.SUCCESS_GET_ANNOUNCEMENTS;
import static org.terning.terningserver.exception.enums.SuccessMessage.SUCCESS_GET_TODAY_ANNOUNCEMENTS;
import static org.terning.terningserver.exception.enums.SuccessMessage.SUCCESS_GET_UPCOMING_ANNOUNCEMENTS;

@RestController
@RequiredArgsConstructor
Expand All @@ -40,13 +36,13 @@ public ResponseEntity<SuccessResponse<HomeAnnouncementsResponseDto>> getAnnounce
return ResponseEntity.ok(SuccessResponse.of(SUCCESS_GET_ANNOUNCEMENTS, announcements));
}

@GetMapping("/home/today")
public ResponseEntity<SuccessResponse<List<TodayScrapResponseDto>>> getTodayScraps(
@GetMapping("/home/upcoming")
public ResponseEntity<SuccessResponse<List<UpcomingScrapResponseDto>>> getUpcomingScraps(
@AuthenticationPrincipal Long userId
){

List<TodayScrapResponseDto> scrapList = scrapService.getTodayScrap(userId);
List<UpcomingScrapResponseDto> scrapList = scrapService.getUpcomingScrap(userId);

return ResponseEntity.ok(SuccessResponse.of(SUCCESS_GET_TODAY_ANNOUNCEMENTS, scrapList));
return ResponseEntity.ok(SuccessResponse.of(SUCCESS_GET_UPCOMING_ANNOUNCEMENTS, scrapList));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.http.ResponseEntity;
import org.terning.terningserver.dto.user.response.HomeAnnouncementsResponseDto;
import org.terning.terningserver.dto.user.response.TodayScrapResponseDto;
import org.terning.terningserver.dto.user.response.UpcomingScrapResponseDto;
import org.terning.terningserver.exception.dto.SuccessResponse;

import java.util.List;
Expand All @@ -20,8 +20,8 @@ ResponseEntity<SuccessResponse<HomeAnnouncementsResponseDto>> getAnnouncements(
int startMonth
);

@Operation(summary = "홈화면 > 오늘 마감인 스크랩 공고 조회", description = "오늘 마감인 스크랩 공고를 조회하는 API")
ResponseEntity<SuccessResponse<List<TodayScrapResponseDto>>> getTodayScraps(
@Operation(summary = "홈화면 > 마감인 스크랩 공고 조회", description = " 마감인 스크랩 공고를 조회하는 API")
ResponseEntity<SuccessResponse<List<UpcomingScrapResponseDto>>> getUpcomingScraps(
Long userId
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import org.terning.terningserver.util.DateUtil;

@Builder
public record TodayScrapResponseDto(
public record UpcomingScrapResponseDto(
Long internshipAnnouncementId,
String companyImage,
String dDay,
Expand All @@ -16,10 +16,10 @@ public record TodayScrapResponseDto(
String deadline,
String startYearMonth
) {
public static TodayScrapResponseDto of(final Scrap scrap){
public static UpcomingScrapResponseDto of(final Scrap scrap){
String startYearMonth = scrap.getInternshipAnnouncement().getStartYear() + "년 " + scrap.getInternshipAnnouncement().getStartMonth() + "월";

return TodayScrapResponseDto.builder()
return UpcomingScrapResponseDto.builder()
.internshipAnnouncementId(scrap.getInternshipAnnouncement().getId())
.companyImage(scrap.getInternshipAnnouncement().getCompany().getCompanyImage())
.dDay(DateUtil.convert(scrap.getInternshipAnnouncement().getDeadline()))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
public enum SuccessMessage {
// 홈 화면
SUCCESS_GET_ANNOUNCEMENTS(200, "인턴 공고 불러오기를 성공했습니다"),
SUCCESS_GET_TODAY_ANNOUNCEMENTS(200, "오늘 마감인 인턴 공고 요청을 성공했습니다"),
SUCCESS_GET_UPCOMING_ANNOUNCEMENTS(200, " 마감인 인턴 공고 요청을 성공했습니다"),

// 소셜 로그인
SUCCESS_SIGN_IN(200, "소셜 로그인에 성공하였습니다"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public interface ScrapRepository extends JpaRepository<Scrap, Long>, ScrapReposi

Optional<Scrap> findByInternshipAnnouncementIdAndUserId(Long internshipId, Long userId);

List<Scrap> findByUserIdAndInternshipAnnouncement_Deadline(Long userId, LocalDate deadline);
// List<Scrap> findByUserIdAndInternshipAnnouncement_Deadline(Long userId, LocalDate deadline);

List<Scrap> findByUserIdAndInternshipAnnouncement_DeadlineBetween(Long userId, LocalDate start, LocalDate end);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
import org.terning.terningserver.dto.calendar.response.DailyScrapResponseDto;
import org.terning.terningserver.dto.calendar.response.MonthlyDefaultResponseDto;
import org.terning.terningserver.dto.calendar.response.MonthlyListResponseDto;
import org.terning.terningserver.dto.user.response.TodayScrapResponseDto;
import org.terning.terningserver.dto.user.response.UpcomingScrapResponseDto;

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

public interface ScrapService {
List<TodayScrapResponseDto> getTodayScrap(Long userId);
List<UpcomingScrapResponseDto> getUpcomingScrap(Long userId);

void createScrap(Long internshipAnnouncementId, CreateScrapRequestDto request, Long userId);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import org.terning.terningserver.dto.calendar.response.DailyScrapResponseDto;
import org.terning.terningserver.dto.calendar.response.MonthlyDefaultResponseDto;
import org.terning.terningserver.dto.calendar.response.MonthlyListResponseDto;
import org.terning.terningserver.dto.user.response.TodayScrapResponseDto;
import org.terning.terningserver.dto.user.response.UpcomingScrapResponseDto;
import org.terning.terningserver.exception.CustomException;
import org.terning.terningserver.repository.internship_announcement.InternshipRepository;
import org.terning.terningserver.repository.scrap.ScrapRepository;
Expand All @@ -37,10 +37,11 @@ public class ScrapServiceImpl implements ScrapService {
private final UserRepository userRepository;

@Override
public List<TodayScrapResponseDto> getTodayScrap(Long userId){
public List<UpcomingScrapResponseDto> getUpcomingScrap(Long userId){
LocalDate today = LocalDate.now();
return scrapRepository.findByUserIdAndInternshipAnnouncement_Deadline(userId, today).stream()
.map(TodayScrapResponseDto::of)
LocalDate oneWeekFromToday = today.plusDays(7);
return scrapRepository.findScrapsByUserIdAndDeadlineBetweenOrderByDeadline(userId, today, oneWeekFromToday).stream()
.map(UpcomingScrapResponseDto::of)
.toList();
}

Expand Down

0 comments on commit 51c11e5

Please sign in to comment.