Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: 엔티티 필드 및 생성자 메서드 시그니처 변경 #850

Merged
merged 17 commits into from
Feb 2, 2025
Merged
Show file tree
Hide file tree
Changes from 6 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 @@ -32,6 +32,11 @@ public class IssuedCoupon extends BaseEntity {
@Column(name = "issued_coupon_id")
private Long id;

@Comment("회수 여부")
private Boolean hasRevoked;

private LocalDateTime usedAt;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "coupon_id")
private Coupon coupon;
Expand All @@ -40,16 +45,11 @@ public class IssuedCoupon extends BaseEntity {
@JoinColumn(name = "member_id")
private Member member;

@Comment("회수 여부")
private Boolean hasRevoked;

private LocalDateTime usedAt;

@Builder(access = AccessLevel.PRIVATE)
private IssuedCoupon(Coupon coupon, Member member, Boolean hasRevoked) {
private IssuedCoupon(Boolean hasRevoked, Coupon coupon, Member member) {
this.hasRevoked = hasRevoked;
this.coupon = coupon;
this.member = member;
this.hasRevoked = hasRevoked;
}

public static IssuedCoupon create(Coupon coupon, Member member) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,76 +33,76 @@ public class Member extends BaseEntity {
@Column(name = "member_id")
private Long id;

@Enumerated(EnumType.STRING)
private MemberRole role;

@Enumerated(EnumType.STRING)
private MemberManageRole manageRole;

@Enumerated(EnumType.STRING)
private MemberStudyRole studyRole;

@Enumerated(EnumType.STRING)
private MemberStatus status;

private String name;

private String studentId;

@Enumerated(EnumType.STRING)
private Department department;

private String email;

private String univEmail;

private String phone;

private String discordId;

private String discordUsername;

private String nickname;

private String discordId;

@Column(nullable = false)
private String oauthId;

private LocalDateTime lastLoginAt;

private String univEmail;
@Enumerated(EnumType.STRING)
private MemberRole role;

@Enumerated(EnumType.STRING)
private MemberManageRole manageRole;

@Enumerated(EnumType.STRING)
private MemberStudyRole studyRole;

@Enumerated(EnumType.STRING)
private MemberStatus status;

@Enumerated(EnumType.STRING)
private Department department;

@Embedded
private AssociateRequirement associateRequirement;

@Builder(access = AccessLevel.PRIVATE)
private Member(
MemberRole role,
MemberManageRole manageRole,
MemberStudyRole studyRole,
MemberStatus status,
String name,
String studentId,
Department department,
String email,
String univEmail,
String phone,
String discordUsername,
String nickname,
String oauthId,
LocalDateTime lastLoginAt,
String univEmail,
MemberRole role,
MemberManageRole manageRole,
MemberStudyRole studyRole,
MemberStatus status,
Department department,
AssociateRequirement associateRequirement) {
this.role = role;
this.manageRole = manageRole;
this.studyRole = studyRole;
this.status = status;
this.name = name;
this.studentId = studentId;
this.department = department;
this.email = email;
this.univEmail = univEmail;
this.phone = phone;
this.discordUsername = discordUsername;
this.nickname = nickname;
this.oauthId = oauthId;
this.lastLoginAt = lastLoginAt;
this.univEmail = univEmail;
this.role = role;
this.manageRole = manageRole;
this.studyRole = studyRole;
this.status = status;
this.department = department;
this.associateRequirement = associateRequirement;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ public class Membership extends BaseEntity {
@Column(name = "membership_id")
private Long id;

@Embedded
private RegularRequirement regularRequirement;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;
Expand All @@ -42,14 +45,11 @@ public class Membership extends BaseEntity {
@JoinColumn(name = "recruitment_round_id")
private RecruitmentRound recruitmentRound;

@Embedded
private RegularRequirement regularRequirement;

@Builder(access = AccessLevel.PRIVATE)
private Membership(Member member, RecruitmentRound recruitmentRound, RegularRequirement regularRequirement) {
private Membership(RegularRequirement regularRequirement, Member member, RecruitmentRound recruitmentRound) {
this.regularRequirement = regularRequirement;
this.member = member;
this.recruitmentRound = recruitmentRound;
this.regularRequirement = regularRequirement;
}

public static Membership create(Member member, RecruitmentRound recruitmentRound) {
Expand Down
22 changes: 11 additions & 11 deletions src/main/java/com/gdschongik/gdsc/domain/order/domain/Order.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,6 @@ public class Order extends BaseEntity {
@Column(name = "orders_id")
private Long id;

@Comment("주문상태")
@Enumerated(EnumType.STRING)
private OrderStatus status;

@Comment("주문 nanoId")
@Column(unique = true, length = 21)
private String nanoId;
Expand All @@ -54,30 +50,34 @@ public class Order extends BaseEntity {
@Comment("사용하려는 발급쿠폰 ID")
private Long issuedCouponId;

@Embedded
private MoneyInfo moneyInfo;

private String paymentKey;

private ZonedDateTime approvedAt;

private ZonedDateTime canceledAt;

@Comment("주문상태")
@Enumerated(EnumType.STRING)
private OrderStatus status;

@Embedded
private MoneyInfo moneyInfo;

kckc0608 marked this conversation as resolved.
Show resolved Hide resolved
@Builder(access = AccessLevel.PRIVATE)
private Order(
OrderStatus status,
String nanoId,
Long memberId,
Long membershipId,
Long recruitmentRoundId,
Long issuedCouponId,
OrderStatus status,
MoneyInfo moneyInfo) {
this.status = status;
this.nanoId = nanoId;
this.memberId = memberId;
this.membershipId = membershipId;
this.recruitmentRoundId = recruitmentRoundId;
this.issuedCouponId = issuedCouponId;
this.status = status;
this.moneyInfo = moneyInfo;

registerEvent(new OrderCreatedEvent(nanoId, isFree()));
Expand All @@ -90,12 +90,12 @@ private Order(
public static Order createPending(
String nanoId, Membership membership, @Nullable IssuedCoupon issuedCoupon, MoneyInfo moneyInfo) {
return Order.builder()
.status(OrderStatus.PENDING)
.nanoId(nanoId)
.memberId(membership.getMember().getId())
.membershipId(membership.getId())
.recruitmentRoundId(membership.getRecruitmentRound().getId())
.issuedCouponId(issuedCoupon != null ? issuedCoupon.getId() : null)
.status(OrderStatus.PENDING)
.moneyInfo(moneyInfo)
.build();
}
Expand All @@ -104,12 +104,12 @@ public static Order createFree(
String nanoId, Membership membership, @Nullable IssuedCoupon issuedCoupon, MoneyInfo moneyInfo) {
validateFreeOrder(moneyInfo);
return Order.builder()
.status(OrderStatus.COMPLETED)
.nanoId(nanoId)
.memberId(membership.getMember().getId())
.membershipId(membership.getId())
.recruitmentRoundId(membership.getRecruitmentRound().getId())
.issuedCouponId(issuedCoupon != null ? issuedCoupon.getId() : null)
.status(OrderStatus.COMPLETED)
.moneyInfo(moneyInfo)
.build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,31 +20,31 @@ public class Recruitment extends BaseSemesterEntity {
@Column(name = "recruitment_id")
private Long id;

private String feeName;

@Embedded
private Money fee;

private String feeName;

@Embedded
private Period semesterPeriod;

@Builder(access = AccessLevel.PRIVATE)
private Recruitment(
Integer academicYear, SemesterType semesterType, Money fee, String feeName, final Period semesterPeriod) {
String feeName, Money fee, final Period semesterPeriod, Integer academicYear, SemesterType semesterType) {
super(academicYear, semesterType);
this.fee = fee;
this.feeName = feeName;
this.fee = fee;
this.semesterPeriod = semesterPeriod;
}

public static Recruitment create(
Integer academicYear, SemesterType semesterType, Money fee, String feeName, Period semesterPeriod) {
String feeName, Money fee, Period semesterPeriod, Integer academicYear, SemesterType semesterType) {
return Recruitment.builder()
.academicYear(academicYear)
.semesterType(semesterType)
.fee(fee)
.feeName(feeName)
.fee(fee)
.semesterPeriod(semesterPeriod)
.academicYear(academicYear)
.semesterType(semesterType)
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,39 +34,39 @@ public class RecruitmentRound extends BaseSemesterEntity {

private String name;

@Enumerated(EnumType.STRING)
private RoundType roundType;

@Embedded
private Period period;

@ManyToOne
@JoinColumn(name = "recruitment_id")
private Recruitment recruitment;

@Enumerated(EnumType.STRING)
private RoundType roundType;

@Builder(access = AccessLevel.PRIVATE)
private RecruitmentRound(
String name,
RoundType roundType,
final Period period,
Integer academicYear,
SemesterType semesterType,
Recruitment recruitment,
RoundType roundType) {
Integer academicYear,
SemesterType semesterType) {
super(academicYear, semesterType);
this.name = name;
this.roundType = roundType;
this.period = period;
this.recruitment = recruitment;
this.roundType = roundType;
}

public static RecruitmentRound create(String name, Period period, Recruitment recruitment, RoundType roundType) {
public static RecruitmentRound create(String name, RoundType roundType, Period period, Recruitment recruitment) {
return RecruitmentRound.builder()
.name(name)
.period(period)
.academicYear(recruitment.getAcademicYear())
.semesterType(recruitment.getSemesterType())
.recruitment(recruitment)
.roundType(roundType)
.academicYear(recruitment.getAcademicYear())
.semesterType(recruitment.getSemesterType())
.build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,6 @@ public class AssignmentHistory extends BaseEntity {
@Column(name = "assignment_history_id")
private Long id;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "study_detail_id")
private StudyDetail studyDetail;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;

@Column(columnDefinition = "TEXT")
private String submissionLink;

Expand All @@ -59,24 +51,32 @@ public class AssignmentHistory extends BaseEntity {
@Enumerated(EnumType.STRING)
private SubmissionFailureType submissionFailureType;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "study_detail_id")
private StudyDetail studyDetail;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;

@Builder(access = AccessLevel.PRIVATE)
private AssignmentHistory(
StudyDetail studyDetail,
Member member,
AssignmentSubmissionStatus submissionStatus,
SubmissionFailureType submissionFailureType) {
this.studyDetail = studyDetail;
this.member = member;
SubmissionFailureType submissionFailureType,
StudyDetail studyDetail,
Member member) {
this.submissionStatus = submissionStatus;
this.submissionFailureType = submissionFailureType;
this.studyDetail = studyDetail;
this.member = member;
}

public static AssignmentHistory create(StudyDetail studyDetail, Member member) {
return AssignmentHistory.builder()
.studyDetail(studyDetail)
.member(member)
.submissionStatus(FAILURE)
.submissionFailureType(NOT_SUBMITTED)
.studyDetail(studyDetail)
.member(member)
.build();
}

Expand Down
Loading
Loading