Skip to content

Commit fbfd20a

Browse files
committed
feat: 알 종류에 따라 다른 url 주입하게끔 수정
1 parent 197807a commit fbfd20a

File tree

4 files changed

+52
-7
lines changed

4 files changed

+52
-7
lines changed

src/main/java/cmf/commitField/domain/pet/entity/Pet.java

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import lombok.Setter;
1010
import lombok.experimental.SuperBuilder;
1111

12+
import java.util.Random;
13+
1214
@Entity
1315
@Getter
1416
@Setter
@@ -17,11 +19,36 @@
1719
@SuperBuilder
1820
@Table(name = "pet")
1921
public class Pet extends BaseEntity {
20-
private int type; // 펫 타입 넘버, 현재 1~3까지 존재
22+
private int type; // 펫 타입 넘버, 현재 0~2까지 존재
2123
private String name;
2224
private String imageUrl;
25+
private int exp; // 펫 경험치
26+
27+
@Enumerated(EnumType.STRING) // DB에 저장될 때 String 형태로 저장됨
28+
private Grow grow; // 성장 정도
29+
30+
public enum Grow {
31+
EGG, HATCH, GROWN
32+
}
2333

2434
@ManyToOne(fetch = FetchType.LAZY)
2535
@JoinColumn(name = "user_id", nullable = false)
2636
private User user;
37+
38+
public Pet(String name, User user){
39+
Random random = new Random();
40+
this.type = random.nextInt(3);
41+
switch (type){ //정해진 알 타입에 따라 다른 url을 주입
42+
case 0: this.imageUrl = "temp0";
43+
break;
44+
case 1: this.imageUrl = "temp1";
45+
break;
46+
case 2: this.imageUrl = "temp2";
47+
break;
48+
}
49+
this.name = name;
50+
this.exp = 0;
51+
this.grow = Grow.EGG;
52+
this.user = user;
53+
}
2754
}

src/main/java/cmf/commitField/domain/pet/service/PetService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public Pet createPet(String name, MultipartFile imageFile, User user) throws IOE
2929
imageUrl = s3Service.uploadFile(imageFile, "pet-images");
3030
}
3131
Random random = new Random();
32-
Pet pet = new Pet(random.nextInt(3), name, imageUrl, user);
32+
Pet pet = new Pet(name, user);
3333
return petRepository.save(pet);
3434
}
3535

src/main/java/cmf/commitField/domain/user/entity/User.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import cmf.commitField.domain.chat.chatMessage.entity.ChatMsg;
44
import cmf.commitField.domain.chat.chatRoom.entity.ChatRoom;
55
import cmf.commitField.domain.chat.userChatRoom.entity.UserChatRoom;
6+
import cmf.commitField.domain.pet.entity.Pet;
67
import cmf.commitField.global.jpa.BaseEntity;
78
import jakarta.persistence.*;
89
import lombok.AllArgsConstructor;
@@ -32,7 +33,7 @@ public class User extends BaseEntity {
3233
public enum Role {
3334
USER, ADMIN
3435
}
35-
//추가
36+
3637
@OneToMany(mappedBy = "user", fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
3738
private List<ChatRoom> chatRooms = new ArrayList<>();
3839

@@ -42,4 +43,21 @@ public enum Role {
4243
@OneToMany(mappedBy = "user", fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
4344
private List<ChatMsg> chatMsgs = new ArrayList<>();
4445

46+
@OneToMany(mappedBy = "user", fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
47+
private List<Pet> pets = new ArrayList<>();
48+
49+
public void addPets(Pet pet){
50+
pets.add(pet);
51+
}
52+
53+
public User(String username, String email, String nickname, String avatarUrl, List<ChatRoom> cr, List<UserChatRoom> ucr, List<ChatMsg> cmsg){
54+
this.username=username;
55+
this.email=email;
56+
this.nickname=nickname;
57+
this.avatarUrl=avatarUrl;
58+
this.role = Role.USER;
59+
this.chatRooms = cr;
60+
this.userChatRooms = ucr;
61+
this.chatMsgs = cmsg;
62+
}
4563
}

src/main/java/cmf/commitField/domain/user/service/CustomOAuth2UserService.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import java.util.ArrayList;
1515
import java.util.Map;
1616
import java.util.Optional;
17-
import java.util.Random;
1817

1918
@Service
2019
@RequiredArgsConstructor
@@ -49,12 +48,13 @@ public OAuth2User loadUser(OAuth2UserRequest userRequest) {
4948
} else {
5049
//유저 정보가 db에 존재하지 않을 경우 회원가입 시킨다.
5150
//유저 생성 및 펫 생성
52-
user = new User(username, email, name, avatarUrl, User.Role.USER, new ArrayList<>(), new ArrayList<>(), new ArrayList<>());
51+
user = new User(username, email, name, avatarUrl, new ArrayList<>(), new ArrayList<>(), new ArrayList<>());
5352
userRepository.save(user);
5453

55-
Random random = new Random(); //펫 랜덤 생성
56-
pet = new Pet(random.nextInt(3), "알알", "temp-Url", user); // 변경 필요
54+
pet = new Pet("알알", user); // 변경 필요
5755
petRepository.save(pet);
56+
57+
user.addPets(pet);
5858
}
5959

6060
return new CustomOAuth2User(oauthUser, user);

0 commit comments

Comments
 (0)