Skip to content

Commit 664c19d

Browse files
authored
Merge pull request #144 from CommitField/feat/#139
feat: ์ƒˆ ํŽซ ์ถ”๊ฐ€๊ธฐ๋Šฅ ์„ค์ •
2 parents 38b32c4 + 7aec36b commit 664c19d

File tree

6 files changed

+33
-21
lines changed

6 files changed

+33
-21
lines changed

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

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,9 @@
88
import cmf.commitField.domain.user.entity.User;
99
import cmf.commitField.domain.user.service.CustomOAuth2UserService;
1010
import lombok.RequiredArgsConstructor;
11-
import org.springframework.http.MediaType;
1211
import org.springframework.http.ResponseEntity;
1312
import org.springframework.security.core.annotation.AuthenticationPrincipal;
1413
import org.springframework.web.bind.annotation.*;
15-
import org.springframework.web.multipart.MultipartFile;
1614

1715
import java.util.List;
1816

@@ -45,14 +43,15 @@ public ResponseEntity<List<PetsDto>> getUserAllPets(@AuthenticationPrincipal Cus
4543
// *************************************
4644

4745
// ์ƒˆ๋กœ์šด ํŽซ ์ถ”๊ฐ€
48-
@PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
49-
public Pet createPet(
50-
@RequestParam String email,
51-
@RequestParam String name,
52-
@RequestPart(value = "imageFile") MultipartFile imageFile
53-
) throws Exception {
54-
User user = userService.getUserByEmail(email).get();
55-
return petService.createPet(name, imageFile, user);
46+
@PostMapping("/new")
47+
public ResponseEntity<Pet> createPet(@AuthenticationPrincipal CustomOAuth2User oAuth2User) throws Exception {
48+
String username = oAuth2User.getName();
49+
Pet pet = petService.createPet("์•Œ์•Œ", username);
50+
if(pet == null){
51+
//์‚ฌ์šฉ์ž๊ฐ€ ํ˜„์žฌ ํŽซ์ด GROWN ์ƒํƒœ๊ฐ€ ์•„๋‹Œ๋ฐ๋„ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ์š”์ฒญํ•œ ๊ฒฝ์šฐ
52+
ResponseEntity.badRequest();
53+
}
54+
return ResponseEntity.ok(pet);
5655
}
5756

5857
// ๋ชจ๋“  ํŽซ ์กฐํšŒ

โ€Žsrc/main/java/cmf/commitField/domain/pet/entity/PetGrow.javaโ€Ž

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
@Getter
66
public enum PetGrow {
7-
//FIXME: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์ˆ˜์ •, ์ฐจํ›„ 15/30์œผ๋กœ ๋ณ€๊ฒฝ ํ•„์š”
7+
//FIXME: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์ˆ˜์ •, ์ฐจํ›„ 150/300์œผ๋กœ ๋ณ€๊ฒฝ ํ•„์š”
88
EGG(0),
9-
HATCH(20),
10-
GROWN(40);
9+
HATCH(5),
10+
GROWN(10);
1111

1212
private final int requiredExp;
1313

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,6 @@ public interface PetRepository extends JpaRepository<Pet, Long> {
1717

1818
@Query("SELECT p FROM Pet p WHERE p.user.email = :email ORDER BY p.id DESC")
1919
List<Pet> findLatestPetByUserEmail(@Param("email") String email);
20+
@Query("SELECT p FROM Pet p WHERE p.user.username = :username ORDER BY p.id DESC")
21+
List<Pet> findLatestPetByUserUsername(@Param("username") String username);
2022
}

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

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import lombok.RequiredArgsConstructor;
1212
import org.springframework.stereotype.Service;
1313
import org.springframework.transaction.annotation.Transactional;
14-
import org.springframework.web.multipart.MultipartFile;
1514

1615
import java.io.IOException;
1716
import java.util.ArrayList;
@@ -27,12 +26,15 @@ public class PetService {
2726
private final S3Service s3Service;
2827

2928
// ์ƒˆ๋กœ์šด ํŽซ ์ƒ์„ฑ
30-
public Pet createPet(String name, MultipartFile imageFile, User user) throws IOException {
31-
32-
29+
public Pet createPet(String petname, String username) throws IOException {
3330
Random random = new Random();
34-
Pet pet = new Pet(name, user);
35-
return petRepository.save(pet);
31+
User user = userRepository.findByUsername(username).get();
32+
Pet pet = petRepository.findLatestPetByUserUsername(username).get(0);
33+
if(pet.getGrow() != PetGrow.GROWN){
34+
return null;
35+
}
36+
Pet newPet = new Pet("์•Œ์•Œ", user);
37+
return petRepository.save(newPet);
3638
}
3739

3840
// ๋ชจ๋“  ํŽซ ์กฐํšŒ
@@ -55,7 +57,7 @@ public void deletePet(Long petId) {
5557
@Transactional
5658
public UserPetDto getExpPet(String username, long commitCount) {
5759
User user = userRepository.findByUsername(username).get();
58-
Pet pet = user.getPets().get(0);
60+
Pet pet = petRepository.findLatestPetByUserUsername(username).get(0);
5961
pet.addExp(commitCount); // ๊ฒฝํ—˜์น˜ ์ฆ๊ฐ€
6062
petRepository.save(pet);
6163

โ€Žsrc/main/java/cmf/commitField/domain/user/controller/UserController.javaโ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public ResponseEntity<UserChatInfoDto> getUserChatInfo(@AuthenticationPrincipal
3333
return ResponseEntity.ok(userChatInfoDto);
3434
}
3535

36-
@GetMapping("/info")
36+
@GetMapping("info")
3737
public ResponseEntity<UserInfoDto> getUserInfo(@AuthenticationPrincipal CustomOAuth2User oAuth2User){
3838
String username = oAuth2User.getName();
3939

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import cmf.commitField.domain.commit.scheduler.CommitUpdateService;
44
import cmf.commitField.domain.commit.totalCommit.service.TotalCommitService;
55
import cmf.commitField.domain.pet.entity.Pet;
6+
import cmf.commitField.domain.pet.entity.PetGrow;
67
import cmf.commitField.domain.pet.repository.PetRepository;
78
import cmf.commitField.domain.pet.service.PetService;
89
import cmf.commitField.domain.user.dto.UserChatInfoDto;
@@ -73,6 +74,14 @@ public UserInfoDto showUserInfo(String username) {
7374
User user = userRepository.findByUsername(username).get();
7475
Pet pet = petRepository.findLatestPetByUserEmail(user.getEmail()).get(0);
7576

77+
if(user.getTier() != Tier.getLevelByExp(user.getSeasonCommitCount())){
78+
user.setTier(Tier.getLevelByExp(user.getSeasonCommitCount()));
79+
userRepository.save(user);
80+
}
81+
if(pet.getGrow() != PetGrow.getLevelByExp(pet.getExp())){
82+
pet.setGrow(PetGrow.getLevelByExp(pet.getExp()));
83+
petRepository.save(pet);
84+
}
7685

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

0 commit comments

Comments
ย (0)