diff --git a/src/main/java/com/api/mov/domain/pass/entity/Pass.java b/src/main/java/com/api/mov/domain/pass/entity/Pass.java index ebfa92e..ca2995f 100644 --- a/src/main/java/com/api/mov/domain/pass/entity/Pass.java +++ b/src/main/java/com/api/mov/domain/pass/entity/Pass.java @@ -39,6 +39,9 @@ public class Pass extends BaseEntity { @Column private String purposeTag; + @Column + private String imageUrl; //패키지 대표 이미지 URL + @OneToMany(mappedBy = "pass", cascade = CascadeType.ALL, orphanRemoval = true) @Builder.Default private List passItems = new ArrayList<>(); diff --git a/src/main/java/com/api/mov/domain/pass/service/PassServiceImpl.java b/src/main/java/com/api/mov/domain/pass/service/PassServiceImpl.java index 0721418..d271aa9 100644 --- a/src/main/java/com/api/mov/domain/pass/service/PassServiceImpl.java +++ b/src/main/java/com/api/mov/domain/pass/service/PassServiceImpl.java @@ -79,6 +79,7 @@ public void createPass(PassCreateReq passCreateReq, Long userId) { .name(passCreateReq.getPassName()) .price(passCreateReq.getPassPrice()) .description(passCreateReq.getPassDescription()) + .imageUrl(passCreateReq.getImageUrl()) .build(); for (Facility facility : facilityList){ @@ -133,7 +134,8 @@ public List getMyPassList(Long userId,String status) { pass.getName(), pass.getPrice(), pass.getDescription(), - passItemInfoList + passItemInfoList, + pass.getImageUrl() ); }).toList(); } @@ -161,7 +163,8 @@ public List getPasses(String passName, Integer minPrice, Intege pass.getId(), pass.getName(), pass.getDescription(), - pass.getPrice() + pass.getPrice(), + pass.getImageUrl() )) .toList(); } @@ -217,7 +220,8 @@ public PassDetailRes getPassDetail(Long passId) { pass.getName(), pass.getDescription(), pass.getPrice(), - passItemInfoList + passItemInfoList, + pass.getImageUrl() ); } diff --git a/src/main/java/com/api/mov/domain/pass/web/dto/HomePassInfoRes.java b/src/main/java/com/api/mov/domain/pass/web/dto/HomePassInfoRes.java index 481c73e..053bd01 100644 --- a/src/main/java/com/api/mov/domain/pass/web/dto/HomePassInfoRes.java +++ b/src/main/java/com/api/mov/domain/pass/web/dto/HomePassInfoRes.java @@ -6,6 +6,7 @@ public record HomePassInfoRes( Long passId, String passName, String passDescription, - int passPrice + int passPrice, + String imageUrl ) { } diff --git a/src/main/java/com/api/mov/domain/pass/web/dto/MyPassRes.java b/src/main/java/com/api/mov/domain/pass/web/dto/MyPassRes.java index ad330f1..0d839ef 100644 --- a/src/main/java/com/api/mov/domain/pass/web/dto/MyPassRes.java +++ b/src/main/java/com/api/mov/domain/pass/web/dto/MyPassRes.java @@ -7,6 +7,7 @@ public record MyPassRes( String passName, int passPrice, String passDescription, - List passItem + List passItem, + String imageUrl ) { } diff --git a/src/main/java/com/api/mov/domain/pass/web/dto/PassCreateReq.java b/src/main/java/com/api/mov/domain/pass/web/dto/PassCreateReq.java index 5c037c4..4e969b9 100644 --- a/src/main/java/com/api/mov/domain/pass/web/dto/PassCreateReq.java +++ b/src/main/java/com/api/mov/domain/pass/web/dto/PassCreateReq.java @@ -16,4 +16,6 @@ public class PassCreateReq { @NotBlank(message = "저장 타입을 선택해주세요. (CART or LOCKER)") private String storageType; + + private String imageUrl; // 패키지 이미지 URL (선택사항) } diff --git a/src/main/java/com/api/mov/domain/pass/web/dto/PassDetailRes.java b/src/main/java/com/api/mov/domain/pass/web/dto/PassDetailRes.java index 63d8f63..8695f02 100644 --- a/src/main/java/com/api/mov/domain/pass/web/dto/PassDetailRes.java +++ b/src/main/java/com/api/mov/domain/pass/web/dto/PassDetailRes.java @@ -7,6 +7,7 @@ public record PassDetailRes( String passName, String passDescription, int passPrice, - List passItems + List passItems, + String imageUrl ) { }