Skip to content

Commit

Permalink
refactor(doctor_v2): discountpolicy 관련 코드 삭제
Browse files Browse the repository at this point in the history
  • Loading branch information
is2js committed Jul 2, 2022
1 parent 90fb999 commit 8876371
Show file tree
Hide file tree
Showing 19 changed files with 12 additions and 404 deletions.
7 changes: 2 additions & 5 deletions src/main/java/doctor_v2/Main.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package doctor_v2;

import doctor_v2.discountpolicy.amount.AmountDiscount;
import doctor_v2.discountpolicy.amount.SequenceAmountDiscount;
import doctor_v2.domain.Coordinator;
import doctor_v2.domain.Doctor;
import doctor_v2.domain.Patient;
Expand All @@ -25,12 +23,11 @@ public static void main(String[] args) {
///add Specialty(MANY) to doctor(ONE)
// A: 할인정책 action 3가지( 일정금액Amount, 일정비율Percent, 중복Overlapped, 없음None)
// B: 할인조건 condition 3가지( Sequence선착순, Period기간, DayOfWeek요일(주말) )
Specialty specialty = new Specialty<AmountDiscount>(
Specialty specialty = new Specialty(
Title.of("구안와사"),
Duration.ofDays(60), //지속 기간
Money.of(5000.0),
LocalDate.of(2022, 06, 22), // 패키지 생성일
new SequenceAmountDiscount(Money.of(0.0), Sequence.of(0L))
LocalDate.of(2022, 06, 22)// 패키지 생성일
);

doctor.addSpecialty(specialty);
Expand Down
11 changes: 0 additions & 11 deletions src/main/java/doctor_v2/discountpolicy/DiscountCondition.java

This file was deleted.

9 changes: 0 additions & 9 deletions src/main/java/doctor_v2/discountpolicy/DiscountPolicy.java

This file was deleted.

18 changes: 0 additions & 18 deletions src/main/java/doctor_v2/discountpolicy/amount/AmountDiscount.java

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

19 changes: 0 additions & 19 deletions src/main/java/doctor_v2/discountpolicy/none/NoneDiscount.java

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

20 changes: 3 additions & 17 deletions src/main/java/doctor_v2/domain/Specialty.java
Original file line number Diff line number Diff line change
@@ -1,46 +1,32 @@
package doctor_v2.domain;

import doctor_v2.discountpolicy.DiscountCondition;
import doctor_v2.discountpolicy.DiscountPolicy;
import doctor_v2.vo.Count;
import doctor_v2.vo.Money;
import doctor_v2.vo.Title;
import java.time.Duration;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;

public class Specialty<T extends DiscountCondition & DiscountPolicy> {
public class Specialty {

private final Title title;
private final Duration duration;
private final Money fee;
private final LocalDate createDate;
private final Set<T> discountPolicies = new HashSet<>();

public Specialty(final Title title,
final Duration duration,
final Money fee,
final LocalDate createDate,
final T... discountPolicies) {
final LocalDate createDate) {

this.title = title;
this.duration = duration;
this.fee = fee;
this.createDate = createDate;
this.discountPolicies.addAll(Arrays.asList(discountPolicies));
}

public Money calculateFee(final Treatment treatment, final Count count) {
Money calculatedFee = fee;
for (final T discountPolicy : discountPolicies) {
if (discountPolicy.isSatisfiedBy(treatment)) {
calculatedFee = discountPolicy.calculateFee(calculatedFee);
}
}
return calculatedFee.multi(count);
return fee.multi(count);
}

@Override
Expand Down

This file was deleted.

0 comments on commit 8876371

Please sign in to comment.