From 9b7af8f3a20cdb03839f494dabaf30a1946f185b Mon Sep 17 00:00:00 2001 From: SL313 Date: Mon, 3 Feb 2025 23:21:00 +0900 Subject: [PATCH] reset --- .../domain/comment/entity/Comment.java | 48 ----------- .../koschool/domain/common/BaseEntity.java | 17 ---- .../domain/community/CommunityController.java | 30 ------- .../response/CommunityListResponseDto.java | 34 -------- .../domain/community/entity/Community.java | 80 ------------------- .../repository/CommunityRepository.java | 21 ----- .../community/service/CommunityService.java | 29 ------- .../dto/request/CommunityLikesRequestDto.java | 9 --- .../response/CommunityLikesResponseDto.java | 6 -- .../communityLikes/entity/CommunityLikes.java | 47 ----------- .../koschool/domain/enums/CategoryEnum.java | 24 ------ .../koschool/domain/enums/LevelEnum.java | 26 ------ .../koschool/domain/enums/MessageEnum.java | 18 ----- .../dto/request/JoinMemberRequestDto.java | 1 - .../koschool/domain/member/entity/Member.java | 48 +---------- .../domain/message/entity/Message.java | 47 ----------- .../newsletter/NewsletterController.java | 1 - .../dto/response/NewsletterResponseDto.java | 8 +- .../domain/newsletter/entity/Newsletter.java | 21 ++--- .../repository/NewsletterRepository.java | 4 - .../newsletter/service/NewsletterService.java | 1 - .../entity/NewsletterLikes.java | 48 ----------- .../koschool/domain/quiz/entity/Quiz.java | 17 ++-- .../quizHistory/QuizHistoryController.java | 24 ------ .../RegisterQuizHistoryRequestDto.java | 17 ---- .../RegisterQuizHistoryResponseDto.java | 36 --------- .../quizHistory/entity/QuizHistory.java | 64 --------------- .../repository/QuizHistoryRepository.java | 10 --- .../service/QuizHistoryService.java | 38 --------- .../domain/session/entity/Session.java | 40 ---------- 30 files changed, 24 insertions(+), 790 deletions(-) delete mode 100644 src/main/java/com/example/koschool/domain/comment/entity/Comment.java delete mode 100644 src/main/java/com/example/koschool/domain/common/BaseEntity.java delete mode 100644 src/main/java/com/example/koschool/domain/community/CommunityController.java delete mode 100644 src/main/java/com/example/koschool/domain/community/dto/response/CommunityListResponseDto.java delete mode 100644 src/main/java/com/example/koschool/domain/community/entity/Community.java delete mode 100644 src/main/java/com/example/koschool/domain/community/repository/CommunityRepository.java delete mode 100644 src/main/java/com/example/koschool/domain/community/service/CommunityService.java delete mode 100644 src/main/java/com/example/koschool/domain/communityLikes/dto/request/CommunityLikesRequestDto.java delete mode 100644 src/main/java/com/example/koschool/domain/communityLikes/dto/response/CommunityLikesResponseDto.java delete mode 100644 src/main/java/com/example/koschool/domain/communityLikes/entity/CommunityLikes.java delete mode 100644 src/main/java/com/example/koschool/domain/enums/CategoryEnum.java delete mode 100644 src/main/java/com/example/koschool/domain/enums/LevelEnum.java delete mode 100644 src/main/java/com/example/koschool/domain/enums/MessageEnum.java delete mode 100644 src/main/java/com/example/koschool/domain/message/entity/Message.java delete mode 100644 src/main/java/com/example/koschool/domain/newsletterLikes/entity/NewsletterLikes.java delete mode 100644 src/main/java/com/example/koschool/domain/quizHistory/QuizHistoryController.java delete mode 100644 src/main/java/com/example/koschool/domain/quizHistory/dto/request/RegisterQuizHistoryRequestDto.java delete mode 100644 src/main/java/com/example/koschool/domain/quizHistory/dto/response/RegisterQuizHistoryResponseDto.java delete mode 100644 src/main/java/com/example/koschool/domain/quizHistory/entity/QuizHistory.java delete mode 100644 src/main/java/com/example/koschool/domain/quizHistory/repository/QuizHistoryRepository.java delete mode 100644 src/main/java/com/example/koschool/domain/quizHistory/service/QuizHistoryService.java delete mode 100644 src/main/java/com/example/koschool/domain/session/entity/Session.java diff --git a/src/main/java/com/example/koschool/domain/comment/entity/Comment.java b/src/main/java/com/example/koschool/domain/comment/entity/Comment.java deleted file mode 100644 index 59bf4f4..0000000 --- a/src/main/java/com/example/koschool/domain/comment/entity/Comment.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.example.koschool.domain.comment.entity; - -import com.example.koschool.domain.community.entity.Community; -import com.example.koschool.domain.member.entity.Member; -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.Table; -import lombok.Getter; - -@Entity -@Getter -@Table(name = "Comment") -public class Comment { - - /** - * 고유 id - */ - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "comment_id", unique = true) - private Long commentId; - - /** - * 사용자 고유 id - */ - @ManyToOne - @JoinColumn(referencedColumnName = "id", name = "member_id", nullable = false) - private Member member; - - /** - * 커뮤니티 글 고유 id - */ - @ManyToOne - @JoinColumn(referencedColumnName = "community_id", name = "community_id", nullable = false) - private Community community; - - /** - * 댓글 내용 - */ - @Column(name = "comment_content", nullable = false) - private String commentContent; - -} diff --git a/src/main/java/com/example/koschool/domain/common/BaseEntity.java b/src/main/java/com/example/koschool/domain/common/BaseEntity.java deleted file mode 100644 index a406841..0000000 --- a/src/main/java/com/example/koschool/domain/common/BaseEntity.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.example.koschool.domain.common; - -import jakarta.persistence.EntityListeners; -import jakarta.persistence.MappedSuperclass; -import java.time.LocalDateTime; -import lombok.Getter; -import org.springframework.data.annotation.CreatedDate; -import org.springframework.data.jpa.domain.support.AuditingEntityListener; - -@Getter -@MappedSuperclass -@EntityListeners(AuditingEntityListener.class) -public abstract class BaseEntity { - - @CreatedDate - private LocalDateTime createdAt; -} diff --git a/src/main/java/com/example/koschool/domain/community/CommunityController.java b/src/main/java/com/example/koschool/domain/community/CommunityController.java deleted file mode 100644 index 356b05d..0000000 --- a/src/main/java/com/example/koschool/domain/community/CommunityController.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.example.koschool.domain.community; - -import com.example.koschool.domain.community.dto.response.CommunityListResponseDto; -import com.example.koschool.domain.community.service.CommunityService; -import com.example.koschool.domain.communityLikes.dto.request.CommunityLikesRequestDto; -import com.example.koschool.domain.communityLikes.dto.response.CommunityLikesResponseDto; -import com.example.koschool.global.ApiResponse; -import jakarta.servlet.http.HttpSession; -import java.util.List; -import lombok.RequiredArgsConstructor; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/community") -public class CommunityController { - - private final CommunityService communityService; - - @GetMapping("/list") - public ApiResponse> getCommunityList() { - return ApiResponse.of(HttpStatus.OK, communityService.getCommunityList()); - } -} diff --git a/src/main/java/com/example/koschool/domain/community/dto/response/CommunityListResponseDto.java b/src/main/java/com/example/koschool/domain/community/dto/response/CommunityListResponseDto.java deleted file mode 100644 index 6428f6c..0000000 --- a/src/main/java/com/example/koschool/domain/community/dto/response/CommunityListResponseDto.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.example.koschool.domain.community.dto.response; - -import com.example.koschool.domain.community.entity.Community; -import lombok.Builder; -import lombok.Getter; - -@Getter -public class CommunityListResponseDto { - private Long communityId; - private Long id; - private String title; - private Integer likes; - private Integer comments; - - @Builder - private CommunityListResponseDto(Long communityId, Long id, String title, Integer likes, Integer comments) { - this.communityId = communityId; - this.id = id; - this.title = title; - this.likes = likes; - this.comments = comments; - } - - public static CommunityListResponseDto of(Community community) { - return CommunityListResponseDto.builder() - .communityId(community.getCommunityId()) - .id(community.getMember().getId()) - .title(community.getTitle()) - .likes(community.getLikes()) - .comments(community.getComments()) - .build(); - } - -} diff --git a/src/main/java/com/example/koschool/domain/community/entity/Community.java b/src/main/java/com/example/koschool/domain/community/entity/Community.java deleted file mode 100644 index 87b17e3..0000000 --- a/src/main/java/com/example/koschool/domain/community/entity/Community.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.example.koschool.domain.community.entity; - -import com.example.koschool.domain.comment.entity.Comment; -import com.example.koschool.domain.common.BaseEntity; -import com.example.koschool.domain.communityLikes.entity.CommunityLikes; -import com.example.koschool.domain.member.entity.Member; -import jakarta.persistence.CascadeType; -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.OneToMany; -import jakarta.persistence.Table; -import java.util.List; -import lombok.AccessLevel; -import lombok.Getter; -import lombok.NoArgsConstructor; - -@Entity -@Getter -@Table(name = "Community") -@NoArgsConstructor(access = AccessLevel.PROTECTED) -public class Community extends BaseEntity { - - /** - * 고유 id - */ - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "community_id", unique = true) - private Long communityId; - - /** - * 사용자 고유 id - */ - @ManyToOne - @JoinColumn(referencedColumnName = "id", name = "member_id", nullable = false) - private Member member; - - /** - * 제목 - */ - @Column(name = "title", nullable = false) - private String title; - - /** - * 내용 - */ - @Column(name = "content", nullable = false) - private String content; - - /** - * 좋아요 수 - */ - @Column(name = "likes", nullable = false) - private Integer likes; - - /** - * 댓글 수 - */ - @Column(name = "comments", nullable = false) - private Integer comments; - - /** - * 좋아요 - */ - @OneToMany(mappedBy = "community", cascade = CascadeType.ALL) - private List communityLikesList; - - /** - * 댓글 - */ - @OneToMany(mappedBy = "community", cascade = CascadeType.ALL) - private List commentList; - - -} diff --git a/src/main/java/com/example/koschool/domain/community/repository/CommunityRepository.java b/src/main/java/com/example/koschool/domain/community/repository/CommunityRepository.java deleted file mode 100644 index 29e6f68..0000000 --- a/src/main/java/com/example/koschool/domain/community/repository/CommunityRepository.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.example.koschool.domain.community.repository; - -import com.example.koschool.domain.community.dto.response.CommunityListResponseDto; -import com.example.koschool.domain.community.entity.Community; -import java.time.LocalDate; -import java.util.List; -import java.util.Optional; -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; - -@Repository -public interface CommunityRepository extends JpaRepository { - - @Query("SELECT NEW com.example.koschool.domain.community.dto.response.CommunityListResponseDto(c.communityId, c.member.id, c.title, c.likes, c.comments) " - + "FROM Community c " - + "ORDER BY c.createdAt DESC") - Optional> findCommunity(); - -} diff --git a/src/main/java/com/example/koschool/domain/community/service/CommunityService.java b/src/main/java/com/example/koschool/domain/community/service/CommunityService.java deleted file mode 100644 index e9a38ab..0000000 --- a/src/main/java/com/example/koschool/domain/community/service/CommunityService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.example.koschool.domain.community.service; - -import com.example.koschool.domain.community.dto.response.CommunityListResponseDto; -import com.example.koschool.domain.community.entity.Community; -import com.example.koschool.domain.community.repository.CommunityRepository; -import com.example.koschool.domain.communityLikes.dto.request.CommunityLikesRequestDto; -import com.example.koschool.domain.communityLikes.dto.response.CommunityLikesResponseDto; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; -import lombok.RequiredArgsConstructor; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageImpl; -import org.springframework.data.domain.PageRequest; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -@Service -@RequiredArgsConstructor -@Transactional(readOnly = true) -public class CommunityService { - - private final CommunityRepository communityRepository; - - public List getCommunityList() { - Optional> communityListResponseDto = communityRepository.findCommunity(); - return communityListResponseDto.orElseGet(null); - } -} diff --git a/src/main/java/com/example/koschool/domain/communityLikes/dto/request/CommunityLikesRequestDto.java b/src/main/java/com/example/koschool/domain/communityLikes/dto/request/CommunityLikesRequestDto.java deleted file mode 100644 index 21f85d7..0000000 --- a/src/main/java/com/example/koschool/domain/communityLikes/dto/request/CommunityLikesRequestDto.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.example.koschool.domain.communityLikes.dto.request; - -import lombok.Getter; - -@Getter -public class CommunityLikesRequestDto { - private Long communityId; - private Long id; -} diff --git a/src/main/java/com/example/koschool/domain/communityLikes/dto/response/CommunityLikesResponseDto.java b/src/main/java/com/example/koschool/domain/communityLikes/dto/response/CommunityLikesResponseDto.java deleted file mode 100644 index 8ae5996..0000000 --- a/src/main/java/com/example/koschool/domain/communityLikes/dto/response/CommunityLikesResponseDto.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.example.koschool.domain.communityLikes.dto.response; - -public class CommunityLikesResponseDto { - - private Boolean likesYn; -} diff --git a/src/main/java/com/example/koschool/domain/communityLikes/entity/CommunityLikes.java b/src/main/java/com/example/koschool/domain/communityLikes/entity/CommunityLikes.java deleted file mode 100644 index 15b51e5..0000000 --- a/src/main/java/com/example/koschool/domain/communityLikes/entity/CommunityLikes.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.example.koschool.domain.communityLikes.entity; - -import com.example.koschool.domain.community.entity.Community; -import com.example.koschool.domain.member.entity.Member; -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.Table; -import lombok.Getter; - -@Entity -@Getter -@Table(name = "Community_Likes") -public class CommunityLikes { - - /** - * 고유 id - */ - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "community_likes_id", unique = true) - private Long communityLikesId; - - /** - * 커뮤니티 글 고유 id - */ - @ManyToOne - @JoinColumn(referencedColumnName = "community_id", name = "community_id", nullable = false) - private Community community; - - /** - * 사용자 고유 id - */ - @ManyToOne - @JoinColumn(referencedColumnName = "id", name = "member_id", nullable = false) - private Member member; - - /** - * 좋아요 취소 여부 - */ - @Column(name = "likes_yn", nullable = false) - private Boolean likesYn; -} diff --git a/src/main/java/com/example/koschool/domain/enums/CategoryEnum.java b/src/main/java/com/example/koschool/domain/enums/CategoryEnum.java deleted file mode 100644 index bca8f7b..0000000 --- a/src/main/java/com/example/koschool/domain/enums/CategoryEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.example.koschool.domain.enums; - -import com.fasterxml.jackson.annotation.JsonFormat; -import java.util.Arrays; -import lombok.AllArgsConstructor; -import lombok.Getter; - -@Getter -@AllArgsConstructor -@JsonFormat(shape = JsonFormat.Shape.STRING) -public enum CategoryEnum { - - RECHARGEABLE_BATTERY("2차전지"), - SEMICONDUCTOR("반도체"); - - private final String name; - - public static CategoryEnum ofCategoryEnum(String value) { - return Arrays.stream(CategoryEnum.values()) - .filter(v -> v.getName().equals(value)) - .findAny() - .orElseThrow(() -> new IllegalArgumentException("존재하지 않는 토픽입니다.")); - } -} \ No newline at end of file diff --git a/src/main/java/com/example/koschool/domain/enums/LevelEnum.java b/src/main/java/com/example/koschool/domain/enums/LevelEnum.java deleted file mode 100644 index 4f26558..0000000 --- a/src/main/java/com/example/koschool/domain/enums/LevelEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.example.koschool.domain.enums; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonFormat.Shape; -import java.util.Arrays; -import lombok.AllArgsConstructor; -import lombok.Getter; - -@Getter -@AllArgsConstructor -@JsonFormat(shape = Shape.STRING) -public enum LevelEnum { - - BEGINNER("하수"), - INTERMEDIATE("중수"), - EXPERT("고수"); - - private final String level; - - public static LevelEnum ofLevelEnum(String value) { - return Arrays.stream(LevelEnum.values()) - .filter(v -> v.getLevel().equals(value)) - .findAny() - .orElseThrow(() -> new IllegalArgumentException("존재하지 않는 레벨입니다.")); - } -} diff --git a/src/main/java/com/example/koschool/domain/enums/MessageEnum.java b/src/main/java/com/example/koschool/domain/enums/MessageEnum.java deleted file mode 100644 index 16d1c6c..0000000 --- a/src/main/java/com/example/koschool/domain/enums/MessageEnum.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.example.koschool.domain.enums; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonFormat.Shape; -import lombok.AllArgsConstructor; -import lombok.Getter; - -@Getter -@AllArgsConstructor -@JsonFormat(shape = Shape.STRING) -public enum MessageEnum { - - RECEIVE("받은 메시지"), - SEND("보낸 메시지"); - - private final String type; - -} diff --git a/src/main/java/com/example/koschool/domain/member/dto/request/JoinMemberRequestDto.java b/src/main/java/com/example/koschool/domain/member/dto/request/JoinMemberRequestDto.java index d32c8e9..0c2490b 100644 --- a/src/main/java/com/example/koschool/domain/member/dto/request/JoinMemberRequestDto.java +++ b/src/main/java/com/example/koschool/domain/member/dto/request/JoinMemberRequestDto.java @@ -1,6 +1,5 @@ package com.example.koschool.domain.member.dto.request; -import com.example.koschool.domain.enums.CategoryEnum; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; diff --git a/src/main/java/com/example/koschool/domain/member/entity/Member.java b/src/main/java/com/example/koschool/domain/member/entity/Member.java index 9a1e167..14fc697 100644 --- a/src/main/java/com/example/koschool/domain/member/entity/Member.java +++ b/src/main/java/com/example/koschool/domain/member/entity/Member.java @@ -1,21 +1,12 @@ package com.example.koschool.domain.member.entity; -import com.example.koschool.domain.comment.entity.Comment; -import com.example.koschool.domain.community.entity.Community; -import com.example.koschool.domain.communityLikes.entity.CommunityLikes; -import com.example.koschool.domain.enums.CategoryEnum; import com.example.koschool.domain.member.dto.request.JoinMemberRequestDto; -import com.example.koschool.domain.newsletterLikes.entity.NewsletterLikes; -import com.example.koschool.domain.quizHistory.entity.QuizHistory; -import jakarta.persistence.CascadeType; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.OneToMany; import jakarta.persistence.Table; -import java.util.List; import lombok.AccessLevel; import lombok.Builder; import lombok.Getter; @@ -31,7 +22,7 @@ public class Member { * 고유 id */ @Id - @GeneratedValue(strategy = GenerationType.AUTO) + @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", unique = true) private Long id; @@ -53,49 +44,18 @@ public class Member { @Column(name = "category_topic", nullable = false) private String categoryTopic; - /** - * 커뮤니티 글 올린 내역 - */ - @OneToMany(mappedBy = "member", cascade = CascadeType.ALL) - private List communityList; - - /** - * 커뮤니티 좋아요 내역 - */ - @OneToMany(mappedBy = "member", cascade = CascadeType.ALL) - private List communityLikesList; - - /** - * 커뮤니티 댓글 내역 - */ - @OneToMany(mappedBy = "member", cascade = CascadeType.ALL) - private List comment; - - /** - * 뉴스레터 좋아요 내역 - */ - @OneToMany(mappedBy = "member", cascade = CascadeType.ALL) - private List newsletterLikesList; - - /** - * 퀴즈 내역 - */ - @OneToMany(mappedBy = "member", cascade = CascadeType.ALL) - private List quizList; - - @Builder - private Member(String loginId, String password, CategoryEnum categoryTopic) { + private Member(String loginId, String password, String categoryTopic) { this.loginId = loginId; this.password = password; - this.categoryTopic = categoryTopic.getName(); + this.categoryTopic = categoryTopic; } public static Member fromDtoToEntity(JoinMemberRequestDto memberRequestDto) { return Member.builder() .loginId(memberRequestDto.getLoginId()) .password(memberRequestDto.getPassword()) - .categoryTopic(CategoryEnum.ofCategoryEnum(memberRequestDto.getCategoryTopic())) + .categoryTopic(memberRequestDto.getCategoryTopic()) .build(); } diff --git a/src/main/java/com/example/koschool/domain/message/entity/Message.java b/src/main/java/com/example/koschool/domain/message/entity/Message.java deleted file mode 100644 index a469bc7..0000000 --- a/src/main/java/com/example/koschool/domain/message/entity/Message.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.example.koschool.domain.message.entity; - -import com.example.koschool.domain.common.BaseEntity; -import com.example.koschool.domain.enums.MessageEnum; -import com.example.koschool.domain.session.entity.Session; -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.Table; -import lombok.Getter; - -@Entity -@Getter -@Table(name = "Message") -public class Message extends BaseEntity { - - /** - * 고유 id - */ - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "message_id", unique = true) - private Long messageId; - - /** - * 세션 고유 id - */ - @ManyToOne - @JoinColumn(referencedColumnName = "session_id", name = "session_id", nullable = false) - private Session session; - - /** - * 메시지 내용 - */ - @Column(name = "message_content", nullable = false) - private String messageContent; - - /** - * 메시지 타입 - */ - @Column(name = "type", nullable = false) - private MessageEnum type; -} diff --git a/src/main/java/com/example/koschool/domain/newsletter/NewsletterController.java b/src/main/java/com/example/koschool/domain/newsletter/NewsletterController.java index 3e0675f..fd6cd7d 100644 --- a/src/main/java/com/example/koschool/domain/newsletter/NewsletterController.java +++ b/src/main/java/com/example/koschool/domain/newsletter/NewsletterController.java @@ -5,7 +5,6 @@ import com.example.koschool.domain.newsletter.service.NewsletterService; import com.example.koschool.global.ApiResponse; import java.time.LocalDate; -import java.time.LocalDateTime; import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; diff --git a/src/main/java/com/example/koschool/domain/newsletter/dto/response/NewsletterResponseDto.java b/src/main/java/com/example/koschool/domain/newsletter/dto/response/NewsletterResponseDto.java index 8cc99fe..14a8bf0 100644 --- a/src/main/java/com/example/koschool/domain/newsletter/dto/response/NewsletterResponseDto.java +++ b/src/main/java/com/example/koschool/domain/newsletter/dto/response/NewsletterResponseDto.java @@ -10,17 +10,17 @@ public class NewsletterResponseDto { private String title; private String summary; private Integer likes; - private String stockCode; + private String stock; private String link; Random random = new Random(); @Builder - private NewsletterResponseDto(String title, String summary, Integer likes, String stockCode, String link) { + private NewsletterResponseDto(String title, String summary, Integer likes, String stock, String link) { this.title = title; this.summary = summary; this.likes = random.nextInt(240)+11; - this.stockCode = stockCode; + this.stock = stock; this.link = link; } @@ -29,7 +29,7 @@ public static NewsletterResponseDto fromEntityToDto(Newsletter newsletter) { .title(newsletter.getTitle()) .summary(newsletter.getSummary()) .likes(newsletter.getLikes()) - .stockCode(newsletter.getStockCode()) + .stock(newsletter.getStock()) .link(newsletter.getLink()) .build(); } diff --git a/src/main/java/com/example/koschool/domain/newsletter/entity/Newsletter.java b/src/main/java/com/example/koschool/domain/newsletter/entity/Newsletter.java index 3433309..a0bc905 100644 --- a/src/main/java/com/example/koschool/domain/newsletter/entity/Newsletter.java +++ b/src/main/java/com/example/koschool/domain/newsletter/entity/Newsletter.java @@ -1,17 +1,12 @@ package com.example.koschool.domain.newsletter.entity; -import com.example.koschool.domain.enums.CategoryEnum; -import com.example.koschool.domain.newsletterLikes.entity.NewsletterLikes; -import jakarta.persistence.CascadeType; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import java.time.LocalDate; -import java.util.List; import lombok.Getter; @Entity @@ -23,7 +18,7 @@ public class Newsletter { * 고유 id */ @Id - @GeneratedValue(strategy = GenerationType.AUTO) + @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", unique = true) private Long id; @@ -37,7 +32,7 @@ public class Newsletter { * 카테고리 */ @Column(name = "category", nullable = false) - private CategoryEnum category; + private String category; /** * AI 요약 내용 @@ -58,16 +53,10 @@ public class Newsletter { private String link; /** - * 뉴스레터 좋아요 + * 종목 이름 */ - @OneToMany(mappedBy = "newsletter", cascade = CascadeType.ALL) - private List newsletterLikesList; - - /** - * 종목 코드 - */ - @Column(name = "stock_code") - private String stockCode; + @Column(name = "stock") + private String stock; /** * 날짜 diff --git a/src/main/java/com/example/koschool/domain/newsletter/repository/NewsletterRepository.java b/src/main/java/com/example/koschool/domain/newsletter/repository/NewsletterRepository.java index c01ea9d..b061ba5 100644 --- a/src/main/java/com/example/koschool/domain/newsletter/repository/NewsletterRepository.java +++ b/src/main/java/com/example/koschool/domain/newsletter/repository/NewsletterRepository.java @@ -16,8 +16,4 @@ public interface NewsletterRepository extends JpaRepository + "WHERE n.category = :category AND n.date = :date") List findByCategoryAndDate(String category, LocalDate date); - @Query("SELECT NEW com.example.koschool.domain.newsletter.dto.response.NewsletterResponseDto(n.title, n.summary, n.likes, n.stockCode, n.link)" - + "FROM Newsletter n " - + "WHERE n.id = :newsletterId") - NewsletterResponseDto findNewsletterByNewsletterId(Long newsletterId); } diff --git a/src/main/java/com/example/koschool/domain/newsletter/service/NewsletterService.java b/src/main/java/com/example/koschool/domain/newsletter/service/NewsletterService.java index 3cde7dd..32ff4bc 100644 --- a/src/main/java/com/example/koschool/domain/newsletter/service/NewsletterService.java +++ b/src/main/java/com/example/koschool/domain/newsletter/service/NewsletterService.java @@ -25,7 +25,6 @@ public List getNewsLetterList(String category, LocalD } public NewsletterResponseDto getNewsLetter(String newsletterId) { - System.out.println("asdfasdf"); Optional newsletter = newsletterRepository.findById(newsletterId); if(newsletter.isEmpty()){ throw new CustomException(ErrorCode.NEWSLETTER_NOT_FOUND); diff --git a/src/main/java/com/example/koschool/domain/newsletterLikes/entity/NewsletterLikes.java b/src/main/java/com/example/koschool/domain/newsletterLikes/entity/NewsletterLikes.java deleted file mode 100644 index 86dba32..0000000 --- a/src/main/java/com/example/koschool/domain/newsletterLikes/entity/NewsletterLikes.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.example.koschool.domain.newsletterLikes.entity; - -import com.example.koschool.domain.member.entity.Member; -import com.example.koschool.domain.newsletter.entity.Newsletter; -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.Table; -import lombok.Getter; - -@Entity -@Getter -@Table(name = "Newsletter_Likes") -public class NewsletterLikes { - - /** - * 고유 id - */ - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "newsletter_likes_id", unique = true) - private Long newsletterLikesId; - - /** - * 뉴스레터 고유 id - */ - @ManyToOne - @JoinColumn(referencedColumnName = "id", name = "newsletter_id", nullable = false) - private Newsletter newsletter; - - /** - * 사용자 고유 id - */ - @ManyToOne - @JoinColumn(referencedColumnName = "id", name = "member_id", nullable = false) - private Member member; - - /** - * 좋아요 취소 여부 - */ - @Column(name = "likes_yn", nullable = false) - private Boolean likesYn; - -} diff --git a/src/main/java/com/example/koschool/domain/quiz/entity/Quiz.java b/src/main/java/com/example/koschool/domain/quiz/entity/Quiz.java index c5738fa..c5e389d 100644 --- a/src/main/java/com/example/koschool/domain/quiz/entity/Quiz.java +++ b/src/main/java/com/example/koschool/domain/quiz/entity/Quiz.java @@ -1,6 +1,5 @@ package com.example.koschool.domain.quiz.entity; -import com.example.koschool.domain.enums.LevelEnum; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -18,20 +17,26 @@ public class Quiz { * 고유 id */ @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "quiz_id", unique = true) - private Long quizId; + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", unique = true) + private Long id; + + /** + * 뉴스레터 id + */ + @Column(name = "newsletterId") + private Long newsletterId; /** * 수준 */ @Column(name = "level", nullable = false) - private LevelEnum level; + private Integer level; /** * 질문 */ - @Column(name = "question", unique = true, nullable = false) + @Column(name = "question", nullable = false) private String question; /** diff --git a/src/main/java/com/example/koschool/domain/quizHistory/QuizHistoryController.java b/src/main/java/com/example/koschool/domain/quizHistory/QuizHistoryController.java deleted file mode 100644 index 3c11b8e..0000000 --- a/src/main/java/com/example/koschool/domain/quizHistory/QuizHistoryController.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.example.koschool.domain.quizHistory; - -import com.example.koschool.domain.quizHistory.dto.request.RegisterQuizHistoryRequestDto; -import com.example.koschool.domain.quizHistory.dto.response.RegisterQuizHistoryResponseDto; -import com.example.koschool.domain.quizHistory.service.QuizHistoryService; -import com.example.koschool.global.ApiResponse; -import lombok.RequiredArgsConstructor; -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/history") -public class QuizHistoryController { - private final QuizHistoryService quizHistoryService; - - @PostMapping("/wrong") - public ApiResponse registerQuizHistory(@RequestBody RegisterQuizHistoryRequestDto registerQuizHistoryRequestDto) { - return ApiResponse.of(HttpStatus.OK, quizHistoryService.registerQuizHistory(registerQuizHistoryRequestDto)); - } -} diff --git a/src/main/java/com/example/koschool/domain/quizHistory/dto/request/RegisterQuizHistoryRequestDto.java b/src/main/java/com/example/koschool/domain/quizHistory/dto/request/RegisterQuizHistoryRequestDto.java deleted file mode 100644 index 27043b8..0000000 --- a/src/main/java/com/example/koschool/domain/quizHistory/dto/request/RegisterQuizHistoryRequestDto.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.example.koschool.domain.quizHistory.dto.request; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; - -@Getter -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class RegisterQuizHistoryRequestDto { - - private Long id; - private String rate; - private String history; -} diff --git a/src/main/java/com/example/koschool/domain/quizHistory/dto/response/RegisterQuizHistoryResponseDto.java b/src/main/java/com/example/koschool/domain/quizHistory/dto/response/RegisterQuizHistoryResponseDto.java deleted file mode 100644 index 9bac6a8..0000000 --- a/src/main/java/com/example/koschool/domain/quizHistory/dto/response/RegisterQuizHistoryResponseDto.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.example.koschool.domain.quizHistory.dto.response; - -import com.example.koschool.domain.quizHistory.dto.request.RegisterQuizHistoryRequestDto; -import com.example.koschool.domain.quizHistory.entity.QuizHistory; -import java.time.LocalDateTime; -import lombok.Builder; -import lombok.Getter; - -@Getter -public class RegisterQuizHistoryResponseDto { - - private Long quizHistoryId; - private Long id; - private LocalDateTime date; - private String rate; - private String history; - - @Builder - private RegisterQuizHistoryResponseDto(Long quizHistoryId, Long id, LocalDateTime date, String rate, String history) { - this.quizHistoryId = quizHistoryId; - this.id = id; - this.date = date; - this.rate = rate; - this.history = history; - } - - public static RegisterQuizHistoryResponseDto of(QuizHistory quizHistory) { - return RegisterQuizHistoryResponseDto.builder() - .quizHistoryId(quizHistory.getQuizHistoryId()) - .id(quizHistory.getMember().getId()) - .date(quizHistory.getDate()) - .rate(quizHistory.getRate()) - .history(quizHistory.getHistory()) - .build(); - } -} diff --git a/src/main/java/com/example/koschool/domain/quizHistory/entity/QuizHistory.java b/src/main/java/com/example/koschool/domain/quizHistory/entity/QuizHistory.java deleted file mode 100644 index 6980174..0000000 --- a/src/main/java/com/example/koschool/domain/quizHistory/entity/QuizHistory.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.example.koschool.domain.quizHistory.entity; - -import com.example.koschool.domain.member.entity.Member; -import com.example.koschool.domain.quizHistory.dto.request.RegisterQuizHistoryRequestDto; -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.Table; -import java.time.LocalDateTime; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; - -@Entity -@Getter -@NoArgsConstructor -@Table(name = "Quiz_History") -public class QuizHistory { - - /** - * 고유 id - */ - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "quiz_history_id", unique = true) - private Long quizHistoryId; - - /** - * 사용자 고유 id - */ - @ManyToOne - @JoinColumn(referencedColumnName = "id", name = "member_id", nullable = false) - private Member member; - - /** - * 이용 날짜 - */ - @Column(name = "date", nullable = false) - private LocalDateTime date; - - /** - * 정답률 - */ - @Column(name = "rate", nullable = false) - private String rate; - - /** - * 오답 문항 내역 - */ - @Column(name = "history") - private String history; - - @Builder - private QuizHistory(Member member, LocalDateTime date, String rate, String history) { - this.member = member; - this.date = date; - this.rate = rate; - this.history = history; - } -} diff --git a/src/main/java/com/example/koschool/domain/quizHistory/repository/QuizHistoryRepository.java b/src/main/java/com/example/koschool/domain/quizHistory/repository/QuizHistoryRepository.java deleted file mode 100644 index 26740b0..0000000 --- a/src/main/java/com/example/koschool/domain/quizHistory/repository/QuizHistoryRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.koschool.domain.quizHistory.repository; - -import com.example.koschool.domain.quizHistory.entity.QuizHistory; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - -@Repository -public interface QuizHistoryRepository extends JpaRepository { - -} diff --git a/src/main/java/com/example/koschool/domain/quizHistory/service/QuizHistoryService.java b/src/main/java/com/example/koschool/domain/quizHistory/service/QuizHistoryService.java deleted file mode 100644 index 3f54ee1..0000000 --- a/src/main/java/com/example/koschool/domain/quizHistory/service/QuizHistoryService.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.example.koschool.domain.quizHistory.service; - -import com.example.koschool.domain.member.entity.Member; -import com.example.koschool.domain.member.repository.MemberRepository; -import com.example.koschool.domain.quizHistory.dto.request.RegisterQuizHistoryRequestDto; -import com.example.koschool.domain.quizHistory.dto.response.RegisterQuizHistoryResponseDto; -import com.example.koschool.domain.quizHistory.entity.QuizHistory; -import com.example.koschool.domain.quizHistory.repository.QuizHistoryRepository; -import com.example.koschool.global.exception.CustomException; -import com.example.koschool.global.exception.ErrorCode; -import java.time.LocalDate; -import java.time.LocalDateTime; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -@RequiredArgsConstructor -@Service -@Transactional(readOnly = true) -public class QuizHistoryService { - - private final QuizHistoryRepository quizHistoryRepository; - private final MemberRepository memberRepository; - @Transactional - public RegisterQuizHistoryResponseDto registerQuizHistory(RegisterQuizHistoryRequestDto registerQuizHistoryRequestDto) { - Member member = memberRepository.findById(String.valueOf(registerQuizHistoryRequestDto.getId())) - .orElseThrow(() -> new CustomException(ErrorCode.MEMBER_NOT_FOUND)); - - QuizHistory quizHistory = QuizHistory.builder() - .member(member) - .date(LocalDateTime.now()) - .rate(registerQuizHistoryRequestDto.getRate()) - .history(registerQuizHistoryRequestDto.getHistory()) - .build(); - - return RegisterQuizHistoryResponseDto.of(quizHistoryRepository.save(quizHistory)); - } - -} diff --git a/src/main/java/com/example/koschool/domain/session/entity/Session.java b/src/main/java/com/example/koschool/domain/session/entity/Session.java deleted file mode 100644 index 6b3e736..0000000 --- a/src/main/java/com/example/koschool/domain/session/entity/Session.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.example.koschool.domain.session.entity; - -import com.example.koschool.domain.common.BaseEntity; -import com.example.koschool.domain.member.entity.Member; -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.Table; -import lombok.Getter; - -@Entity -@Getter -@Table(name = "Session") -public class Session extends BaseEntity { - - /** - * 고유 id - */ - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "session_id", unique = true) - private Long sessionId; - - /** - * 사용자 고유 id - */ - @ManyToOne - @JoinColumn(referencedColumnName = "id", name = "member_id", nullable = false) - private Member member; - - /** - * AI가 요약한 세션 이름 - */ - @Column(name = "session_name", nullable = false) - private String sessionName; -}