Skip to content

Commit d6c66d4

Browse files
authored
Merge pull request #54 from YAPP-Github/fix/PRODUCT-117
[Fix] Member 의 InterestArea 제거
2 parents 2d3e86f + 376b6a1 commit d6c66d4

File tree

16 files changed

+297
-232
lines changed

16 files changed

+297
-232
lines changed

src/main/java/eatda/controller/member/MemberResponse.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ public record MemberResponse(long id,
66
boolean isSignUp,
77
String nickname,
88
String phoneNumber,
9-
String interestArea,
109
Boolean optInMarketing
1110
) {
1211

@@ -15,7 +14,6 @@ public MemberResponse(Member member, boolean isSignUp) {
1514
isSignUp,
1615
member.getNickname(),
1716
member.getPhoneNumber(),
18-
member.getInterestAreaName(),
1917
member.getOptInMarketing());
2018
}
2119

src/main/java/eatda/controller/member/MemberUpdateRequest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@
55

66
public record MemberUpdateRequest(@NotBlank String nickname,
77
@NotBlank String phoneNumber,
8-
@NotBlank String interestArea,
98
boolean optInMarketing) {
109

1110
public Member toMemberUpdater() {
12-
return new Member(nickname, phoneNumber, interestArea, optInMarketing);
11+
return new Member(nickname, phoneNumber, optInMarketing);
1312
}
1413
}

src/main/java/eatda/domain/member/Member.java

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
package eatda.domain.member;
22

