diff --git a/src/main/java/com/example/solidconnection/admin/dto/GpaScoreResponse.java b/src/main/java/com/example/solidconnection/admin/dto/GpaScoreResponse.java index c90ba6a40..7da28252a 100644 --- a/src/main/java/com/example/solidconnection/admin/dto/GpaScoreResponse.java +++ b/src/main/java/com/example/solidconnection/admin/dto/GpaScoreResponse.java @@ -1,6 +1,6 @@ package com.example.solidconnection.admin.dto; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.score.domain.GpaScore; public record GpaScoreResponse( diff --git a/src/main/java/com/example/solidconnection/admin/dto/GpaScoreStatusResponse.java b/src/main/java/com/example/solidconnection/admin/dto/GpaScoreStatusResponse.java index a9d1d0668..379d5567a 100644 --- a/src/main/java/com/example/solidconnection/admin/dto/GpaScoreStatusResponse.java +++ b/src/main/java/com/example/solidconnection/admin/dto/GpaScoreStatusResponse.java @@ -1,6 +1,6 @@ package com.example.solidconnection.admin.dto; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import java.time.ZonedDateTime; diff --git a/src/main/java/com/example/solidconnection/admin/dto/GpaScoreUpdateRequest.java b/src/main/java/com/example/solidconnection/admin/dto/GpaScoreUpdateRequest.java index c22979ea6..9393c1e7f 100644 --- a/src/main/java/com/example/solidconnection/admin/dto/GpaScoreUpdateRequest.java +++ b/src/main/java/com/example/solidconnection/admin/dto/GpaScoreUpdateRequest.java @@ -1,6 +1,6 @@ package com.example.solidconnection.admin.dto; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.application.dto.validation.RejectedReasonRequired; import jakarta.validation.constraints.NotNull; diff --git a/src/main/java/com/example/solidconnection/admin/dto/LanguageTestScoreResponse.java b/src/main/java/com/example/solidconnection/admin/dto/LanguageTestScoreResponse.java index 978dcae82..f80f5e7cb 100644 --- a/src/main/java/com/example/solidconnection/admin/dto/LanguageTestScoreResponse.java +++ b/src/main/java/com/example/solidconnection/admin/dto/LanguageTestScoreResponse.java @@ -1,6 +1,6 @@ package com.example.solidconnection.admin.dto; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.score.domain.LanguageTestScore; import com.example.solidconnection.university.domain.LanguageTestType; diff --git a/src/main/java/com/example/solidconnection/admin/dto/LanguageTestScoreStatusResponse.java b/src/main/java/com/example/solidconnection/admin/dto/LanguageTestScoreStatusResponse.java index 3094ea18f..d060e0661 100644 --- a/src/main/java/com/example/solidconnection/admin/dto/LanguageTestScoreStatusResponse.java +++ b/src/main/java/com/example/solidconnection/admin/dto/LanguageTestScoreStatusResponse.java @@ -1,6 +1,6 @@ package com.example.solidconnection.admin.dto; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import java.time.ZonedDateTime; diff --git a/src/main/java/com/example/solidconnection/admin/dto/LanguageTestScoreUpdateRequest.java b/src/main/java/com/example/solidconnection/admin/dto/LanguageTestScoreUpdateRequest.java index c072111ec..51af55f79 100644 --- a/src/main/java/com/example/solidconnection/admin/dto/LanguageTestScoreUpdateRequest.java +++ b/src/main/java/com/example/solidconnection/admin/dto/LanguageTestScoreUpdateRequest.java @@ -1,6 +1,6 @@ package com.example.solidconnection.admin.dto; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.application.dto.validation.RejectedReasonRequired; import com.example.solidconnection.university.domain.LanguageTestType; import jakarta.validation.constraints.NotNull; diff --git a/src/main/java/com/example/solidconnection/admin/dto/ScoreSearchCondition.java b/src/main/java/com/example/solidconnection/admin/dto/ScoreSearchCondition.java index 1dc284be8..d968af5b2 100644 --- a/src/main/java/com/example/solidconnection/admin/dto/ScoreSearchCondition.java +++ b/src/main/java/com/example/solidconnection/admin/dto/ScoreSearchCondition.java @@ -1,6 +1,6 @@ package com.example.solidconnection.admin.dto; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import java.time.LocalDate; diff --git a/src/main/java/com/example/solidconnection/admin/dto/ScoreUpdateRequest.java b/src/main/java/com/example/solidconnection/admin/dto/ScoreUpdateRequest.java index 7223b48e4..7299d6433 100644 --- a/src/main/java/com/example/solidconnection/admin/dto/ScoreUpdateRequest.java +++ b/src/main/java/com/example/solidconnection/admin/dto/ScoreUpdateRequest.java @@ -1,6 +1,6 @@ package com.example.solidconnection.admin.dto; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; public interface ScoreUpdateRequest { VerifyStatus verifyStatus(); diff --git a/src/main/java/com/example/solidconnection/admin/service/AdminGpaScoreService.java b/src/main/java/com/example/solidconnection/admin/service/AdminGpaScoreService.java index eae555406..2f954d910 100644 --- a/src/main/java/com/example/solidconnection/admin/service/AdminGpaScoreService.java +++ b/src/main/java/com/example/solidconnection/admin/service/AdminGpaScoreService.java @@ -5,7 +5,7 @@ import com.example.solidconnection.admin.dto.GpaScoreUpdateRequest; import com.example.solidconnection.admin.dto.ScoreSearchCondition; import com.example.solidconnection.application.domain.Gpa; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.common.exception.CustomException; import com.example.solidconnection.score.domain.GpaScore; import com.example.solidconnection.score.repository.GpaScoreRepository; diff --git a/src/main/java/com/example/solidconnection/admin/service/AdminLanguageTestScoreService.java b/src/main/java/com/example/solidconnection/admin/service/AdminLanguageTestScoreService.java index db89ae91c..b8770caa5 100644 --- a/src/main/java/com/example/solidconnection/admin/service/AdminLanguageTestScoreService.java +++ b/src/main/java/com/example/solidconnection/admin/service/AdminLanguageTestScoreService.java @@ -5,7 +5,7 @@ import com.example.solidconnection.admin.dto.LanguageTestScoreUpdateRequest; import com.example.solidconnection.admin.dto.ScoreSearchCondition; import com.example.solidconnection.application.domain.LanguageTest; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.common.exception.CustomException; import com.example.solidconnection.score.domain.LanguageTestScore; import com.example.solidconnection.score.repository.LanguageTestScoreRepository; diff --git a/src/main/java/com/example/solidconnection/application/domain/Application.java b/src/main/java/com/example/solidconnection/application/domain/Application.java index 5f982410e..0c6e3cc0a 100644 --- a/src/main/java/com/example/solidconnection/application/domain/Application.java +++ b/src/main/java/com/example/solidconnection/application/domain/Application.java @@ -1,5 +1,6 @@ package com.example.solidconnection.application.domain; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.siteuser.domain.SiteUser; import jakarta.persistence.Column; import jakarta.persistence.Embedded; @@ -19,7 +20,7 @@ import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; -import static com.example.solidconnection.application.domain.VerifyStatus.PENDING; +import static com.example.solidconnection.common.VerifyStatus.PENDING; @Getter @NoArgsConstructor(access = lombok.AccessLevel.PROTECTED) diff --git a/src/main/java/com/example/solidconnection/application/domain/VerifyStatus.java b/src/main/java/com/example/solidconnection/application/domain/VerifyStatus.java deleted file mode 100644 index e6f1afbe6..000000000 --- a/src/main/java/com/example/solidconnection/application/domain/VerifyStatus.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.example.solidconnection.application.domain; - -public enum VerifyStatus { - PENDING, REJECTED, APPROVED -} diff --git a/src/main/java/com/example/solidconnection/application/dto/validation/RejectedReasonValidator.java b/src/main/java/com/example/solidconnection/application/dto/validation/RejectedReasonValidator.java index 0f1837e0e..4b43673f3 100644 --- a/src/main/java/com/example/solidconnection/application/dto/validation/RejectedReasonValidator.java +++ b/src/main/java/com/example/solidconnection/application/dto/validation/RejectedReasonValidator.java @@ -1,7 +1,7 @@ package com.example.solidconnection.application.dto.validation; import com.example.solidconnection.admin.dto.ScoreUpdateRequest; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import io.micrometer.common.util.StringUtils; import jakarta.validation.ConstraintValidator; import jakarta.validation.ConstraintValidatorContext; diff --git a/src/main/java/com/example/solidconnection/application/repository/ApplicationRepository.java b/src/main/java/com/example/solidconnection/application/repository/ApplicationRepository.java index 0cbf1cf68..8853f63da 100644 --- a/src/main/java/com/example/solidconnection/application/repository/ApplicationRepository.java +++ b/src/main/java/com/example/solidconnection/application/repository/ApplicationRepository.java @@ -1,7 +1,7 @@ package com.example.solidconnection.application.repository; import com.example.solidconnection.application.domain.Application; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.common.exception.CustomException; import com.example.solidconnection.siteuser.domain.SiteUser; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/com/example/solidconnection/application/service/ApplicationQueryService.java b/src/main/java/com/example/solidconnection/application/service/ApplicationQueryService.java index dbfa28990..17708e6a2 100644 --- a/src/main/java/com/example/solidconnection/application/service/ApplicationQueryService.java +++ b/src/main/java/com/example/solidconnection/application/service/ApplicationQueryService.java @@ -1,7 +1,7 @@ package com.example.solidconnection.application.service; import com.example.solidconnection.application.domain.Application; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.application.dto.ApplicationsResponse; import com.example.solidconnection.application.dto.UniversityApplicantsResponse; import com.example.solidconnection.application.repository.ApplicationRepository; diff --git a/src/main/java/com/example/solidconnection/application/service/ApplicationSubmissionService.java b/src/main/java/com/example/solidconnection/application/service/ApplicationSubmissionService.java index ea44840ee..4dca9d8e2 100644 --- a/src/main/java/com/example/solidconnection/application/service/ApplicationSubmissionService.java +++ b/src/main/java/com/example/solidconnection/application/service/ApplicationSubmissionService.java @@ -1,7 +1,7 @@ package com.example.solidconnection.application.service; import com.example.solidconnection.application.domain.Application; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.application.dto.ApplicationSubmissionResponse; import com.example.solidconnection.application.dto.ApplyRequest; import com.example.solidconnection.application.dto.UniversityChoiceRequest; diff --git a/src/main/java/com/example/solidconnection/common/VerifyStatus.java b/src/main/java/com/example/solidconnection/common/VerifyStatus.java new file mode 100644 index 000000000..d8848c1f0 --- /dev/null +++ b/src/main/java/com/example/solidconnection/common/VerifyStatus.java @@ -0,0 +1,9 @@ +package com.example.solidconnection.common; + +public enum VerifyStatus { + + PENDING, + REJECTED, + APPROVED, + ; +} diff --git a/src/main/java/com/example/solidconnection/mentor/domain/Channel.java b/src/main/java/com/example/solidconnection/mentor/domain/Channel.java new file mode 100644 index 000000000..33c4f72c3 --- /dev/null +++ b/src/main/java/com/example/solidconnection/mentor/domain/Channel.java @@ -0,0 +1,47 @@ +package com.example.solidconnection.mentor.domain; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table; +import jakarta.persistence.UniqueConstraint; +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Entity +@Getter +@AllArgsConstructor +@NoArgsConstructor(access = AccessLevel.PROTECTED) +@Table(uniqueConstraints = { + @UniqueConstraint( + name = "uk_channel_mentor_id_sequence", + columnNames = {"mentor_id", "sequence"} + ) +}) +public class Channel { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column + private int sequence; + + @Enumerated(EnumType.STRING) + @Column(nullable = false) + private ChannelType type; + + @Column(nullable = false, length = 500) + private String url; + + @ManyToOne(fetch = FetchType.LAZY) + private Mentor mentor; +} diff --git a/src/main/java/com/example/solidconnection/mentor/domain/ChannelType.java b/src/main/java/com/example/solidconnection/mentor/domain/ChannelType.java new file mode 100644 index 000000000..c12cf321f --- /dev/null +++ b/src/main/java/com/example/solidconnection/mentor/domain/ChannelType.java @@ -0,0 +1,10 @@ +package com.example.solidconnection.mentor.domain; + +public enum ChannelType { + + BLOG, + INSTAGRAM, + YOUTUBE, + BRUNCH, + ; +} diff --git a/src/main/java/com/example/solidconnection/mentor/domain/Mentor.java b/src/main/java/com/example/solidconnection/mentor/domain/Mentor.java new file mode 100644 index 000000000..81f9d6177 --- /dev/null +++ b/src/main/java/com/example/solidconnection/mentor/domain/Mentor.java @@ -0,0 +1,48 @@ +package com.example.solidconnection.mentor.domain; + +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 lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import java.util.ArrayList; +import java.util.List; + +@Entity +@Getter +@AllArgsConstructor +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class Mentor { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column + private int menteeCount = 0; + + @Column + private boolean hasBadge = false; + + @Column(length = 1000) + private String introduction; + + @Column(length = 1000) + private String passTip; + + @Column + private long siteUserId; + + @Column + private long universityId; + + @OneToMany(mappedBy = "mentor", cascade = CascadeType.ALL, orphanRemoval = true) + private List channels = new ArrayList<>(); +} diff --git a/src/main/java/com/example/solidconnection/mentor/domain/Mentoring.java b/src/main/java/com/example/solidconnection/mentor/domain/Mentoring.java new file mode 100644 index 000000000..38811a014 --- /dev/null +++ b/src/main/java/com/example/solidconnection/mentor/domain/Mentoring.java @@ -0,0 +1,63 @@ +package com.example.solidconnection.mentor.domain; + +import com.example.solidconnection.common.VerifyStatus; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.EntityListeners; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.PrePersist; +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.hibernate.annotations.DynamicInsert; +import org.springframework.data.jpa.domain.support.AuditingEntityListener; + +import java.time.ZonedDateTime; + +import static java.time.ZoneOffset.UTC; +import static java.time.temporal.ChronoUnit.MICROS; + +@Entity +@Getter +@EntityListeners(AuditingEntityListener.class) +@DynamicInsert +@AllArgsConstructor +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class Mentoring { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(nullable = false) + private ZonedDateTime createdAt; + + @Column + private ZonedDateTime confirmedAt; + + @Column + private ZonedDateTime checkedAt; + + @Column(nullable = false) + @Enumerated(EnumType.STRING) + private VerifyStatus verifyStatus = VerifyStatus.PENDING; + + @Column(length = 500) + private String rejectedReason; + + @Column + private long mentorId; + + @Column + private long menteeId; + + @PrePersist + public void onPrePersist() { + this.createdAt = ZonedDateTime.now(UTC).truncatedTo(MICROS); // 나노초 6자리 까지만 저장 + } +} diff --git a/src/main/java/com/example/solidconnection/score/domain/GpaScore.java b/src/main/java/com/example/solidconnection/score/domain/GpaScore.java index 0156dae9a..45193e692 100644 --- a/src/main/java/com/example/solidconnection/score/domain/GpaScore.java +++ b/src/main/java/com/example/solidconnection/score/domain/GpaScore.java @@ -1,7 +1,7 @@ package com.example.solidconnection.score.domain; import com.example.solidconnection.application.domain.Gpa; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.common.BaseEntity; import com.example.solidconnection.siteuser.domain.SiteUser; import jakarta.persistence.Column; diff --git a/src/main/java/com/example/solidconnection/score/domain/LanguageTestScore.java b/src/main/java/com/example/solidconnection/score/domain/LanguageTestScore.java index f2257561d..3ef773806 100644 --- a/src/main/java/com/example/solidconnection/score/domain/LanguageTestScore.java +++ b/src/main/java/com/example/solidconnection/score/domain/LanguageTestScore.java @@ -1,7 +1,7 @@ package com.example.solidconnection.score.domain; import com.example.solidconnection.application.domain.LanguageTest; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.common.BaseEntity; import com.example.solidconnection.siteuser.domain.SiteUser; import jakarta.persistence.Column; diff --git a/src/main/java/com/example/solidconnection/score/dto/GpaScoreStatusResponse.java b/src/main/java/com/example/solidconnection/score/dto/GpaScoreStatusResponse.java index 4804d6874..b720e08f3 100644 --- a/src/main/java/com/example/solidconnection/score/dto/GpaScoreStatusResponse.java +++ b/src/main/java/com/example/solidconnection/score/dto/GpaScoreStatusResponse.java @@ -1,6 +1,6 @@ package com.example.solidconnection.score.dto; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.score.domain.GpaScore; public record GpaScoreStatusResponse( diff --git a/src/main/java/com/example/solidconnection/score/dto/LanguageTestScoreStatusResponse.java b/src/main/java/com/example/solidconnection/score/dto/LanguageTestScoreStatusResponse.java index 4aa033d72..825ac63db 100644 --- a/src/main/java/com/example/solidconnection/score/dto/LanguageTestScoreStatusResponse.java +++ b/src/main/java/com/example/solidconnection/score/dto/LanguageTestScoreStatusResponse.java @@ -1,6 +1,6 @@ package com.example.solidconnection.score.dto; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.score.domain.LanguageTestScore; public record LanguageTestScoreStatusResponse( diff --git a/src/main/java/com/example/solidconnection/score/repository/custom/GpaScoreFilterRepositoryImpl.java b/src/main/java/com/example/solidconnection/score/repository/custom/GpaScoreFilterRepositoryImpl.java index a90961c3d..efa12f8df 100644 --- a/src/main/java/com/example/solidconnection/score/repository/custom/GpaScoreFilterRepositoryImpl.java +++ b/src/main/java/com/example/solidconnection/score/repository/custom/GpaScoreFilterRepositoryImpl.java @@ -5,7 +5,7 @@ import com.example.solidconnection.admin.dto.GpaScoreStatusResponse; import com.example.solidconnection.admin.dto.ScoreSearchCondition; import com.example.solidconnection.admin.dto.SiteUserResponse; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.querydsl.core.types.ConstructorExpression; import com.querydsl.core.types.Projections; import com.querydsl.core.types.dsl.BooleanExpression; diff --git a/src/main/java/com/example/solidconnection/score/repository/custom/LanguageTestScoreFilterRepositoryImpl.java b/src/main/java/com/example/solidconnection/score/repository/custom/LanguageTestScoreFilterRepositoryImpl.java index 28baaf521..9f677db09 100644 --- a/src/main/java/com/example/solidconnection/score/repository/custom/LanguageTestScoreFilterRepositoryImpl.java +++ b/src/main/java/com/example/solidconnection/score/repository/custom/LanguageTestScoreFilterRepositoryImpl.java @@ -5,7 +5,7 @@ import com.example.solidconnection.admin.dto.LanguageTestScoreStatusResponse; import com.example.solidconnection.admin.dto.ScoreSearchCondition; import com.example.solidconnection.admin.dto.SiteUserResponse; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.querydsl.core.types.ConstructorExpression; import com.querydsl.core.types.Projections; import com.querydsl.core.types.dsl.BooleanExpression; diff --git a/src/main/java/com/example/solidconnection/university/domain/LanguageRequirement.java b/src/main/java/com/example/solidconnection/university/domain/LanguageRequirement.java index ddb111fde..7cca13d9e 100644 --- a/src/main/java/com/example/solidconnection/university/domain/LanguageRequirement.java +++ b/src/main/java/com/example/solidconnection/university/domain/LanguageRequirement.java @@ -16,7 +16,7 @@ import lombok.NoArgsConstructor; @Getter -@AllArgsConstructor(access = AccessLevel.PUBLIC) +@AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity public class LanguageRequirement { diff --git a/src/main/java/com/example/solidconnection/university/domain/UnivApplyInfo.java b/src/main/java/com/example/solidconnection/university/domain/UnivApplyInfo.java index 47edd15c8..f54ffe5e7 100644 --- a/src/main/java/com/example/solidconnection/university/domain/UnivApplyInfo.java +++ b/src/main/java/com/example/solidconnection/university/domain/UnivApplyInfo.java @@ -22,7 +22,7 @@ @Getter @EqualsAndHashCode(of = "id") -@AllArgsConstructor(access = AccessLevel.PUBLIC) +@AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity @Table(name = "university_info_for_apply") diff --git a/src/main/java/com/example/solidconnection/university/domain/University.java b/src/main/java/com/example/solidconnection/university/domain/University.java index d010861d4..e3738ce0f 100644 --- a/src/main/java/com/example/solidconnection/university/domain/University.java +++ b/src/main/java/com/example/solidconnection/university/domain/University.java @@ -14,7 +14,7 @@ import lombok.NoArgsConstructor; @Entity -@AllArgsConstructor(access = AccessLevel.PUBLIC) +@AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter public class University { diff --git a/src/main/resources/db/migration/V19__create_mentor_related_tables.sql b/src/main/resources/db/migration/V19__create_mentor_related_tables.sql new file mode 100644 index 000000000..5e554d7c1 --- /dev/null +++ b/src/main/resources/db/migration/V19__create_mentor_related_tables.sql @@ -0,0 +1,40 @@ +CREATE TABLE mentor +( + id BIGINT NOT NULL AUTO_INCREMENT, + university_id BIGINT NOT NULL, + site_user_id BIGINT NOT NULL, + mentee_count INT NOT NULL DEFAULT 0, + has_badge BOOLEAN NOT NULL DEFAULT FALSE, + introduction VARCHAR(1000) NULL, + pass_tip VARCHAR(1000) NULL, + PRIMARY KEY (id), + CONSTRAINT fk_mentor_university_id FOREIGN KEY (university_id) REFERENCES university (id), + CONSTRAINT fk_mentor_site_user_id FOREIGN KEY (site_user_id) REFERENCES site_user (id) +); + +CREATE TABLE mentoring +( + id BIGINT NOT NULL AUTO_INCREMENT, + mentor_id BIGINT NOT NULL, + mentee_id BIGINT NOT NULL, + created_at DATETIME(6) NOT NULL, + confirmed_at DATETIME(6) NULL, + checked_at DATETIME(6) NULL, + verify_status ENUM ('PENDING', 'REJECTED', 'APPROVED') NOT NULL DEFAULT 'PENDING', + rejected_reason VARCHAR(500) NULL, + PRIMARY KEY (id), + CONSTRAINT fk_mentoring_mentor_id FOREIGN KEY (mentor_id) REFERENCES mentor (id), + CONSTRAINT fk_mentoring_site_user_id FOREIGN KEY (mentee_id) REFERENCES site_user (id) +); + +CREATE TABLE channel +( + id BIGINT NOT NULL AUTO_INCREMENT, + mentor_id BIGINT NOT NULL, + sequence INT NOT NULL, + type ENUM ('BLOG', 'INSTAGRAM', 'YOUTUBE', 'BRUNCH') NOT NULL, + url VARCHAR(500) NOT NULL, + PRIMARY KEY (id), + CONSTRAINT fk_channel_mentor_id FOREIGN KEY (mentor_id) REFERENCES mentor (id), + CONSTRAINT uk_channel_mentor_id_sequence UNIQUE (mentor_id, sequence) +); diff --git a/src/test/java/com/example/solidconnection/admin/dto/validation/RejectedReasonValidatorTest.java b/src/test/java/com/example/solidconnection/admin/dto/validation/RejectedReasonValidatorTest.java index 8c9af55c6..eaaf529df 100644 --- a/src/test/java/com/example/solidconnection/admin/dto/validation/RejectedReasonValidatorTest.java +++ b/src/test/java/com/example/solidconnection/admin/dto/validation/RejectedReasonValidatorTest.java @@ -2,7 +2,7 @@ import com.example.solidconnection.admin.dto.GpaScoreUpdateRequest; import com.example.solidconnection.admin.dto.LanguageTestScoreUpdateRequest; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.university.domain.LanguageTestType; import jakarta.validation.ConstraintViolation; import jakarta.validation.Validation; diff --git a/src/test/java/com/example/solidconnection/admin/service/AdminGpaScoreServiceTest.java b/src/test/java/com/example/solidconnection/admin/service/AdminGpaScoreServiceTest.java index c649e1ba9..dd45e4f77 100644 --- a/src/test/java/com/example/solidconnection/admin/service/AdminGpaScoreServiceTest.java +++ b/src/test/java/com/example/solidconnection/admin/service/AdminGpaScoreServiceTest.java @@ -4,7 +4,7 @@ import com.example.solidconnection.admin.dto.GpaScoreSearchResponse; import com.example.solidconnection.admin.dto.GpaScoreUpdateRequest; import com.example.solidconnection.admin.dto.ScoreSearchCondition; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.common.exception.CustomException; import com.example.solidconnection.score.domain.GpaScore; import com.example.solidconnection.score.fixture.GpaScoreFixture; diff --git a/src/test/java/com/example/solidconnection/admin/service/AdminLanguageTestScoreServiceTest.java b/src/test/java/com/example/solidconnection/admin/service/AdminLanguageTestScoreServiceTest.java index 669c0b0be..439e9444c 100644 --- a/src/test/java/com/example/solidconnection/admin/service/AdminLanguageTestScoreServiceTest.java +++ b/src/test/java/com/example/solidconnection/admin/service/AdminLanguageTestScoreServiceTest.java @@ -4,7 +4,7 @@ import com.example.solidconnection.admin.dto.LanguageTestScoreSearchResponse; import com.example.solidconnection.admin.dto.LanguageTestScoreUpdateRequest; import com.example.solidconnection.admin.dto.ScoreSearchCondition; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.common.exception.CustomException; import com.example.solidconnection.score.domain.LanguageTestScore; import com.example.solidconnection.score.fixture.LanguageTestScoreFixture; diff --git a/src/test/java/com/example/solidconnection/application/fixture/ApplicationFixtureBuilder.java b/src/test/java/com/example/solidconnection/application/fixture/ApplicationFixtureBuilder.java index 2f1ae7bbe..189fe3f37 100644 --- a/src/test/java/com/example/solidconnection/application/fixture/ApplicationFixtureBuilder.java +++ b/src/test/java/com/example/solidconnection/application/fixture/ApplicationFixtureBuilder.java @@ -3,7 +3,7 @@ import com.example.solidconnection.application.domain.Application; import com.example.solidconnection.application.domain.Gpa; import com.example.solidconnection.application.domain.LanguageTest; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.application.repository.ApplicationRepository; import com.example.solidconnection.siteuser.domain.SiteUser; import lombok.RequiredArgsConstructor; diff --git a/src/test/java/com/example/solidconnection/application/service/ApplicationQueryServiceTest.java b/src/test/java/com/example/solidconnection/application/service/ApplicationQueryServiceTest.java index 2f93b08f0..123fbcc95 100644 --- a/src/test/java/com/example/solidconnection/application/service/ApplicationQueryServiceTest.java +++ b/src/test/java/com/example/solidconnection/application/service/ApplicationQueryServiceTest.java @@ -1,7 +1,7 @@ package com.example.solidconnection.application.service; import com.example.solidconnection.application.domain.Application; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.application.dto.ApplicantResponse; import com.example.solidconnection.application.dto.ApplicationsResponse; import com.example.solidconnection.application.dto.UniversityApplicantsResponse; diff --git a/src/test/java/com/example/solidconnection/application/service/ApplicationSubmissionServiceTest.java b/src/test/java/com/example/solidconnection/application/service/ApplicationSubmissionServiceTest.java index 4d23073f7..e748f6069 100644 --- a/src/test/java/com/example/solidconnection/application/service/ApplicationSubmissionServiceTest.java +++ b/src/test/java/com/example/solidconnection/application/service/ApplicationSubmissionServiceTest.java @@ -1,7 +1,7 @@ package com.example.solidconnection.application.service; import com.example.solidconnection.application.domain.Application; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.application.dto.ApplicationSubmissionResponse; import com.example.solidconnection.application.dto.ApplyRequest; import com.example.solidconnection.application.dto.UniversityChoiceRequest; diff --git a/src/test/java/com/example/solidconnection/score/fixture/GpaScoreFixture.java b/src/test/java/com/example/solidconnection/score/fixture/GpaScoreFixture.java index 4a61d1557..49938a284 100644 --- a/src/test/java/com/example/solidconnection/score/fixture/GpaScoreFixture.java +++ b/src/test/java/com/example/solidconnection/score/fixture/GpaScoreFixture.java @@ -1,7 +1,7 @@ package com.example.solidconnection.score.fixture; import com.example.solidconnection.application.domain.Gpa; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.score.domain.GpaScore; import com.example.solidconnection.siteuser.domain.SiteUser; import lombok.RequiredArgsConstructor; diff --git a/src/test/java/com/example/solidconnection/score/fixture/GpaScoreFixtureBuilder.java b/src/test/java/com/example/solidconnection/score/fixture/GpaScoreFixtureBuilder.java index 7943008b4..51c2d0569 100644 --- a/src/test/java/com/example/solidconnection/score/fixture/GpaScoreFixtureBuilder.java +++ b/src/test/java/com/example/solidconnection/score/fixture/GpaScoreFixtureBuilder.java @@ -1,7 +1,7 @@ package com.example.solidconnection.score.fixture; import com.example.solidconnection.application.domain.Gpa; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.score.domain.GpaScore; import com.example.solidconnection.score.repository.GpaScoreRepository; import com.example.solidconnection.siteuser.domain.SiteUser; diff --git a/src/test/java/com/example/solidconnection/score/fixture/LanguageTestScoreFixture.java b/src/test/java/com/example/solidconnection/score/fixture/LanguageTestScoreFixture.java index 7805692e0..476783fe9 100644 --- a/src/test/java/com/example/solidconnection/score/fixture/LanguageTestScoreFixture.java +++ b/src/test/java/com/example/solidconnection/score/fixture/LanguageTestScoreFixture.java @@ -1,10 +1,9 @@ package com.example.solidconnection.score.fixture; import com.example.solidconnection.application.domain.LanguageTest; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.score.domain.LanguageTestScore; import com.example.solidconnection.siteuser.domain.SiteUser; -import com.example.solidconnection.university.domain.LanguageTestType; import lombok.RequiredArgsConstructor; import org.springframework.boot.test.context.TestComponent; diff --git a/src/test/java/com/example/solidconnection/score/fixture/LanguageTestScoreFixtureBuilder.java b/src/test/java/com/example/solidconnection/score/fixture/LanguageTestScoreFixtureBuilder.java index fd5a8d417..b2908bd93 100644 --- a/src/test/java/com/example/solidconnection/score/fixture/LanguageTestScoreFixtureBuilder.java +++ b/src/test/java/com/example/solidconnection/score/fixture/LanguageTestScoreFixtureBuilder.java @@ -1,7 +1,7 @@ package com.example.solidconnection.score.fixture; import com.example.solidconnection.application.domain.LanguageTest; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.score.domain.LanguageTestScore; import com.example.solidconnection.score.repository.LanguageTestScoreRepository; import com.example.solidconnection.siteuser.domain.SiteUser; diff --git a/src/test/java/com/example/solidconnection/score/service/ScoreServiceTest.java b/src/test/java/com/example/solidconnection/score/service/ScoreServiceTest.java index 0b1aa0718..1f6dfad1e 100644 --- a/src/test/java/com/example/solidconnection/score/service/ScoreServiceTest.java +++ b/src/test/java/com/example/solidconnection/score/service/ScoreServiceTest.java @@ -1,6 +1,6 @@ package com.example.solidconnection.score.service; -import com.example.solidconnection.application.domain.VerifyStatus; +import com.example.solidconnection.common.VerifyStatus; import com.example.solidconnection.s3.domain.ImgType; import com.example.solidconnection.s3.dto.UploadedFileUrlResponse; import com.example.solidconnection.s3.service.S3Service;