Skip to content

Commit 197807a

Browse files
committed
feat: 펫 생성 기능 테스트 확인
1 parent 08cc0c8 commit 197807a

File tree

5 files changed

+21
-8
lines changed

5 files changed

+21
-8
lines changed

src/main/java/cmf/commitField/domain/pet/controller/PetController.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import cmf.commitField.domain.pet.entity.Pet;
44
import cmf.commitField.domain.pet.service.PetService;
5+
import cmf.commitField.domain.user.entity.User;
6+
import cmf.commitField.domain.user.service.CustomOAuth2UserService;
57
import lombok.RequiredArgsConstructor;
68
import org.springframework.http.MediaType;
79
import org.springframework.web.bind.annotation.*;
@@ -11,18 +13,20 @@
1113

1214
@RestController
1315
@RequiredArgsConstructor
14-
@RequestMapping("/pets")
16+
@RequestMapping("/api/pets")
1517
public class PetController {
16-
18+
private final CustomOAuth2UserService userService;
1719
private final PetService petService;
1820

1921
// 새로운 펫 추가
2022
@PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
2123
public Pet createPet(
24+
@RequestParam String email,
2225
@RequestParam String name,
2326
@RequestPart(value = "imageFile") MultipartFile imageFile
2427
) throws Exception {
25-
return petService.createPet(name, imageFile);
28+
User user = userService.getUserByEmail(email).get();
29+
return petService.createPet(name, imageFile, user);
2630
}
2731

2832
// 모든 펫 조회

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import cmf.commitField.domain.pet.entity.Pet;
44
import cmf.commitField.domain.pet.repository.PetRepository;
5+
import cmf.commitField.domain.user.entity.User;
56
import cmf.commitField.global.aws.s3.S3Service;
67
import lombok.RequiredArgsConstructor;
78
import org.springframework.stereotype.Service;
@@ -20,15 +21,15 @@ public class PetService {
2021
private final S3Service s3Service;
2122

2223
// 새로운 펫 생성
23-
public Pet createPet(String name, MultipartFile imageFile) throws IOException {
24+
public Pet createPet(String name, MultipartFile imageFile, User user) throws IOException {
2425

2526
// ✅ S3 업로드 로직 추가
2627
String imageUrl = null;
2728
if (imageFile != null && !imageFile.isEmpty()) {
2829
imageUrl = s3Service.uploadFile(imageFile, "pet-images");
2930
}
3031
Random random = new Random();
31-
Pet pet = new Pet(random.nextInt(3), name, imageUrl);
32+
Pet pet = new Pet(random.nextInt(3), name, imageUrl, user);
3233
return petRepository.save(pet);
3334
}
3435

src/main/java/cmf/commitField/domain/season/controller/ApiV1SeasonController.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44
import cmf.commitField.domain.season.service.SeasonService;
55
import cmf.commitField.global.scheduler.SeasonScheduler;
66
import lombok.RequiredArgsConstructor;
7-
import org.springframework.web.bind.annotation.*;
7+
import org.springframework.web.bind.annotation.GetMapping;
8+
import org.springframework.web.bind.annotation.PostMapping;
9+
import org.springframework.web.bind.annotation.RequestMapping;
10+
import org.springframework.web.bind.annotation.RestController;
811

9-
import javax.swing.*;
1012
import java.time.LocalDateTime;
1113

1214
@RestController
@@ -20,7 +22,7 @@ public class ApiV1SeasonController {
2022
@PostMapping
2123
public Season createSeason() {
2224
String name = "2025 1분기";
23-
LocalDateTime start = LocalDateTime.of(2025, 1, 1, 0, 0, 0);
25+
LocalDateTime start = LocalDateTime.of(2024, 12, 1, 0, 0, 0);
2426
LocalDateTime end = LocalDateTime.of(2025, 2, 28, 23, 59, 59);
2527

2628
return seasonService.createNewSeason(name, start, end);

src/main/java/cmf/commitField/domain/user/repository/UserRepository.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@
88
public interface UserRepository extends JpaRepository<User, Long> {
99
Optional<User> findByUsername(String username);
1010
Optional<User> findById(Long id);
11+
Optional<User> findByEmail(String email);
1112
}

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,9 @@ public OAuth2User loadUser(OAuth2UserRequest userRequest) {
6464
public Optional<User> getUserById(Long userId) {
6565
return userRepository.findById(userId);
6666
}
67+
68+
// email로 user 조회
69+
public Optional<User> getUserByEmail(String email) {
70+
return userRepository.findByEmail(email);
71+
}
6772
}

0 commit comments

Comments
 (0)