Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
17b9b54
[REFACTOR] 랜덤 api DTO 분리
wook099 Dec 16, 2025
65676a5
[REFACTOR] limit 값 고정 컬럼 제외
wook099 Dec 16, 2025
1c92e35
Merge pull request #152 from ProjectArTrip/ART-151
08166 Dec 16, 2025
1dbbcb4
[CHORE] Korean Culture and Information Service API integration
08166 Dec 16, 2025
4c638c8
Merge pull request #155 from ProjectArTrip/ART-143
wook099 Dec 17, 2025
28e4c13
[FEAT] user엔티티 nickName 컬럼 추가 + 푸시토큰 컬럼 삭제
wook099 Dec 17, 2025
3e6bc9e
[FEAT] 전시 상세 리뷰 조회 닉네임 추가, 리뷰 작성시 닉네임 추가 반환
wook099 Dec 17, 2025
82dbb6c
[CHORE] 리뷰 생성시 닉네임 반환 제거
wook099 Dec 17, 2025
a2fb8d3
[REFACTOR] 기간 설정 ~ -> - 수정
wook099 Dec 17, 2025
e9b470b
[REFACTOR] exhibitPeriod 기간 포맷 수정
wook099 Dec 17, 2025
e84c0df
Merge pull request #158 from ProjectArTrip/ART-156
08166 Dec 17, 2025
24a4544
[FEAT] 랜덤 조회 api 전시관 name 컬럼 추가
wook099 Dec 17, 2025
8d29e00
[REFACTOR] 사용자 맞춤 랜덤 조회 converter service 구조 분리
wook099 Dec 18, 2025
342bc4d
[FIX] 전체 입력시 국가/ 지역 전체 선택
wook099 Dec 18, 2025
3c77731
[CHORE] isempty 메서드 명 변경
wook099 Dec 18, 2025
3706244
[FIX] @vaild 추가 request not null 활성화
wook099 Dec 18, 2025
3f3d664
[FEAT] 국내 전시 region필수 , 국외 전시 country 필수 동시 입력 방지
wook099 Dec 18, 2025
48dfcf8
[REFACTOR] BaseRandomDto추가하여 재사용성 강화
wook099 Dec 18, 2025
7d6d523
Merge pull request #163 from ProjectArTrip/ART-160
08166 Dec 18, 2025
faed2c0
[REFACTOR] 전시 관련 DTO 및 Converter 추가 및 AdminSecurityConfig 삭제
08166 Dec 19, 2025
3f7d1dc
Merge branch 'developer' into ART-154
08166 Dec 19, 2025
9063b9f
Merge pull request #165 from ProjectArTrip/ART-154
wook099 Dec 19, 2025
ee1c325
[FIX] 날짜 비교 로직을 LocalDateTime에서 LocalDate
08166 Dec 19, 2025
72ce0d5
Merge pull request #166 from ProjectArTrip/ART-154
wook099 Dec 19, 2025
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
3 changes: 2 additions & 1 deletion docker-compose.stage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ services:
condition: service_healthy
extra_hosts:
- "host.docker.internal:host-gateway"
volumes: []
volumes:
- ${FIREBASE_PATH}
env_file:
- .env

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
package org.atdev.artrip.domain.admin.exhibit.converter;

import org.atdev.artrip.domain.admin.exhibit.dto.response.AdminExhibitResponse;
import org.atdev.artrip.domain.admin.exhibit.dto.response.AdminExhibitListResponse;
import org.atdev.artrip.domain.exhibit.data.Exhibit;
import org.atdev.artrip.domain.exhibitHall.data.ExhibitHall;
import org.atdev.artrip.domain.keyword.data.Keyword;
import org.springframework.stereotype.Component;

import java.util.stream.Collectors;

