Skip to content

Commit 1ebba27

Browse files
authoredMar 11, 2025
Merge pull request #141 from CommitField/feat/#139
feat: ์ƒˆ ํŽซ ๊ธฐ๋Šฅ ์ถ”๊ฐ€๋ฅผ ์œ„ํ•œ ์ฝ”๋“œ ์†Œ๋Ÿ‰ ์ˆ˜์ •
2 parents 84a1943 + 410c518 commit 1ebba27

File tree

7 files changed

+58
-20
lines changed

7 files changed

+58
-20
lines changed
 

โ€Žsrc/main/java/cmf/commitField/domain/pet/controller/PetController.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cmf.commitField.domain.pet.controller;
22

3+
import cmf.commitField.domain.pet.dto.PetsDto;
34
import cmf.commitField.domain.pet.dto.UserPetDto;
45
import cmf.commitField.domain.pet.entity.Pet;
56
import cmf.commitField.domain.pet.service.PetService;
@@ -24,14 +25,21 @@ public class PetController {
2425

2526
// ํ˜„์žฌ ํŽซ ๊ฒฝํ—˜์น˜ ์ƒ์Šน ๋ฐ ์ƒ์Šน ์‹œ ๋ ˆ๋ฒจ์—… ์ฒ˜๋ฆฌ
2627
@GetMapping("/exp")
27-
public ResponseEntity<UserPetDto> getUserTier(@AuthenticationPrincipal CustomOAuth2User oAuth2User){
28-
String username = oAuth2User.getName(); // CustomOAuth2User์˜ getName()์€ user.getUsername()์„ ๋ฐ˜ํ™˜
28+
public ResponseEntity<UserPetDto> getPetExp(@AuthenticationPrincipal CustomOAuth2User oAuth2User){
29+
String username = oAuth2User.getName();
2930

3031
System.out.println("/pet/exp, Username: "+username);
3132
UserPetDto userPetDto = petService.getExpPet(username, 0);
3233
return ResponseEntity.ok(userPetDto);
3334
}
3435

36+
@GetMapping("/getall")
37+
public ResponseEntity<List<PetsDto>> getUserAllPets(@AuthenticationPrincipal CustomOAuth2User oAuth2User){
38+
String username = oAuth2User.getName();
39+
List<PetsDto> userPetDto = petService.getAllPets(username);
40+
return ResponseEntity.ok(userPetDto);
41+
}
42+
3543
// *************************************
3644
// TODO : ์•„๋ž˜๋Š” ํ™•์žฅ ๊ธฐ๋Šฅ, ์ถ”๊ฐ€ ์‹œ ๊ฐœ์„  ํ•„์š”
3745
// *************************************
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package cmf.commitField.domain.pet.dto;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Getter;
6+
import lombok.NoArgsConstructor;
7+
8+
@Builder
9+
@Getter
10+
@NoArgsConstructor
11+
@AllArgsConstructor
12+
public class PetsDto {
13+
private String username;
14+
private long petId;
15+
private String petName;
16+
private int type;
17+
private String grow;
18+
}

โ€Žsrc/main/java/cmf/commitField/domain/pet/repository/PetRepository.java

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

33
import cmf.commitField.domain.pet.entity.Pet;
44
import org.springframework.data.jpa.repository.JpaRepository;
5+
import org.springframework.data.jpa.repository.Query;
6+
import org.springframework.data.repository.query.Param;
57
import org.springframework.stereotype.Repository;
68

79
import java.util.List;
@@ -12,4 +14,7 @@ public interface PetRepository extends JpaRepository<Pet, Long> {
1214
Optional<Pet> findById(Long id);
1315
List<Pet> findByUserEmail(String email);
1416
List<Pet> findByUserUsername(String username);
17+
18+
@Query("SELECT p FROM Pet p WHERE p.user.email = :email ORDER BY p.id DESC")
19+
List<Pet> findLatestPetByUserEmail(@Param("email") String email);
1520
}

โ€Žsrc/main/java/cmf/commitField/domain/pet/service/PetService.java

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cmf.commitField.domain.pet.service;
22

3+
import cmf.commitField.domain.pet.dto.PetsDto;
34
import cmf.commitField.domain.pet.dto.UserPetDto;
45
import cmf.commitField.domain.pet.entity.Pet;
56
import cmf.commitField.domain.pet.entity.PetGrow;
@@ -13,6 +14,7 @@
1314
import org.springframework.web.multipart.MultipartFile;
1415

1516
import java.io.IOException;
17+
import java.util.ArrayList;
1618
import java.util.List;
1719
import java.util.Optional;
1820
import java.util.Random;
@@ -27,11 +29,7 @@ public class PetService {
2729
// ์ƒˆ๋กœ์šด ํŽซ ์ƒ์„ฑ
2830
public Pet createPet(String name, MultipartFile imageFile, User user) throws IOException {
2931

30-
// โœ… S3 ์—…๋กœ๋“œ ๋กœ์ง ์ถ”๊ฐ€
31-
String imageUrl = null;
32-
if (imageFile != null && !imageFile.isEmpty()) {
33-
imageUrl = s3Service.uploadFile(imageFile, "pet-images");
34-
}
32+
3533
Random random = new Random();
3634
Pet pet = new Pet(name, user);
3735
return petRepository.save(pet);
@@ -80,4 +78,23 @@ public void levelUp(Pet pet){
8078
pet.setGrow(PetGrow.getLevelByExp(pet.getExp()));
8179
petRepository.save(pet);
8280
}
81+
82+
//์œ ์ €์˜ ๋ชจ๋“  ํŽซ ์กฐํšŒ
83+
public List<PetsDto> getAllPets(String username){
84+
List<Pet> pets = petRepository.findByUserUsername(username);
85+
List<PetsDto> petsList = new ArrayList<>();
86+
for(Pet pet : pets){
87+
petsList.add(
88+
PetsDto.builder()
89+
.username(username)
90+
.petId(pet.getId())
91+
.petName(pet.getName())
92+
.type(pet.getType())
93+
.grow(String.valueOf(pet.getGrow()))
94+
.build()
95+
);
96+
}
97+
98+
return petsList;
99+
}
83100
}

โ€Žsrc/main/java/cmf/commitField/domain/user/service/UserService.java

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -68,20 +68,10 @@ public List<UserRegacyDto> showUserRegacy(String username) {
6868
return userRegacyDtos;
6969
}
7070

71-
@Transactional
7271
public UserInfoDto showUserInfo(String username) {
7372
User user = userRepository.findByUsername(username).get();
74-
Pet pet = petRepository.findByUserEmail(user.getEmail()).get(0); // TODO: ํ™•์žฅ์‹œ ์ฝ”๋“œ ์ˆ˜์ • ํ•„์š”
73+
Pet pet = petRepository.findLatestPetByUserEmail(user.getEmail()).get(0);
7574

76-
// TODO: info ์กฐํšŒ ์‹œ user commit ์ˆ˜ ์ฆ‰์‹œ ๋ฐ˜์˜์€ ๋กœ์ง ๋ณ€๊ฒฝ์ด ํ•„์š”
77-
// long totalCommit = totalCommitService.getTotalCommitCount(username).getTotalCommitContributions();
78-
// long seasonCommit = totalCommitService.getSeasonCommits(username,
79-
// LocalDateTime.of(2025,03,01,00,00),
80-
// LocalDateTime.of(2025,05,31,23,59)
81-
// ).getTotalCommitContributions();
82-
//
83-
// user.setCommitCount(totalCommit);
84-
// TODO๋ธ”๋Ÿญ ์ข…๋ฃŒ
8575

8676
// ์œ ์ € ์ •๋ณด ์กฐํšŒ ํ›„ active ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋ฉด Redis์— ์ถ”๊ฐ€, ์ปค๋ฐ‹ ์ถ”์  ์‹œ์ž‘
8777
String key = "commit_active:" + user.getUsername();

โ€Žsrc/main/resources/application-dev.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ spring:
77
jpa:
88
open-in-view: false
99
hibernate:
10-
ddl-auto: create
10+
ddl-auto: update
1111
autoconfigure: # ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•  ๋•Œ๋Š” Redis์™€ Session ์„ค์ •์„ ์ œ์™ธ
1212
exclude:
1313
- org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration

โ€Žsrc/main/resources/application.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ spring:
1818
jpa:
1919
open-in-view: false
2020
hibernate:
21-
ddl-auto: create
21+
ddl-auto: update
2222
properties:
2323
hibernate:
2424
default_batch_fetch_size: 100

0 commit comments

Comments
 (0)
Please sign in to comment.