diff --git a/src/main/java/com/yello/server/domain/notice/dto/NoticeDataResponse.java b/src/main/java/com/yello/server/domain/notice/dto/NoticeDataResponse.java index 41e61948..e18a567a 100644 --- a/src/main/java/com/yello/server/domain/notice/dto/NoticeDataResponse.java +++ b/src/main/java/com/yello/server/domain/notice/dto/NoticeDataResponse.java @@ -23,7 +23,7 @@ public static NoticeDataResponse of(Notice notice, Boolean isAvailable) { .startDate(toYearAndMonthFormattedString(notice.getStartDate().toLocalDateTime())) .endDate(toYearAndMonthFormattedString(notice.getEndDate().toLocalDateTime())) .isAvailable(isAvailable) - .type(notice.getType()) + .type(notice.getTag().getIntial()) .title(notice.getTitle()) .build(); } diff --git a/src/main/java/com/yello/server/domain/notice/entity/Notice.java b/src/main/java/com/yello/server/domain/notice/entity/Notice.java index 2a019c2f..4d6d4103 100644 --- a/src/main/java/com/yello/server/domain/notice/entity/Notice.java +++ b/src/main/java/com/yello/server/domain/notice/entity/Notice.java @@ -41,8 +41,8 @@ public class Notice extends AuditingTimeEntity { private Boolean isAvailable; @Column(nullable = false) - @Convert(converter = TypeConverter.class) - private String type; + @Convert(converter = NoticeTypeConverter.class) + private NoticeType tag; @Column(nullable = false) private String title; diff --git a/src/main/java/com/yello/server/domain/notice/entity/Type.java b/src/main/java/com/yello/server/domain/notice/entity/NoticeType.java similarity index 81% rename from src/main/java/com/yello/server/domain/notice/entity/Type.java rename to src/main/java/com/yello/server/domain/notice/entity/NoticeType.java index 6d8c21cd..3d229b62 100644 --- a/src/main/java/com/yello/server/domain/notice/entity/Type.java +++ b/src/main/java/com/yello/server/domain/notice/entity/NoticeType.java @@ -7,14 +7,14 @@ @Getter @RequiredArgsConstructor -public enum Type { +public enum NoticeType { NOTICE("NOTICE"), BANNER("BANNER"); private final String intial; - public static Type fromCode(String dbData) { - return Arrays.stream(Type.values()) + public static NoticeType fromCode(String dbData) { + return Arrays.stream(NoticeType.values()) .filter(v -> v.getIntial().equals(dbData)) .findAny() .orElseThrow(() -> new IllegalArgumentException( diff --git a/src/main/java/com/yello/server/domain/notice/entity/TypeConverter.java b/src/main/java/com/yello/server/domain/notice/entity/NoticeTypeConverter.java similarity index 67% rename from src/main/java/com/yello/server/domain/notice/entity/TypeConverter.java rename to src/main/java/com/yello/server/domain/notice/entity/NoticeTypeConverter.java index 5619bf7a..39cc2ce1 100644 --- a/src/main/java/com/yello/server/domain/notice/entity/TypeConverter.java +++ b/src/main/java/com/yello/server/domain/notice/entity/NoticeTypeConverter.java @@ -1,16 +1,15 @@ package com.yello.server.domain.notice.entity; -import com.yello.server.domain.user.entity.Social; import javax.persistence.AttributeConverter; import javax.persistence.Converter; import lombok.extern.log4j.Log4j2; @Converter @Log4j2 -public class TypeConverter implements AttributeConverter { +public class NoticeTypeConverter implements AttributeConverter { @Override - public String convertToDatabaseColumn(Type type) { + public String convertToDatabaseColumn(NoticeType type) { if (type == null) { return null; } @@ -18,12 +17,12 @@ public String convertToDatabaseColumn(Type type) { } @Override - public Type convertToEntityAttribute(String dbData) { + public NoticeType convertToEntityAttribute(String dbData) { if (dbData == null) { return null; } try { - return Type.fromCode(dbData); + return NoticeType.fromCode(dbData); } catch (IllegalArgumentException exception) { log.error("failure to convert cause unexpected code" + dbData + exception); throw exception; diff --git a/src/main/java/com/yello/server/domain/notice/service/NoticeService.java b/src/main/java/com/yello/server/domain/notice/service/NoticeService.java index 9790a1a8..d08be8be 100644 --- a/src/main/java/com/yello/server/domain/notice/service/NoticeService.java +++ b/src/main/java/com/yello/server/domain/notice/service/NoticeService.java @@ -4,6 +4,7 @@ import com.yello.server.domain.notice.dto.NoticeDataResponse; import com.yello.server.domain.notice.entity.Notice; +import com.yello.server.domain.notice.entity.NoticeType; import com.yello.server.domain.notice.repository.NoticeRepository; import com.yello.server.domain.user.repository.UserRepository; import java.time.ZoneId; @@ -28,7 +29,7 @@ public NoticeDataResponse findNotice(Long userId) { userRepository.findById(userId); Notice noticeData = noticeRepository.findTopNotice().orElseGet( - () -> Notice.builder().imageUrl("").redirectUrl("").title("").type("").endDate(now) + () -> Notice.builder().imageUrl("").redirectUrl("").title("").tag(NoticeType.NOTICE).endDate(now) .startDate(now).isAvailable(false).build()); return NoticeDataResponse.of(noticeData, compareNowAndEndData(noticeData.getEndDate()) && noticeData.getIsAvailable()); diff --git a/src/test/java/com/yello/server/domain/notice/FakeNoticeRepository.java b/src/test/java/com/yello/server/domain/notice/FakeNoticeRepository.java index 68387a4b..35b8c219 100644 --- a/src/test/java/com/yello/server/domain/notice/FakeNoticeRepository.java +++ b/src/test/java/com/yello/server/domain/notice/FakeNoticeRepository.java @@ -1,9 +1,6 @@ package com.yello.server.domain.notice; -import static com.yello.server.global.common.ErrorCode.NOT_FOUND_NOTICE_EXCEPTION; - import com.yello.server.domain.notice.entity.Notice; -import com.yello.server.domain.notice.exception.NoticeNotFoundException; import com.yello.server.domain.notice.repository.NoticeRepository; import java.time.ZoneId; import java.time.ZonedDateTime; @@ -35,13 +32,13 @@ public Optional findTopNotice() { @Override public Notice save(Notice notice) { final Notice newNotice = Notice.builder() - .id(notice.getId()==null ? ++id : notice.getId()) + .id(notice.getId() == null ? ++id : notice.getId()) .endDate(notice.getEndDate()) .imageUrl(notice.getImageUrl()) .startDate(notice.getStartDate()) .redirectUrl(notice.getRedirectUrl()) .isAvailable(notice.getIsAvailable()) - .type(notice.getType()) + .tag(notice.getTag()) .title(notice.getTitle()) .build(); diff --git a/src/test/java/com/yello/server/util/TestDataEntityUtil.java b/src/test/java/com/yello/server/util/TestDataEntityUtil.java index ea0299ca..1348c35a 100644 --- a/src/test/java/com/yello/server/util/TestDataEntityUtil.java +++ b/src/test/java/com/yello/server/util/TestDataEntityUtil.java @@ -4,6 +4,7 @@ import com.yello.server.domain.group.entity.UserGroup; import com.yello.server.domain.group.entity.UserGroupType; import com.yello.server.domain.notice.entity.Notice; +import com.yello.server.domain.notice.entity.NoticeType; import com.yello.server.domain.purchase.entity.Gateway; import com.yello.server.domain.purchase.entity.ProductType; import com.yello.server.domain.purchase.entity.Purchase; @@ -122,9 +123,9 @@ public UserGroup generateGroup(long index, UserGroupType userGroupType) { @Override public QuestionGroupType generateQuestionGroupType(long index, Question question) { return QuestionGroupType.builder() - .userGroupType(UserGroupType.UNIVERSITY) - .question(question) - .build(); + .userGroupType(UserGroupType.UNIVERSITY) + .question(question) + .build(); } @Override @@ -153,7 +154,7 @@ public Notice genereateNotice(long index) { .startDate(now.minusDays(3)) .redirectUrl("redirectUrl") .isAvailable(true) - .type("event") + .tag(NoticeType.NOTICE) .title("notice title") .build(); } diff --git a/src/test/java/com/yello/server/util/TestDataRepositoryUtil.java b/src/test/java/com/yello/server/util/TestDataRepositoryUtil.java index 1d21000b..10198bf0 100644 --- a/src/test/java/com/yello/server/util/TestDataRepositoryUtil.java +++ b/src/test/java/com/yello/server/util/TestDataRepositoryUtil.java @@ -5,6 +5,7 @@ import com.yello.server.domain.group.entity.UserGroup; import com.yello.server.domain.group.entity.UserGroupType; import com.yello.server.domain.notice.entity.Notice; +import com.yello.server.domain.notice.entity.NoticeType; import com.yello.server.domain.notice.repository.NoticeRepository; import com.yello.server.domain.purchase.entity.Gateway; import com.yello.server.domain.purchase.entity.ProductType; @@ -29,12 +30,12 @@ public class TestDataRepositoryUtil implements TestDataUtil { private final FriendRepository friendRepository; + private final NoticeRepository noticeRepository; private final PurchaseRepository purchaseRepository; private final QuestionGroupTypeRepository questionGroupTypeRepository; private final QuestionRepository questionRepository; private final UserRepository userRepository; private final VoteRepository voteRepository; - private final NoticeRepository noticeRepository; public TestDataRepositoryUtil(UserRepository userRepository, VoteRepository voteRepository, QuestionRepository questionRepository, @@ -182,7 +183,7 @@ public Notice genereateNotice(long index) { .startDate(now.minusDays(3)) .redirectUrl("redirectUrl") .isAvailable(true) - .type("event") + .tag(NoticeType.NOTICE) .title("notice title") .build()); }