3-
import eatda.enums.InterestArea;
43
import eatda.exception.BusinessErrorCode;
54
import eatda.exception.BusinessException;
65
import jakarta.annotation.Nullable;
76
import jakarta.persistence.Column;
87
import jakarta.persistence.Embedded;
98
import jakarta.persistence.Entity;
10-
import jakarta.persistence.EnumType;
11-
import jakarta.persistence.Enumerated;
129
import jakarta.persistence.GeneratedValue;
1310
import jakarta.persistence.GenerationType;
1411
import jakarta.persistence.Id;
@@ -36,10 +33,6 @@ public class Member {
3633
@Embedded
3734
private MobilePhoneNumber mobilePhoneNumber;
3835

39-
@Enumerated(EnumType.STRING)
40-
@Column(name = "interest_area")
41-
private InterestArea interestArea;
42-
4336
@Column(name = "opt_in_marketing")
4437
private Boolean optInMarketing;
4538

@@ -53,20 +46,18 @@ public Member(
5346
String socialId,
5447
String nickname,
5548
String mobilePhoneNumber,
56-
String interestArea,
5749
Boolean optInMarketing
5850
) {
5951
this(socialId, nickname);
6052
validateOptInMarketing(optInMarketing);
6153
this.mobilePhoneNumber = new MobilePhoneNumber(mobilePhoneNumber);
62-
this.interestArea = InterestArea.from(interestArea);
6354
this.optInMarketing = optInMarketing;
6455
}
6556

66-
public Member(String nickname, String mobilePhoneNumber, String interestArea, boolean optInMarketing) {
57+
public Member(String nickname, String mobilePhoneNumber, boolean optInMarketing) {
58+
validateOptInMarketing(optInMarketing);
6759
this.nickname = nickname;
6860
this.mobilePhoneNumber = new MobilePhoneNumber(mobilePhoneNumber);
69-
this.interestArea = InterestArea.from(interestArea);
7061
this.optInMarketing = optInMarketing;
7162
}
7263

@@ -85,7 +76,6 @@ private void validateOptInMarketing(Boolean optInMarketing) {
8576
public void update(Member member) {
8677
this.nickname = member.nickname;
8778
this.mobilePhoneNumber = member.mobilePhoneNumber;
88-
this.interestArea = member.interestArea;
8979
this.optInMarketing = member.optInMarketing;
9080
}
9181

@@ -111,13 +101,5 @@ public String getPhoneNumber() {
111101
}
112102
return mobilePhoneNumber.getValue();
113103
}
114-
115-
@Nullable
116-
public String getInterestAreaName() {
117-
if (interestArea == null) {
118-
return null;
119-
}
120-
return interestArea.getAreaName();
121-
}
122104
}
123105

src/main/resources/db/migration/V1__init.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ CREATE TABLE `store`
44
`name` VARCHAR(255) NOT NULL,
55
`category` VARCHAR(255) NOT NULL,
66
`introduction` TEXT NOT NULL,
7-
`phone_number` VARCHAR(255) NOT NULL COMMENT '(`-` 없이))',
7+
`phone_number` VARCHAR(255) NOT NULL COMMENT '(`-` 없이)',
88
`interest_area` VARCHAR(50) NOT NULL COMMENT '(서울시 25개 구, Java Enum 이름으로 저장: ex, GANGNAM)',
99
`address` VARCHAR(255) NOT NULL COMMENT '(전체주소)',
1010
`latitude` DOUBLE NOT NULL,
@@ -21,7 +21,6 @@ CREATE TABLE `member`
2121
`social_id` VARCHAR(255) NOT NULL,
2222
`nickname` VARCHAR(255) NULL,
2323
`phone_number` VARCHAR(255) NULL COMMENT '(`-` 없이))',
24-
`interest_area` VARCHAR(50) NULL COMMENT '(서울시 25개 구, Java Enum 이름으로 저장: ex, JONGNO)',
2524
`opt_in_marketing` BOOLEAN NULL DEFAULT true,
2625
PRIMARY KEY (`id`)
2726
);
@@ -48,3 +47,4 @@ CREATE TABLE `menu`
4847
`image_url` VARCHAR(511) NULL,
4948
PRIMARY KEY (`id`)
5049
);
50+
Lines changed: 94 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -1,112 +1,100 @@
1-
INSERT INTO member (id, social_id, nickname, phone_number, interest_area, opt_in_marketing)
2-
VALUES (1, 123456789, '이승로', '01012345678', 'GANGNAM', true),
3-
(2, 987654321, '이충안', '01087654321', 'SEOCHO', false),
4-
(3, 456789123, '장수빈', '01045678912', 'SONGPA', true),
5-
(4, 789123456, '서준환', '01078912345', 'MAPO', true),
6-
(5, 321251287, '신민선', '01034574568', 'GANGSEO', false),
7-
(6, 324569987, '박희수', '01043609998', 'SEODAEMUN', false),
8-
(7, 323487985, '하아얀', '01065083298', 'SEONGDONG', false) AS new
9-
ON DUPLICATE KEY UPDATE social_id = new.social_id,
10-
nickname = new.nickname,
11-
phone_number = new.phone_number,
12-
interest_area = new.interest_area,
13-
opt_in_marketing = new.opt_in_marketing;
1+
INSERT INTO member (id, social_id, nickname, phone_number, opt_in_marketing)
2+
VALUES (1, 123456789, '이승로', '01012345678', true),
3+
(2, 987654321, '이충안', '01087654321', false),
4+
(3, 456789123, '장수빈', '01045678912', true),
5+
(4, 789123456, '서준환', '01078912345', true),
6+
(5, 321251287, '신민선', '01034574568', false),
7+
(6, 324569987, '박희수', '01043609998', false),
8+
(7, 323487985, '하아얀', '01065083298', false);
149