@Component
public class AdminExhibitConverter {

public AdminExhibitListResponse toListResponse(Exhibit exhibit) {
return AdminExhibitListResponse.builder()
.exhibitId(exhibit.getExhibitId())
.title(exhibit.getTitle())
.posterUrl(exhibit.getPosterUrl())
.status(exhibit.getStatus())
.startDate(exhibit.getStartDate())
.endDate(exhibit.getEndDate())
.exhibitHallName(exhibit.getExhibitHall() != null ? exhibit.getExhibitHall().getName() : null)
.country(exhibit.getExhibitHall() != null ? exhibit.getExhibitHall().getCountry() : null)
.keywordCount(exhibit.getKeywords().size())
.createdAt(exhibit.getCreatedAt())
.updatedAt(exhibit.getUpdatedAt())
.build();
}

public AdminExhibitResponse toAdminResponse(Exhibit exhibit) {
return AdminExhibitResponse.builder()
.exhibitId(exhibit.getExhibitId())
.title(exhibit.getTitle())
.description(exhibit.getDescription())
.startDate(exhibit.getStartDate())
.endDate(exhibit.getEndDate())
.exhibitHall(toExhibitHallInfo(exhibit.getExhibitHall()))
.openingHours(exhibit.getExhibitHall() != null ? exhibit.getExhibitHall().getOpeningHours() : null)
.status(exhibit.getStatus())
.posterUrl(exhibit.getPosterUrl())
.ticketUrl(exhibit.getTicketUrl())
.keywords(exhibit.getKeywords().stream()
.map(this::toKeywordInfo)
.collect(Collectors.toList()))
.createdAt(exhibit.getCreatedAt())
.updatedAt(exhibit.getUpdatedAt())
.build();
}

private AdminExhibitResponse.ExhibitHallInfo toExhibitHallInfo(ExhibitHall hall) {
if (hall == null) return null;

return AdminExhibitResponse.ExhibitHallInfo.builder()
.exhibitHallId(hall.getExhibitHallId())
.name(hall.getName())
.address(hall.getAddress())
.country(hall.getCountry())
.region(hall.getRegion())
.phone(hall.getPhone())
.homepageUrl(hall.getHomepageUrl())
.build();
}

private AdminExhibitResponse.KeywordInfo toKeywordInfo(Keyword keyword) {
return AdminExhibitResponse.KeywordInfo.builder()
.keywordId(keyword.getKeywordId())
.name(keyword.getName())
.type(keyword.getType().name())
.build();
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package org.atdev.artrip.domain.admin.exhibit.dto;
package org.atdev.artrip.domain.admin.exhibit.dto.request;

import lombok.Data;
import org.atdev.artrip.domain.Enum.Status;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDate;
import java.util.List;

@Data
Expand All @@ -16,8 +15,8 @@ public class CreateExhibitRequest {
private String ticketUrl;
private String posterUrl;

private LocalDateTime startDate;
private LocalDateTime endDate;
private LocalDate startDate;
private LocalDate endDate;

private Status status;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package org.atdev.artrip.domain.admin.exhibit.dto;
package org.atdev.artrip.domain.admin.exhibit.dto.request;

import lombok.Data;
import org.atdev.artrip.domain.Enum.Status;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDate;
import java.util.List;

@Data
Expand All @@ -20,8 +19,8 @@ public class UpdateExhibitRequest {
private String region;
private String phone;

private LocalDateTime startDate;
private LocalDateTime endDate;
private LocalDate startDate;
private LocalDate endDate;
private String openingHours;

private Status status;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
package org.atdev.artrip.domain.admin.exhibit.dto;
package org.atdev.artrip.domain.admin.exhibit.dto.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.atdev.artrip.domain.Enum.Status;

import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ExhibitListResponse {
public class AdminExhibitListResponse {

private Long exhibitId;
private String title;
private String posterUrl; // 이미지 URL
private Status status;

private LocalDateTime startDate;
private LocalDateTime endDate;
private LocalDate startDate;
private LocalDate endDate;

private String exhibitHallName;
private String country;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,41 +1,40 @@
package org.atdev.artrip.domain.admin.exhibit.dto;
package org.atdev.artrip.domain.admin.exhibit.dto.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.atdev.artrip.domain.Enum.Status;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

@Data
@Builder
@AllArgsConstructor
public class ExhibitAdminResponse {
public class AdminExhibitResponse {

private Long exhibitId;
private String title;
private String description;

private ExhibitHallInfo exhibitHall;

private LocalDateTime startDate;
private LocalDateTime endDate;
private LocalDate startDate;
private LocalDate endDate;
private String openingHours;

private Status status;

private String posterUrl;
private String ticketUrl;

private List<keywordInfo> keywords;
private List<KeywordInfo> keywords;

private LocalDateTime createdAt;
private LocalDateTime updatedAt;

// 내부 클래스: 전시장 정보
@Data
@Builder
@NoArgsConstructor
Expand All @@ -50,12 +49,11 @@ public static class ExhibitHallInfo {
private String homepageUrl;
}

// 내부 클래스: 키워드 정보
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class keywordInfo {
public static class KeywordInfo {
private Long keywordId;
private String name;
private String type; // GENRE, STYLE
Expand Down
Loading
Loading