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
Binary file modified .DS_Store
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,16 @@ public static MemberResponseDTO.SignInResultDTO toSignInResultDTO(Member member)
public static MemberResponseDTO.BookmarkPreviewDTO toBookmarkPreviewDTO(Bookmark bookmark) {
return MemberResponseDTO.BookmarkPreviewDTO.builder()
.memberId(bookmark.getMember().getMemberId())
.memberName(bookmark.getMember().getName())
.bookmarkId(bookmark.getId())
.generatorId(bookmark.getGenerator().getGeneratorId())
.generatorTitle(bookmark.getGenerator().getGeneratorTitle())
.generatorDetail(bookmark.getGenerator().getGeneratorDetail())
.sourceType(bookmark.getGenerator().getSourceType())
.frames(bookmark.getGenerator().getFrames())
.mapping(bookmark.getGenerator().getMapping())
.webUrl(bookmark.getGenerator().getWebUrl())
.isBookmarked(true)
.createdAt(bookmark.getCreatedAt())
.build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import Capstone.AutoScheduler.global.domain.entity.Generator;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
Expand All @@ -10,4 +12,12 @@
public interface GeneratorRepository extends JpaRepository<Generator, Long> {

List<Generator> findAllByOrderByGeneratorIdDesc();

@Query("SELECT g, " +
"CASE WHEN b.member.id = :memberId THEN true ELSE false END AS isBookmarked " +
"FROM Generator g " +
"LEFT JOIN g.bookmarkList b ON b.member.id = :memberId " +
"ORDER BY g.generatorId DESC")
List<Object[]> findAllWithBookmarkStatus(@Param("memberId") Long memberId);

}
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ public interface GeneratorQueryService {

Generator findById(Long generatorId);
List<Generator> getGenerators();
//List<Generator> getGeneratorsWithBookmarkStatus(Long memberId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

import Capstone.AutoScheduler.global.domain.entity.Generator;
import Capstone.AutoScheduler.global.repository.GeneratorRepository;
import Capstone.AutoScheduler.global.web.dto.Generator.GeneratorResponseDTO;
import jakarta.transaction.Transactional;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
Expand Down Expand Up @@ -36,4 +37,10 @@ public Generator findById(Long generatorId) {
public List<Generator> getGenerators() {
return generatorRepository.findAllByOrderByGeneratorIdDesc();
}


// @Override
// public List<GeneratorResponseDTO.GeneratorPreviewDTO> getGeneratorsWithBookmarkStatus(Long memberId) {
// return generatorRepository.findAllWithBookmarkStatus(memberId);
// }
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public class GeneratorController {

// 일정 생성기 저장하기
@PostMapping("/")
@Operation(summary = "일정 생성기 생성하기", description = "일정 생성기를 생성합니다.")
@Operation(summary = "일정 생성기 생성하기", description = "일정 생성기를 생성합니다.")
public ApiResponse<GeneratorResponseDTO.CreateGeneratorResultDTO> generatorCreate(
@RequestParam Long memberId,
//@RequestParam Long sourceId,
Expand Down Expand Up @@ -70,4 +70,14 @@ public ApiResponse<GeneratorResponseDTO.GeneratorPreviewListDTO> findGenerators(
GeneratorConverter.toGeneratorPreviewListDTO(generators));
}

// // 전체 일정 생성기 리스트 조회 (사용자의 북마크 상태 포함)
// @GetMapping("/list/{memberId}")
// @Operation(summary = "전체 일정 생성기 리스트 조회 (사용자의 북마크 상태 포함) API", description = "전체 일정 생성기 리스트를 조회하며 사용자가 북마크한 생성기를 표시합니다.")
// public ApiResponse<GeneratorResponseDTO.GeneratorPreviewListDTO> findGeneratorsWithBookmark(@PathVariable Long memberId) {
// List<Generator> generators = generatorQueryService.getGeneratorsWithBookmarkStatus(memberId);
// return ApiResponse.onSuccess(
// SuccessStatus.GENERATOR_OK,
// GeneratorConverter.toGeneratorPreviewListDTO(generators));
// }

}
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ public static class GeneratorPreviewDTO {
List<Map<String, Object>> frames;
List<Map<String, Object>> mapping;
String webUrl;
boolean isBookmarked;
}

@Builder
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package Capstone.AutoScheduler.global.web.dto.Member;

import Capstone.AutoScheduler.global.domain.enums.TypeSource;
import lombok.*;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

public class MemberResponseDTO {

Expand Down Expand Up @@ -35,10 +37,16 @@ public static class SignInResultDTO {
@AllArgsConstructor
public static class BookmarkPreviewDTO {
private Long memberId;
private String memberName;
private Long bookmarkId;
private Long generatorId;
private String generatorTitle;
private String generatorDetail;
private TypeSource sourceType;
private List<Map<String, Object>> frames;
private List<Map<String, Object>> mapping;
private String webUrl;
private boolean isBookmarked;
private LocalDateTime createdAt;
}

Expand Down
Loading