Skip to content

Commit

Permalink
refactor: 엔티티 필드 및 생성자 메서드 시그니처 변경 (#850)
Browse files Browse the repository at this point in the history
* refactor: coupon entity field order

* refactor: member entity field order

* refactor: membership entity field order

* refactor: order entity field order

* refactor: recruitment entity field order

* refactor: study entities field order

* refactor: recuruitment round entity field order

* refactor: recruitment method signature refactoring

* refactor: refactor order method signature

* refactor: study domain method signature convention

* chore: spotless 적용

* refactor: member field 순서 변경

* refactor: member field 순서 변경

* refactor: order field 순서 변경

* refactor: refactor: recruitment field 순서 변경

* refactor: study field 순서 변경

* chore: spotless 적용
  • Loading branch information
kckc0608 authored Feb 2, 2025
1 parent f66fc6f commit 258fa76
Show file tree
Hide file tree
Showing 29 changed files with 279 additions and 279 deletions.
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
26 changes: 13 additions & 13 deletions src/main/java/com/gdschongik/gdsc/domain/member/domain/Member.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ public class Member extends BaseEntity {
@Column(name = "member_id")
private Long id;

@Enumerated(EnumType.STRING)
private MemberStatus status;

@Enumerated(EnumType.STRING)
private MemberRole role;

Expand All @@ -42,9 +45,6 @@ public class Member extends BaseEntity {
@Enumerated(EnumType.STRING)
private MemberStudyRole studyRole;

@Enumerated(EnumType.STRING)
private MemberStatus status;

private String name;

private String studentId;
Expand All @@ -54,66 +54,66 @@ public class Member extends BaseEntity {

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;

@Embedded
private AssociateRequirement associateRequirement;

@Builder(access = AccessLevel.PRIVATE)
private Member(
MemberStatus status,
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,
AssociateRequirement associateRequirement) {
this.status = status;
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.associateRequirement = associateRequirement;
}

public static Member createGuest(String oauthId) {
AssociateRequirement associateRequirement = AssociateRequirement.unsatisfied();
return Member.builder()
.oauthId(oauthId)
.status(MemberStatus.NORMAL)
.role(GUEST)
.manageRole(NONE)
.studyRole(STUDENT)
.status(MemberStatus.NORMAL)
.oauthId(oauthId)
.associateRequirement(associateRequirement)
.build();
}
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
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public void createPendingOrder(OrderCreateRequest request) {

orderValidator.validatePendingOrderCreate(membership, issuedCoupon, moneyInfo, currentMember);

Order order = Order.createPending(request.orderNanoId(), membership, issuedCoupon, moneyInfo);
Order order = Order.createPending(request.orderNanoId(), moneyInfo, membership, issuedCoupon);

orderRepository.save(order);

Expand Down Expand Up @@ -168,7 +168,7 @@ public void createFreeOrder(OrderCreateRequest request) {

LocalDateTime now = LocalDateTime.now();

Order order = Order.createFree(request.orderNanoId(), membership, optionalIssuedCoupon.orElse(null), moneyInfo);
Order order = Order.createFree(request.orderNanoId(), moneyInfo, membership, optionalIssuedCoupon.orElse(null));
optionalIssuedCoupon.ifPresent(issuedCoupon -> issuedCoupon.use(now));

orderRepository.save(order);
Expand Down
10 changes: 5 additions & 5 deletions src/main/java/com/gdschongik/gdsc/domain/order/domain/Order.java
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,15 @@ public class Order extends BaseEntity {
@Comment("사용하려는 발급쿠폰 ID")
private Long issuedCouponId;

@Embedded
private MoneyInfo moneyInfo;

private String paymentKey;

private ZonedDateTime approvedAt;

private ZonedDateTime canceledAt;

@Embedded
private MoneyInfo moneyInfo;

@Builder(access = AccessLevel.PRIVATE)
private Order(
OrderStatus status,
Expand All @@ -88,7 +88,7 @@ private Order(
* 쿠폰의 경우 사용 여부를 선택할 수 있습니다.
*/
public static Order createPending(
String nanoId, Membership membership, @Nullable IssuedCoupon issuedCoupon, MoneyInfo moneyInfo) {
String nanoId, MoneyInfo moneyInfo, Membership membership, @Nullable IssuedCoupon issuedCoupon) {
return Order.builder()
.status(OrderStatus.PENDING)
.nanoId(nanoId)
Expand All @@ -101,7 +101,7 @@ public static Order createPending(
}

public static Order createFree(
String nanoId, Membership membership, @Nullable IssuedCoupon issuedCoupon, MoneyInfo moneyInfo) {
String nanoId, MoneyInfo moneyInfo, Membership membership, @Nullable IssuedCoupon issuedCoupon) {
validateFreeOrder(moneyInfo);
return Order.builder()
.status(OrderStatus.COMPLETED)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,11 @@ public void createRecruitment(RecruitmentCreateRequest request) {
recruitmentValidator.validateRecruitmentCreate(isRecruitmentOverlap);

Recruitment recruitment = Recruitment.create(
request.academicYear(),
request.semesterType(),
Money.from(request.fee()),
request.feeName(),
Period.of(request.semesterStartDate(), request.semesterEndDate()));
Money.from(request.fee()),
Period.of(request.semesterStartDate(), request.semesterEndDate()),
request.academicYear(),
request.semesterType());
recruitmentRepository.save(recruitment);

log.info("[AdminRecruitmentService] 리쿠르팅 생성: recruitmentId={}", recruitment.getId());
Expand Down Expand Up @@ -82,7 +82,7 @@ public void createRecruitmentRound(RecruitmentRoundCreateRequest request) {
recruitmentRoundsInThisSemester);

RecruitmentRound recruitmentRound = RecruitmentRound.create(
request.name(), Period.of(request.startDate(), request.endDate()), recruitment, request.roundType());
request.name(), request.roundType(), Period.of(request.startDate(), request.endDate()), recruitment);
recruitmentRoundRepository.save(recruitmentRound);

log.info("[AdminRecruitmentService] 모집회차 생성: recruitmentRoundId={}", recruitmentRound.getId());
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 @@ -32,6 +32,9 @@ public class RecruitmentRound extends BaseSemesterEntity {
@Column(name = "recruitment_round_id")
private Long id;

@Enumerated(EnumType.STRING)
private RoundType roundType;

private String name;

@Embedded
Expand All @@ -41,32 +44,29 @@ public class RecruitmentRound extends BaseSemesterEntity {
@JoinColumn(name = "recruitment_id")
private Recruitment recruitment;

@Enumerated(EnumType.STRING)
private RoundType roundType;

@Builder(access = AccessLevel.PRIVATE)
private RecruitmentRound(
RoundType roundType,
String name,
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()
.roundType(roundType)
.name(name)
.period(period)
.recruitment(recruitment)
.academicYear(recruitment.getAcademicYear())
.semesterType(recruitment.getSemesterType())
.recruitment(recruitment)
.roundType(roundType)
.build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public void designateOutstandingStudent(Long studyId, OutstandingStudentRequest

List<Member> outstandingStudents = memberRepository.findAllById(request.studentIds());
List<StudyAchievement> studyAchievements = outstandingStudents.stream()
.map(member -> StudyAchievement.create(member, study, request.achievementType()))
.map(member -> StudyAchievement.create(request.achievementType(), member, study))
.toList();
studyAchievementRepository.saveAll(studyAchievements);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ public void createStudyAnnouncement(Long studyId, StudyAnnouncementCreateUpdateR

studyValidator.validateStudyMentor(currentMember, study);

StudyAnnouncement studyAnnouncement = StudyAnnouncement.create(study, request.title(), request.link());
StudyAnnouncement studyAnnouncement = StudyAnnouncement.create(request.title(), request.link(), study);
studyAnnouncementRepository.save(studyAnnouncement);

log.info("[MentorStudyService] 스터디 공지 생성: studyAnnouncementId={}", studyAnnouncement.getId());
Expand Down
Loading

0 comments on commit 258fa76

Please sign in to comment.