Skip to content
Closed
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
@@ -1,8 +1,10 @@
package com.assu.server.domain.partnership.dto;

import java.time.format.DateTimeFormatter;
import java.util.List;

import com.assu.server.domain.partnership.entity.Goods;
import com.assu.server.domain.partnership.entity.Paper;
import com.assu.server.domain.partnership.entity.PaperContent;
import com.assu.server.domain.partnership.entity.enums.CriterionType;
import com.assu.server.domain.partnership.entity.enums.OptionType;
Expand All @@ -14,8 +16,11 @@ public record PaperContentResponseDTO(
Long contentId,
List<String> goods,
Integer people,
Long cost
Long cost,
String partnershipPeriod
) {
private static final DateTimeFormatter PERIOD_DATE_FORMAT = DateTimeFormatter.ofPattern("yyyy.MM.dd");

public static List<PaperContentResponseDTO> toContentResponseList(List<PaperContent> contents) {
return contents.stream()
.map(PaperContentResponseDTO::toContentResponse)
Expand All @@ -41,12 +46,21 @@ public static PaperContentResponseDTO toContentResponse(PaperContent content) {
content.getId(),
goodsList,
peopleValue,
content.getCost()
content.getCost(),
buildPartnershipPeriod(content.getPaper())
);

}


private static String buildPartnershipPeriod(Paper paper) {
if (paper.getPartnershipPeriodStart() == null || paper.getPartnershipPeriodEnd() == null) {
return null;
}
return "제휴기간 " + paper.getPartnershipPeriodStart().format(PERIOD_DATE_FORMAT)
+ " ~ " + paper.getPartnershipPeriodEnd().format(PERIOD_DATE_FORMAT);
}

private static List<String> extractGoods(PaperContent content) {
if (content.getOptionType() == OptionType.SERVICE ) {
return content.getGoods().stream()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,8 @@ public ResponseEntity<BaseResponse<TodayBestResponseDTO>> getTodayBestStore() {
" - `contentId` (Long): 컨텐츠 고유 ID\n" +
" - `goods` (List<String>): 제공되는 상품/서비스 리스트\n" +
" - `people` (Integer): 사용 가능 인원\n" +
" - `cost` (Long): 유저 부담 금액 (0이면 무료)\n\n" +
" - `cost` (Long): 유저 부담 금액 (0이면 무료)\n" +
" - `partnershipPeriod` (String): 제휴기간 (예: \"제휴기간 2026.07.21 ~ 2026.12.31\", 기간 정보가 없으면 null)\n\n" +
"**Error Cases:**\n" +
" - 성공: 200 OK, `isSuccess=true`, `result=PaperResponseDTO` (제휴 컨텐츠 상세 정보)\n" +
" - 실패: \n" +
Expand Down