Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ public final class RequestPath {
public static final String LIST_MEMBER = MEMBER;

public static final String JOIN_MEMBER = MEMBER + "/join";
public static final String CONDITION_MEMBER = MEMBER + "/onboarding";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

URL이 너무 '온보딩'에 국한되어 있는 것 같습니다. 조건을 설정하다는 의미의 URL이 좋을 것 같아요. set-options나 set-conditions/preference 같은 게 더 좋을 것 같습니다.

public static final String WITHDRAW_MEMBER = MEMBER + "/withdraw";

// ******************* terms *******************
Expand Down
3 changes: 3 additions & 0 deletions common/common-domain/common-domain-core/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

domain-core에는 web과 같은 외부 의존성이 들어가지 않아야 합니다.

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.project.imdang.common.domain.valueobject;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.util.Arrays;

@Getter
@RequiredArgsConstructor
public enum Budget {
UNDER_100M("1억 이하"), UNDER_300M("3억 이하"), UNDER_500M("5억 이하"), UNDER_700M("7억 이하"), UNDER_900M("9억 이하"),
UNDER_1500M("15억 이하"), UNDER_2000M("20억 이하"), UNDER_3000M("30억 이하"), UNDER_5000M("50억 이하");

private final String value;

@JsonCreator
public static Budget fromValue(String value) {
return Arrays.stream(Budget.values())
.filter(b -> b.getValue().equals(value))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unknown value: " + value));
}

@JsonValue
public String toValue() {
return value;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.project.imdang.common.domain.valueobject;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import com.project.imdang.common.domain.valueobject.gapInvestment.InvestmentPlan;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.util.Arrays;

/**
* 출퇴근 지역
*/
@Getter
@RequiredArgsConstructor
public enum CommutingArea {
GANGNAM("강남"), YEOUIDO("여의도"), GWANGHWAMUN("광화문"), EULJIRO("을지로"), SEONGSU("성수"),
PANGYO("판교"), MAPO("마포"), GURO("구로"), SANGAM("상암DMC"), GANGSEO("강서"), SONGPA("송파");

private final String value;

@JsonCreator
public static CommutingArea fromValue(String value) {
return Arrays.stream(CommutingArea.values())
.filter(ca -> ca.getValue().equals(value))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unknown value: " + value));
}

@JsonValue
public String toValue() {
return value;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.project.imdang.common.domain.valueobject;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.util.Arrays;

/**
* 환경
*/
@Getter
@RequiredArgsConstructor
public enum Environment {
PARK("공원"), HIKING("등산로"), HANGANG("한강"),
RIVER("하천"), DENSE_APARTMENT("아파트 밀집");
private final String value;

@JsonCreator
public static Environment fromValue(String value) {
return Arrays.stream(Environment.values())
.filter(e -> e.getValue().equals(value))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unknown value: " + value));
}

@JsonValue
public String toValue() {
return value;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.project.imdang.common.domain.valueobject;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.util.Arrays;

/**
* 인프라
*/
@Getter
@RequiredArgsConstructor
public enum InfraNew {
MART("대형마트"), HOSPITAL("대형병원"), DEPARTMENT_STORE("백화점"),
CHILD_FACILITIY("아이 동반시설"), CULTURE_FACILITY("문화시설");
private final String value;

@JsonCreator
public static InfraNew fromValue(String value) {
return Arrays.stream(InfraNew.values())
.filter(i -> i.getValue().equals(value))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unknown value: " + value));
}

@JsonValue
public String toValue() {
return value;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.project.imdang.common.domain.valueobject;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.util.Arrays;

@Getter
@RequiredArgsConstructor
public enum MonthIncome {
NOTHING("수입 없음"), UNDER_2M("200만원 이하"), UNDER_3M("300만원 이하"), UNDER_4M("400만원 이하"), UNDER_5M("500만원 이하"), UNDER_6M("600만원 이하"),
UNDER_7M("700만원 이하"), UNDER_8M("800만원 이하"), UPPER_10M("1000만원 이상");

private final String value;

@JsonCreator
public static MonthIncome fromValue(String value) {
return Arrays.stream(MonthIncome.values())
.filter(mi -> mi.getValue().equals(value))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unknown value: " + value));
}

@JsonValue
public String toValue() {
return value;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.project.imdang.common.domain.valueobject;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.util.Arrays;

@Getter
@RequiredArgsConstructor
public enum Purpose {
LIVING("실거주"), GAP_INVESTMENT("갭투자");
private final String value;

@JsonCreator
public static Purpose fromValue(String value) {
return Arrays.stream(Purpose.values())
.filter(p -> p.getValue().equals(value))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unknown value: " + value));
}

@JsonValue
public String toValue() {
return value;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.project.imdang.common.domain.valueobject.gapInvestment;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import com.project.imdang.common.domain.valueobject.living.Traffic;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.util.Arrays;

/**
* 아파트 평수
*/
@Getter
@RequiredArgsConstructor
public enum ApartmentSquare {
ULTRA_SAMLL("초소형(21~40m2)"), SMALL("소형(60m2 이하)"), SMALL_MEDIUM("중소형(60~82m2)"), MEDIUM_LARGE("중대형(85~102m2)"), LARGE("대형(135m2 이상)");

private final String value;

@JsonCreator
public static ApartmentSquare fromValue(String value) {
return Arrays.stream(ApartmentSquare.values())
.filter(as -> as.getValue().equals(value))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unknown value: " + value));
}

@JsonValue
public String toValue() {
return value;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.project.imdang.common.domain.valueobject.gapInvestment;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.util.Arrays;

/**
* 희망 갭 정도
*/
@Getter
@RequiredArgsConstructor
public enum HopeGap {
UPPER_20("갭 20% 이상"), UPPER_30("갭 30% 이상"), UPPER_40("갭 40% 이상"), UPPER_50("갭 50% 이상"),
UPPER_60("갭 60% 이상"), NO_MATTER("상관 없어요");

private final String value;

@JsonCreator
public static HopeGap fromValue(String value) {
return Arrays.stream(HopeGap.values())
.filter(hg -> hg.getValue().equals(value))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unknown value: " + value));
}

@JsonValue
public String toValue() {
return value;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.project.imdang.common.domain.valueobject.gapInvestment;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.util.Arrays;

/**
* 유형
*/
@Getter
@RequiredArgsConstructor
public enum HouseType {
NEW("신축"), OLD("구축");
private final String value;

@JsonCreator
public static HouseType fromValue(String value) {
return Arrays.stream(HouseType.values())
.filter(ht -> ht.getValue().equals(value))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unknown value: " + value));
}

@JsonValue
public String toValue() {
return value;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.project.imdang.common.domain.valueobject.gapInvestment;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.util.Arrays;

/**
* 세대수
*/
@Getter
@RequiredArgsConstructor
public enum Household {
UPPER_100("100세대 이상"), UPPER_300("300세대 이상"), UPPER_500("500세대 이상"), UPPER_1000("1000세대 이상"),
UPPER_2000("2000세대 이상"), UPPER_3000("3000세대 이상");

private final String value;

@JsonCreator
public static Household fromValue(String value) {
return Arrays.stream(Household.values())
.filter(h -> h.getValue().equals(value))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unknown value: " + value));
}

@JsonValue
public String toValue() {
return value;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.project.imdang.common.domain.valueobject.gapInvestment;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.util.Arrays;

/**
* 투자 계획
*/
@Getter
@RequiredArgsConstructor
public enum InvestmentPlan {
UNDER_ONE("1년 미만"), UNDER_TWO("2년 미만"), UNDER_THREE("3년 미만"), UNDER_FIVE("5년 미만"), UNDER_DECADE("10년 미만"), UPPER_TWO_DECADE("20년 이상"),
DONT_KNOW("아직 모르겠어요");

private final String value;

@JsonCreator
public static InvestmentPlan fromValue(String value) {
return Arrays.stream(InvestmentPlan.values())
.filter(ip -> ip.getValue().equals(value))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unknown value: " + value));
}

@JsonValue
public String toValue() {
return value;
}
}
Loading