Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,10 @@
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.Index;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.NoArgsConstructor;
Expand Down Expand Up @@ -75,15 +73,15 @@ public class Application {
@Column(name = "third_choice_university_info_for_apply_id")
private Long thirdChoiceUnivApplyInfoId;

@ManyToOne(fetch = FetchType.LAZY)
private SiteUser siteUser;
@Column(name = "site_user_id")
private long siteUserId;

public Application(
SiteUser siteUser,
Gpa gpa,
LanguageTest languageTest,
String term) {
this.siteUser = siteUser;
this.siteUserId = siteUser.getId();
this.gpa = gpa;
this.languageTest = languageTest;
this.term = term;
Expand All @@ -101,7 +99,7 @@ public Application(
Long secondChoiceUnivApplyInfoId,
Long thirdChoiceUnivApplyInfoId,
String nicknameForApply) {
this.siteUser = siteUser;
this.siteUserId = siteUser.getId();
this.gpa = gpa;
this.languageTest = languageTest;
this.term = term;
Expand All @@ -122,7 +120,7 @@ public Application(
Long secondChoiceUnivApplyInfoId,
Long thirdChoiceUnivApplyInfoId,
String nicknameForApply) {
this.siteUser = siteUser;
this.siteUserId = siteUser.getId();
this.gpa = gpa;
this.languageTest = languageTest;
this.term = term;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.example.solidconnection.university.domain.UnivApplyInfo;

import java.util.List;
import java.util.Objects;

public record ApplicantsResponse(
String koreanName,
Expand All @@ -24,6 +25,6 @@ public static ApplicantsResponse of(UnivApplyInfo univApplyInfo, List<Applicatio
}

private static boolean isUsers(Application application, SiteUser siteUser) {
return application.getSiteUser().getId().equals(siteUser.getId());
return Objects.equals(application.getSiteUserId(), siteUser.getId());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.example.solidconnection.application.domain.Application;
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;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
Expand All @@ -20,7 +19,6 @@ public interface ApplicationRepository extends JpaRepository<Application, Long>
@Query("""
SELECT a
FROM Application a
JOIN FETCH a.siteUser
WHERE (a.firstChoiceUnivApplyInfoId IN :univApplyInfoIds
OR a.secondChoiceUnivApplyInfoId IN :univApplyInfoIds
OR a.thirdChoiceUnivApplyInfoId IN :univApplyInfoIds)
Expand All @@ -33,14 +31,14 @@ public interface ApplicationRepository extends JpaRepository<Application, Long>
@Query("""
SELECT a
FROM Application a
WHERE a.siteUser = :siteUser
WHERE a.siteUserId = :siteUserId
AND a.term = :term
AND a.isDelete = false
""")
Optional<Application> findBySiteUserAndTerm(@Param("siteUser") SiteUser siteUser, @Param("term") String term);
Optional<Application> findBySiteUserIdAndTerm(@Param("siteUserId") long siteUserId, @Param("term") String term);

default Application getApplicationBySiteUserAndTerm(SiteUser siteUser, String term) {
return findBySiteUserAndTerm(siteUser, term)
default Application getApplicationBySiteUserIdAndTerm(long siteUserId, String term) {
return findBySiteUserIdAndTerm(siteUserId, term)
.orElseThrow(() -> new CustomException(APPLICATION_NOT_FOUND));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public ApplicationsResponse getApplicants(SiteUser siteUser, String regionCode,

@Transactional(readOnly = true)
public ApplicationsResponse getApplicantsByUserApplications(SiteUser siteUser) {
Application userLatestApplication = applicationRepository.getApplicationBySiteUserAndTerm(siteUser, term);
Application userLatestApplication = applicationRepository.getApplicationBySiteUserIdAndTerm(siteUser.getId(), term);

List<Long> univApplyInfoIds = Stream.of(
userLatestApplication.getFirstChoiceUnivApplyInfoId(),
Expand Down Expand Up @@ -120,7 +120,7 @@ private List<ApplicantsResponse> createUniversityApplicantsResponses(

@Transactional(readOnly = true)
public void validateSiteUserCanViewApplicants(SiteUser siteUser) {
VerifyStatus verifyStatus = applicationRepository.getApplicationBySiteUserAndTerm(siteUser, term).getVerifyStatus();
VerifyStatus verifyStatus = applicationRepository.getApplicationBySiteUserIdAndTerm(siteUser.getId(), term).getVerifyStatus();
if (verifyStatus != VerifyStatus.APPROVED) {
throw new CustomException(APPLICATION_NOT_APPROVED);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public ApplicationSubmissionResponse apply(SiteUser siteUser, ApplyRequest apply
Long secondChoiceUnivApplyInfoId = univApplyInfoChoiceRequest.secondChoiceUnivApplyInfoId();
Long thirdChoiceUnivApplyInfoId = univApplyInfoChoiceRequest.thirdChoiceUnivApplyInfoId();

Optional<Application> existingApplication = applicationRepository.findBySiteUserAndTerm(siteUser, term);
Optional<Application> existingApplication = applicationRepository.findBySiteUserIdAndTerm(siteUser.getId(), term);
int updateCount = existingApplication
.map(application -> {
validateUpdateLimitNotExceed(application);
Expand Down Expand Up @@ -78,7 +78,7 @@ public ApplicationSubmissionResponse apply(SiteUser siteUser, ApplyRequest apply
}

private GpaScore getValidGpaScore(SiteUser siteUser, Long gpaScoreId) {
GpaScore gpaScore = gpaScoreRepository.findGpaScoreBySiteUserAndId(siteUser, gpaScoreId)
GpaScore gpaScore = gpaScoreRepository.findGpaScoreBySiteUserIdAndId(siteUser.getId(), gpaScoreId)
.orElseThrow(() -> new CustomException(GPA_SCORE_NOT_FOUND));
if (gpaScore.getVerifyStatus() != VerifyStatus.APPROVED) {
throw new CustomException(INVALID_GPA_SCORE_STATUS);
Expand All @@ -88,7 +88,7 @@ private GpaScore getValidGpaScore(SiteUser siteUser, Long gpaScoreId) {

private LanguageTestScore getValidLanguageTestScore(SiteUser siteUser, Long languageTestScoreId) {
LanguageTestScore languageTestScore = languageTestScoreRepository
.findLanguageTestScoreBySiteUserAndId(siteUser, languageTestScoreId)
.findLanguageTestScoreBySiteUserIdAndId(siteUser.getId(), languageTestScoreId)
.orElseThrow(() -> new CustomException(INVALID_LANGUAGE_TEST_SCORE));
if (languageTestScore.getVerifyStatus() != VerifyStatus.APPROVED) {
throw new CustomException(INVALID_LANGUAGE_TEST_SCORE_STATUS);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
package com.example.solidconnection.location.country.domain;

import com.example.solidconnection.location.region.domain.Region;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import lombok.AccessLevel;
import lombok.EqualsAndHashCode;
import lombok.Getter;
Expand All @@ -23,12 +21,12 @@ public class Country {
@Column(nullable = false, length = 100)
private String koreanName;

@ManyToOne
private Region region;
@Column(name="region_code")
private String regionCode;

public Country(String code, String koreanName, Region region) {
public Country(String code, String koreanName, String regionCode) {
this.code = code;
this.koreanName = koreanName;
this.region = region;
this.regionCode = regionCode;
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.example.solidconnection.location.country.domain;

import com.example.solidconnection.siteuser.domain.SiteUser;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
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;
Expand All @@ -27,14 +27,14 @@ public class InterestedCountry {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@ManyToOne
private SiteUser siteUser;
@Column(name="site_user_id")
private long siteUserId;

@ManyToOne
private Country country;
@Column(name="country_code")
private String countryCode;

public InterestedCountry(SiteUser siteUser, Country country) {
this.siteUser = siteUser;
this.country = country;
this.siteUserId = siteUser.getId();
this.countryCode = country.getCode();
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package com.example.solidconnection.location.country.repository;

import com.example.solidconnection.location.country.domain.InterestedCountry;
import com.example.solidconnection.siteuser.domain.SiteUser;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;

public interface InterestedCountryRepository extends JpaRepository<InterestedCountry, Long> {

List<InterestedCountry> findAllBySiteUser(SiteUser siteUser);
List<InterestedCountry> findAllBySiteUserId(long siteUserId);
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.example.solidconnection.location.region.domain;

import com.example.solidconnection.siteuser.domain.SiteUser;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
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;
Expand All @@ -27,14 +27,14 @@ public class InterestedRegion {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@ManyToOne
private SiteUser siteUser;
@Column(name="site_user_id")
private long siteUserId;

@ManyToOne
private Region region;
@Column(name="region_code")
private String regionCode;

public InterestedRegion(SiteUser siteUser, Region region) {
this.siteUser = siteUser;
this.region = region;
this.siteUserId = siteUser.getId();
this.regionCode = region.getCode();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@

public interface InterestedRegionRepository extends JpaRepository<InterestedRegion, Long> {

List<InterestedRegion> findAllBySiteUser(SiteUser siteUser);
List<InterestedRegion> findAllBySiteUserId(long siteUserId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
Expand All @@ -38,24 +37,15 @@ public class GpaScore extends BaseEntity {

private String rejectedReason;

@ManyToOne
private SiteUser siteUser;
private long siteUserId;

public GpaScore(Gpa gpa, SiteUser siteUser) {
this.gpa = gpa;
this.siteUser = siteUser;
this.siteUserId = siteUser.getId();
this.verifyStatus = VerifyStatus.PENDING;
this.rejectedReason = null;
}

public void setSiteUser(SiteUser siteUser) {
if (this.siteUser != null) {
this.siteUser.getGpaScoreList().remove(this);
}
this.siteUser = siteUser;
siteUser.getGpaScoreList().add(this);
}

public void updateGpaScore(Gpa gpa, VerifyStatus verifyStatus, String rejectedReason) {
this.gpa = gpa;
this.verifyStatus = verifyStatus;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
Expand All @@ -38,21 +37,12 @@ public class LanguageTestScore extends BaseEntity {

private String rejectedReason;

@ManyToOne
private SiteUser siteUser;
private long siteUserId;

public LanguageTestScore(LanguageTest languageTest, SiteUser siteUser) {
this.languageTest = languageTest;
this.verifyStatus = VerifyStatus.PENDING;
this.siteUser = siteUser;
}

public void setSiteUser(SiteUser siteUser) {
if (this.siteUser != null) {
this.siteUser.getLanguageTestScoreList().remove(this);
}
this.siteUser = siteUser;
siteUser.getLanguageTestScoreList().add(this);
this.siteUserId = siteUser.getId();
}

public void updateLanguageTestScore(LanguageTest languageTest, VerifyStatus verifyStatus, String rejectedReason) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@

import com.example.solidconnection.score.domain.GpaScore;
import com.example.solidconnection.score.repository.custom.GpaScoreFilterRepository;
import com.example.solidconnection.siteuser.domain.SiteUser;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;
import java.util.Optional;

public interface GpaScoreRepository extends JpaRepository<GpaScore, Long>, GpaScoreFilterRepository {

Optional<GpaScore> findGpaScoreBySiteUser(SiteUser siteUser);
Optional<GpaScore> findGpaScoreBySiteUserId(long siteUserId);

Optional<GpaScore> findGpaScoreBySiteUserAndId(SiteUser siteUser, Long id);
Optional<GpaScore> findGpaScoreBySiteUserIdAndId(long siteUserId, Long id);

List<GpaScore> findBySiteUserId(long siteUserId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,17 @@

import com.example.solidconnection.score.domain.LanguageTestScore;
import com.example.solidconnection.score.repository.custom.LanguageTestScoreFilterRepository;
import com.example.solidconnection.siteuser.domain.SiteUser;
import com.example.solidconnection.university.domain.LanguageTestType;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;
import java.util.Optional;

public interface LanguageTestScoreRepository extends JpaRepository<LanguageTestScore, Long>, LanguageTestScoreFilterRepository {

Optional<LanguageTestScore> findLanguageTestScoreBySiteUserAndLanguageTest_LanguageTestType(SiteUser siteUser, LanguageTestType languageTestType);
Optional<LanguageTestScore> findLanguageTestScoreBySiteUserIdAndLanguageTest_LanguageTestType(long siteUserId, LanguageTestType languageTestType);

Optional<LanguageTestScore> findLanguageTestScoreBySiteUserAndId(SiteUser siteUser, Long id);
Optional<LanguageTestScore> findLanguageTestScoreBySiteUserIdAndId(long siteUserId, Long id);

List<LanguageTestScore> findBySiteUserId(long siteUserId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public Page<GpaScoreSearchResponse> searchGpaScores(ScoreSearchCondition conditi
List<GpaScoreSearchResponse> content = queryFactory
.select(GPA_SCORE_SEARCH_RESPONSE_PROJECTION)
.from(gpaScore)
.join(gpaScore.siteUser, siteUser)
.join(siteUser).on(gpaScore.siteUserId.eq(siteUser.id))
.where(
verifyStatusEq(condition.verifyStatus()),
nicknameContains(condition.nickname()),
Expand All @@ -84,7 +84,7 @@ public Page<GpaScoreSearchResponse> searchGpaScores(ScoreSearchCondition conditi
Long totalCount = queryFactory
.select(gpaScore.count())
.from(gpaScore)
.join(gpaScore.siteUser, siteUser)
.join(siteUser).on(gpaScore.siteUserId.eq(siteUser.id))
.where(
verifyStatusEq(condition.verifyStatus()),
nicknameContains(condition.nickname()),
Expand Down
Loading
Loading