Skip to content

Commit d850cdc

Browse files
authored
feat: 장착한 칭호 및 아이템 정보 추가 (#72)
1 parent 1a9e706 commit d850cdc

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed
Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,47 @@
11
package com.back.domain.member.dto;
22

3+
import com.back.domain.item.entity.Item;
4+
import com.back.domain.item.entity.ItemType;
35
import com.back.domain.member.entity.Member;
46
import com.back.domain.member.entity.MemberGender;
57

68
import java.time.LocalDate;
9+
import java.util.EnumMap;
10+
import java.util.Map;
711

812
public record MemberDto(
13+
Integer id,
914
String name,
1015
String code,
1116
LocalDate birth,
1217
MemberGender gender,
13-
int level,
14-
int xp,
15-
int money
18+
Integer level,
19+
Integer xp,
20+
Integer money,
21+
Integer title,
22+
Map<ItemType, Integer> items
1623
) {
1724
public MemberDto(Member member) {
1825
this(
26+
member.getId(),
1927
member.getName(),
2028
member.getCode(),
2129
member.getBirth(),
2230
member.getGender(),
2331
member.getLevel(),
2432
member.getXp(),
25-
member.getMoney()
33+
member.getMoney(),
34+
member.getTitle() != null ? member.getTitle().getId() : null,
35+
buildItems(member)
2636
);
2737
}
38+
39+
private static Map<ItemType, Integer> buildItems(Member member) {
40+
Map<ItemType, Integer> map = new EnumMap<>(ItemType.class);
41+
for (ItemType type : ItemType.values()) {
42+
Item item = member.getItems().get(type);
43+
map.put(type, item != null ? item.getId() : null);
44+
}
45+
return map;
46+
}
2847
}

backend/src/main/java/com/back/domain/member/entity/Member.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ public class Member extends BaseEntity {
3838

3939
@ManyToOne(fetch = FetchType.LAZY)
4040
private Title title;
41-
4241
@OneToMany(fetch = FetchType.LAZY)
4342
@MapKey(name = "type")
4443
private Map<ItemType, Item> items;
@@ -54,7 +53,7 @@ public Member(String email, String password, String name) {
5453
this.name = name;
5554

5655
this.title = null;
57-
this.items = new HashMap<>();
56+
this.items = new EnumMap<>(ItemType.class);
5857
for(ItemType type : ItemType.values()) {
5958
this.items.put(type, null);
6059
}

0 commit comments

Comments
 (0)