15-
INSERT INTO store (id, name, category, latitude, longitude, address, phone_number, image_url, open_time, close_time,
10+
INSERT INTO store (id, name, category, latitude, longitude,
11+
address, phone_number, image_url, open_time, close_time,
1612
introduction, interest_area)
17-
VALUES (1, '맛있는 한식당', '한식', 37.5665, 126.9780, '서울특별시 강남구 테헤란로 123', '0212345678', 'https://example.com/store1.jpg',
18-
'09:00:00', '22:00:00', '전통 한식의 맛을 느낄 수 있는 곳입니다.', 'GANGNAM'),
19-
(2, '신선한 중식당', '중식', 37.5645, 126.9770, '서울특별시 서초구 서초대로 456', '0287654321', 'https://example.com/store2.jpg',
20-
'11:00:00', '21:00:00', '정통 중국 요리를 맛볼 수 있습니다.', 'SEOCHO'),
21-
(3, '일본 정통 스시', '일식', 37.5685, 126.9790, '서울특별시 송파구 올림픽로 789', '0245678912',
22-
'https://example.com/store3.jpg',
23-
'11:30:00', '22:30:00', '신선한 회와 정통 스시를 즐기세요.', 'SONGPA'),
24-
(4, '이탈리아 파스타', '양식', 37.5625, 126.9760, '서울특별시 마포구 홍대로 321', '0278912345', 'https://example.com/store4.jpg',
25-
'12:00:00', '23:00:00', '정통 이탈리아 파스타와 피자를 만나보세요.', 'MAPO'),
26-
(5, '커피향 가득한 카페', '카페', 37.5705, 126.9800, '서울특별시 종로구 종로 654', '0232165498',
27-
'https://example.com/store5.jpg',
28-
'07:00:00', '23:59:59', '아늑한 분위기에서 커피를 즐기세요.', 'JONGNO'),
29-
(6, '달콤한 디저트샵', '디저트', 37.5640, 126.9775, '서울특별시 강남구 강남대로 987', '0211111111',
30-
'https://example.com/store6.jpg',
31-
'10:00:00', '21:00:00', '다양한 디저트와 케이크를 만나보세요.', 'GANGNAM'),
32-
(7, '분위기 좋은 술집', '술집', 37.5660, 126.9785, '서울특별시 서초구 서초대로 147', '0222222222',
33-
'https://example.com/store7.jpg',
34-
'18:00:00', '02:00:00', '분위기 좋은 술집에서 즐거운 시간을 보내세요.', 'SEOCHO'),
35-
(8, '빠른 패스트푸드', '패스트푸드', 37.5680, 126.9795, '서울특별시 송파구 올림픽로 258', '0233333333',
36-
'https://example.com/store8.jpg',
37-
'06:00:00', '23:59:59', '빠르고 맛있는 패스트푸드를 즐기세요.', 'SONGPA'),
38-
(9, '편리한 편의점', '편의점', 37.5620, 126.9765, '서울특별시 마포구 홍대로 369', '0244444444', 'https://example.com/store9.jpg',
39-
'00:00:00', '23:59:59', '24시간 편리한 편의점입니다.', 'MAPO'),
40-
(10, '특별한 기타매장', '기타', 37.5700, 126.9805, '서울특별시 종로구 종로 741', '0255555555',
41-
'https://example.com/store10.jpg',
42-
'09:00:00', '18:00:00', '특별한 상품들을 만나보세요.', 'JONGNO') AS new
43-
ON DUPLICATE KEY UPDATE name = new.name,
44-
category = new.category,
45-
latitude = new.latitude,
46-
longitude = new.longitude,
47-
address = new.address,
48-
phone_number = new.phone_number,
49-
image_url = new.image_url,
50-
open_time = new.open_time,
51-
close_time = new.close_time,
52-
introduction = new.introduction,
53-
interest_area = new.interest_area;
13+
VALUES (1, '맛있는 한식당', '한식', 37.5665, 126.9780, '서울특별시 강남구 테헤란로 123', '0212345678',
14+
'https://example.com/store1.jpg', '09:00:00', '22:00:00',
15+
'전통 한식의 맛을 느낄 수 있는 곳입니다.', 'GANGNAM'),
16+
17+
(2, '신선한 중식당', '중식', 37.5645, 126.9770, '서울특별시 서초구 서초대로 456', '0287654321',
18+
'https://example.com/store2.jpg', '11:00:00', '21:00:00',
19+
'정통 중국 요리를 맛볼 수 있습니다.', 'SEOCHO'),
20+
21+
(3, '일본 정통 스시', '일식', 37.5685, 126.9790, '서울특별시 송파구 올림픽로 789', '0245678912',
22+
'https://example.com/store3.jpg', '11:30:00', '22:30:00',
23+
'신선한 회와 정통 스시를 즐기세요.', 'SONGPA'),
24+
25+
(4, '이탈리아 파스타', '양식', 37.5625, 126.9760, '서울특별시 마포구 홍대로 321', '0278912345',
26+
'https://example.com/store4.jpg', '12:00:00', '23:00:00',
27+
'정통 이탈리아 파스타와 피자를 만나보세요.', 'MAPO'),
28+
29+
(5, '커피향 가득한 카페', '카페', 37.5705, 126.9800, '서울특별시 종로구 종로 654', '0232165498',
30+
'https://example.com/store5.jpg', '07:00:00', '23:59:59',
31+
'아늑한 분위기에서 커피를 즐기세요.', 'JONGNO'),
32+
33+
(6, '달콤한 디저트샵', '디저트', 37.5640, 126.9775, '서울특별시 강남구 강남대로 987', '0211111111',
34+
'https://example.com/store6.jpg', '10:00:00', '21:00:00',
35+
'다양한 디저트와 케이크를 만나보세요.', 'GANGNAM'),
36+
37+
(7, '분위기 좋은 술집', '술집', 37.5660, 126.9785, '서울특별시 서초구 서초대로 147', '0222222222',
38+
'https://example.com/store7.jpg', '18:00:00', '02:00:00',
39+
'분위기 좋은 술집에서 즐거운 시간을 보내세요.', 'SEOCHO'),
40+
41+
(8, '빠른 패스트푸드', '패스트푸드', 37.5680, 126.9795, '서울특별시 송파구 올림픽로 258', '0233333333',
42+
'https://example.com/store8.jpg', '06:00:00', '23:59:59',
43+
'빠르고 맛있는 패스트푸드를 즐기세요.', 'SONGPA'),
44+
45+
(9, '편리한 편의점', '편의점', 37.5620, 126.9765, '서울특별시 마포구 홍대로 369', '0244444444',
46+
'https://example.com/store9.jpg', '00:00:00', '23:59:59',
47+
'24시간 편리한 편의점입니다.', 'MAPO'),
48+
49+
(10, '특별한 기타매장', '기타', 37.5700, 126.9805, '서울특별시 종로구 종로 741', '0255555555',
50+
'https://example.com/store10.jpg', '09:00:00', '18:00:00',
51+
'특별한 상품들을 만나보세요.', 'JONGNO');
5452

5553
INSERT INTO menu (id, store_id, name, description, price, discount_price, start_time, end_time, image_url)
56-
VALUES (1, 1, '불고기', '맛있는 불고기', 15000, 12000, '2025-06-28 14:00:00', '2025-06-28 16:00:00',
57-
'https://example.com/menu1.jpg'),
58-
(2, 1, '비빔밥', '신선한 채소가 들어간 비빔밥', 12000, NULL, NULL, NULL, 'https://example.com/menu2.jpg'),
59-
(3, 2, '짜장면', '정통 중국 짜장면', 8000, 6000, '2025-06-28 12:00:00', '2025-06-28 14:00:00',
60-
'https://example.com/menu3.jpg'),
61-
(4, 2, '탕수육', '바삭한 탕수육', 18000, NULL, NULL, NULL, 'https://example.com/menu4.jpg'),
62-
(5, 3, '초밥 세트', '신선한 회로 만든 초밥 세트', 25000, 20000, '2025-06-28 15:00:00', '2025-06-28 17:00:00',
63-
'https://example.com/menu5.jpg'),
64-
(6, 3, '우동', '따뜻한 우동', 12000, NULL, NULL, NULL, 'https://example.com/menu6.jpg'),
65-
(7, 4, '까르보나라', '정통 이탈리아 까르보나라', 18000, 15000, '2025-06-28 13:00:00', '2025-06-28 15:00:00',
66-
'https://example.com/menu7.jpg'),
67-
(8, 4, '마르게리타 피자', '신선한 모짜렐라 치즈 피자', 22000, NULL, NULL, NULL, 'https://example.com/menu8.jpg'),
68-
(9, 5, '아메리카노', '깊은 맛의 아메리카노', 4500, 3500, '2025-06-28 10:00:00', '2025-06-28 12:00:00',
69-
'https://example.com/menu9.jpg'),
70-
(10, 5, '카페라떼', '부드러운 카페라떼', 5500, NULL, NULL, NULL, 'https://example.com/menu10.jpg'),
71-
(11, 6, '티라미수', '진한 커피향의 티라미수', 8000, 6000, '2025-06-28 14:00:00', '2025-06-28 16:00:00',
72-
'https://example.com/menu11.jpg'),
73-
(12, 6, '초코케이크', '달콤한 초코케이크', 7000, NULL, NULL, NULL, 'https://example.com/menu12.jpg'),
74-
(13, 7, '소주', '깔끔한 소주', 4000, 3000, '2025-06-28 20:00:00', '2025-06-28 22:00:00',
75-
'https://example.com/menu13.jpg'),
76-
(14, 7, '맥주', '시원한 맥주', 6000, NULL, NULL, NULL, 'https://example.com/menu14.jpg'),
77-
(15, 8, '햄버거 세트', '맛있는 햄버거 세트', 12000, 9000, '2025-06-28 11:00:00', '2025-06-28 13:00:00',
78-
'https://example.com/menu15.jpg'),
79-
(16, 8, '치킨', '바삭한 치킨', 18000, NULL, NULL, NULL, 'https://example.com/menu16.jpg'),
80-
(17, 9, '삼각김밥', '맛있는 삼각김밥', 1500, 1200, '2025-06-28 22:00:00', '2025-06-29 06:00:00',
81-
'https://example.com/menu17.jpg'),
82-
(18, 9, '커피', '편의점 커피', 1500, NULL, NULL, NULL, 'https://example.com/menu18.jpg'),
83-
(19, 10, '특별상품A', '특별한 상품 A', 50000, 40000, '2025-06-28 10:00:00', '2025-06-28 12:00:00',
84-
'https://example.com/menu19.jpg'),
85-
(20, 10, '특별상품B', '특별한 상품 B', 30000, NULL, NULL, NULL, 'https://example.com/menu20.jpg') AS new
86-
ON DUPLICATE KEY UPDATE store_id = new.store_id,
87-
name = new.name,
88-
description = new.description,
89-
price = new.price,
90-
discount_price = new.discount_price,
91-
start_time = new.start_time,
92-
end_time = new.end_time,
93-
image_url = new.image_url;
54+
VALUES (1, 1, '불고기', '맛있는 불고기', 15000, 12000, '2025-06-28 14:00:00', '2025-06-28 16:00:00',
55+
'https://example.com/menu1.jpg'),
56+
(2, 1, '비빔밥', '신선한 채소가 들어간 비빔밥', 12000, NULL, NULL, NULL, 'https://example.com/menu2.jpg'),
57+
(3, 2, '짜장면', '정통 중국 짜장면', 8000, 6000, '2025-06-28 12:00:00', '2025-06-28 14:00:00',
58+
'https://example.com/menu3.jpg'),
59+
(4, 2, '탕수육', '바삭한 탕수육', 18000, NULL, NULL, NULL, 'https://example.com/menu4.jpg'),
60+
(5, 3, '초밥 세트', '신선한 회로 만든 초밥 세트', 25000, 20000, '2025-06-28 15:00:00', '2025-06-28 17:00:00',
61+
'https://example.com/menu5.jpg'),
62+
(6, 3, '우동', '따뜻한 우동', 12000, NULL, NULL, NULL, 'https://example.com/menu6.jpg'),
63+
(7, 4, '까르보나라', '정통 이탈리아 까르보나라', 18000, 15000, '2025-06-28 13:00:00', '2025-06-28 15:00:00',
64+
'https://example.com/menu7.jpg'),
65+
(8, 4, '마르게리타 피자', '신선한 모짜렐라 치즈 피자', 22000, NULL, NULL, NULL, 'https://example.com/menu8.jpg'),
66+
(9, 5, '아메리카노', '깊은 맛의 아메리카노', 4500, 3500, '2025-06-28 10:00:00', '2025-06-28 12:00:00',
67+
'https://example.com/menu9.jpg'),
68+
(10, 5, '카페라떼', '부드러운 카페라떼', 5500, NULL, NULL, NULL, 'https://example.com/menu10.jpg'),
69+
(11, 6, '티라미수', '진한 커피향의 티라미수', 8000, 6000, '2025-06-28 14:00:00', '2025-06-28 16:00:00',
70+
'https://example.com/menu11.jpg'),
71+
(12, 6, '초코케이크', '달콤한 초코케이크', 7000, NULL, NULL, NULL, 'https://example.com/menu12.jpg'),
72+
(13, 7, '소주', '깔끔한 소주', 4000, 3000, '2025-06-28 20:00:00', '2025-06-28 22:00:00',
73+
'https://example.com/menu13.jpg'),
74+
(14, 7, '맥주', '시원한 맥주', 6000, NULL, NULL, NULL, 'https://example.com/menu14.jpg'),
75+
(15, 8, '햄버거 세트', '맛있는 햄버거 세트', 12000, 9000, '2025-06-28 11:00:00', '2025-06-28 13:00:00',
76+
'https://example.com/menu15.jpg'),
77+
(16, 8, '치킨', '바삭한 치킨', 18000, NULL, NULL, NULL, 'https://example.com/menu16.jpg'),
78+
(17, 9, '삼각김밥', '맛있는 삼각김밥', 1500, 1200, '2025-06-28 22:00:00', '2025-06-29 06:00:00',
79+
'https://example.com/menu17.jpg'),
80+
(18, 9, '커피', '편의점 커피', 1500, NULL, NULL, NULL, 'https://example.com/menu18.jpg'),
81+
(19, 10, '특별상품A', '특별한 상품 A', 50000, 40000, '2025-06-28 10:00:00', '2025-06-28 12:00:00',
82+
'https://example.com/menu19.jpg'),
83+
(20, 10, '특별상품B', '특별한 상품 B', 30000, NULL, NULL, NULL, 'https://example.com/menu20.jpg');
9484

9585
INSERT INTO bookmark (id, member_id, store_id)
96-
VALUES (1, 1, 1),
97-
(2, 1, 3),
98-
(3, 2, 2),
99-
(4, 2, 5),
100-
(5, 3, 4),
101-
(6, 3, 6),
102-
(7, 4, 7),
103-
(8, 4, 9),
104-
(9, 5, 8),
105-
(10, 5, 10),
106-
(11, 1, 5),
107-
(12, 2, 1),
108-
(13, 3, 7),
109-
(14, 4, 2),
110-
(15, 5, 4) AS new
111-
ON DUPLICATE KEY UPDATE member_id = new.member_id,
112-
store_id = new.store_id;
86+
VALUES (1, 1, 1),
87+
(2, 1, 3),
88+
(3, 2, 2),
89+
(4, 2, 5),
90+
(5, 3, 4),
91+
(6, 3, 6),
92+
(7, 4, 7),
93+
(8, 4, 9),
94+
(9, 5, 8),
95+
(10, 5, 10),
96+
(11, 1, 5),
97+
(12, 2, 1),
98+
(13, 3, 7),
99+
(14, 4, 2),
100+
(15, 5, 4);

0 commit comments

Comments
 (0)