Skip to content

Commit cddfb81

Browse files
authored
Merge pull request #99 from CommitField/feat/#97
fix: pr ์˜ค๋ฅ˜ ์ˆ˜์ •
2 parents 1973620 + a5b1e03 commit cddfb81

File tree

7 files changed

+64
-50
lines changed

7 files changed

+64
-50
lines changed

โ€Žsrc/main/java/cmf/commitField/domain/commit/scheduler/CommitScheduler.javaโ€Ž

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import org.springframework.stereotype.Service;
1111

1212
import java.time.LocalDateTime;
13-
import java.util.List;
1413
import java.util.Set;
1514
import java.util.concurrent.TimeUnit;
1615
import java.util.concurrent.atomic.AtomicInteger;
@@ -30,25 +29,19 @@ public void updateUserCommits() {
3029
log.info("๐Ÿ” updateUserCommits ์‹คํ–‰์ค‘");
3130
int count = counter.incrementAndGet();
3231

33-
if (count % 10 == 0) {
34-
List<User> allUsers = userRepository.findAll();
35-
log.info("๐Ÿ” All User Count: {}", allUsers.size());
32+
// ์ตœ๊ทผ ๋กœ๊ทธ์ธ์ด ์ด๋ฃจ์–ด์ง„ (์ ‘๊ทผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€) ์œ ์ €๋งŒ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ปค๋ฐ‹ ์ˆ˜ ๋ณ€๊ฒฝ ์ถ”์  ํ›„ ๊ฐฑ์‹ 
33+
// ์ตœ๊ทผ ๋กœ๊ทธ์ธ์ด ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์€ ์œ ์ €๋Š” ํŽ˜์ด์ง€ ์ตœ์ดˆ ๋กœ๊ทธ์ธ ์‹œ ๊ฐฑ์‹ ์ด ๋ฐœ์ƒํ•œ๋‹ค.
34+
Set<String> activeUsers = redisTemplate.keys("commit_active:*");
35+
log.info("๐Ÿ” Active User Count: {}", activeUsers.size());
3636

37-
for (User user : allUsers) {
37+
for (String key : activeUsers) {
38+
String username = key.replace("commit_active:", "");
39+
User user = userRepository.findByUsername(username).orElse(null);
40+
if (user != null) {
3841
processUserCommit(user);
3942
}
40-
} else {
41-
Set<String> activeUsers = redisTemplate.keys("commit_active:*");
42-
log.info("๐Ÿ” Active User Count: {}", activeUsers.size());
43-
44-
for (String key : activeUsers) {
45-
String username = key.replace("commit_active:", "");
46-
User user = userRepository.findByUsername(username).orElse(null);
47-
if (user != null) {
48-
processUserCommit(user);
49-
}
50-
}
5143
}
44+
5245
}
5346

5447
// ๐Ÿ”น ์œ ์ € ์ปค๋ฐ‹ ๊ฒ€์‚ฌ ๋ฐ ๋ฐ˜์˜
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package cmf.commitField.domain.commit.scheduler;
2+
3+
import org.springframework.context.ApplicationEvent;
4+
5+
public class CommitUpdateEvent extends ApplicationEvent {
6+
private final Long userId;
7+
private final int commitCount;
8+
9+
public CommitUpdateEvent(Object source, Long userId, int commitCount) {
10+
super(source);
11+
this.userId = userId;
12+
this.commitCount = commitCount;
13+
}
14+
15+
public Long getUserId() {
16+
return userId;
17+
}
18+
19+
public int getCommitCount() {
20+
return commitCount;
21+
}
22+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package cmf.commitField.domain.commit.scheduler;
2+
3+
import org.springframework.context.event.EventListener;
4+
import org.springframework.stereotype.Service;
5+
6+
@Service
7+
public class CommitUpdateListener {
8+
9+
@EventListener
10+
public void handleCommitUpdateEvent(CommitUpdateEvent event) {
11+
// ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ๋กœ์ง
12+
Long userId = event.getUserId();
13+
int commitCount = event.getCommitCount();
14+
15+
// ์ปค๋ฐ‹ ๊ฐฑ์‹  ํ›„์— ๋‹ค๋ฅธ ์„œ๋น„์Šค์—์„œ ํ•„์š”ํ•œ ์ž‘์—… ์ˆ˜ํ–‰ (์˜ˆ: DB ์—…๋ฐ์ดํŠธ, ์ƒํƒœ ๊ฐฑ์‹  ๋“ฑ)
16+
System.out.println("User ID: " + userId + " has updated " + commitCount + " commits.");
17+
}
18+
}

โ€Žsrc/main/java/cmf/commitField/domain/commit/scheduler/CommitUpdateService.javaโ€Ž

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import cmf.commitField.domain.user.entity.User;
77
import cmf.commitField.domain.user.repository.UserRepository;
88
import lombok.RequiredArgsConstructor;
9+
import org.springframework.context.ApplicationEventPublisher;
910
import org.springframework.stereotype.Service;
1011

1112
import java.time.LocalDateTime;
@@ -17,6 +18,8 @@ public class CommitUpdateService {
1718
private final UserRepository userRepository;
1819
private final PetService petService;
1920

21+
private final ApplicationEventPublisher eventPublisher;
22+
2023
public UserInfoDto updateUserTier(String username){
2124
User user = userRepository.findByUsername(username).get();
2225
long seasonCommitCount;
@@ -36,15 +39,4 @@ public UserInfoDto updateUserTier(String username){
3639
.tier(user.getTier().name())
3740
.build();
3841
}
39-
40-
public User updateUserPet(String username){
41-
User user = userRepository.findByUsername(username).get();
42-
43-
//์ถ”๊ฐ€๋œ ํŽซ ๊ฒฝํ—˜์น˜
44-
long totalcommits;
45-
totalcommits = totalCommitService.getUpdateCommits(user.getUsername(), user.getCreatedAt(), LocalDateTime.now()).getTotalCommitContributions();
46-
47-
petService.getExpPet(user, (int)totalcommits);
48-
return user;
49-
}
5042
}

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import cmf.commitField.domain.pet.dto.UserPetDto;
44
import cmf.commitField.domain.pet.entity.Pet;
55
import cmf.commitField.domain.pet.service.PetService;
6-
import cmf.commitField.domain.user.dto.UserInfoDto;
76
import cmf.commitField.domain.user.entity.CustomOAuth2User;
87
import cmf.commitField.domain.user.entity.User;
98
import cmf.commitField.domain.user.service.CustomOAuth2UserService;
@@ -29,7 +28,7 @@ public ResponseEntity<UserPetDto> getUserTier(@AuthenticationPrincipal CustomOAu
2928
String username = oAuth2User.getName(); // CustomOAuth2User์˜ getName()์€ user.getUsername()์„ ๋ฐ˜ํ™˜
3029

3130
System.out.println("/pet/exp, Username: "+username);
32-
UserPetDto userPetDto = petService.getExpPet(username);
31+
UserPetDto userPetDto = petService.getExpPet(username, 0);
3332
return ResponseEntity.ok(userPetDto);
3433
}
3534

@@ -67,7 +66,7 @@ public void deletePet(@PathVariable Long petId) {
6766
}
6867

6968
public void getExpPet(User user, int commitCount){
70-
petService.getExpPet(user, commitCount);
69+
petService.getExpPet(user.getUsername(), commitCount);
7170

7271
}
7372
}

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

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

33

4-
import cmf.commitField.domain.pet.dto.UserPetDto;
54
import cmf.commitField.domain.pet.entity.Pet;
65
import cmf.commitField.domain.pet.service.PetService;
76
import cmf.commitField.domain.pet.service.UserPetService;
87
import cmf.commitField.domain.user.entity.User;
98
import cmf.commitField.domain.user.service.CustomOAuth2UserService;
109
import cmf.commitField.global.globalDto.GlobalResponse;
1110
import lombok.RequiredArgsConstructor;
12-
import org.springframework.web.bind.annotation.*;
11+
import org.springframework.web.bind.annotation.GetMapping;
12+
import org.springframework.web.bind.annotation.PathVariable;
13+
import org.springframework.web.bind.annotation.RequestMapping;
14+
import org.springframework.web.bind.annotation.RestController;
1315

1416
import java.util.List;
1517

@@ -22,15 +24,7 @@ public class UserPetController {
2224
private final CustomOAuth2UserService customOAuth2UserService;
2325
private final PetService petService;
2426

25-
// ์œ ์ €๊ฐ€ ํŽซ์„ ๋ถ€ํ™”
26-
@PostMapping("/hatch")
27-
public GlobalResponse<UserPetDto> hatchPet(@RequestParam Long userId, @RequestParam Long petId) {
28-
User user = customOAuth2UserService.getUserById(userId).orElse(null);
29-
Pet pet = petService.getPetById(petId);
30-
UserPetDto userPetDto = new UserPetDto(userPetService.hatchPet(user, pet));
31-
return GlobalResponse.success(userPetDto);
32-
}
33-
27+
// TODO: ๊ธฐ๋Šฅ ํ™•์žฅ์‹œ ์ถ”๊ฐ€ ์˜ˆ์ •
3428
// ์œ ์ €์˜ ๋„๊ฐ ์กฐํšŒ (๋ณด์œ ํ•œ ํŽซ ๋ชฉ๋ก)
3529
@GetMapping("/collection/{userId}")
3630
public GlobalResponse<List<Pet>> getUserPetCollection(@PathVariable Long userId) {
Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,18 @@
11
package cmf.commitField.domain.pet.dto;
22

3-
import cmf.commitField.domain.pet.entity.UserPet;
3+
import lombok.AllArgsConstructor;
44
import lombok.Builder;
55
import lombok.Getter;
6+
import lombok.NoArgsConstructor;
67

78
@Builder
89
@Getter
10+
@NoArgsConstructor
11+
@AllArgsConstructor
912
public class UserPetDto {
1013
private String username;
11-
private Long petId;
14+
private long petId;
1215
private String petName;
1316
private String grow;
1417
private long exp;
15-
16-
public UserPetDto(UserPet userPet) {
17-
this.username = userPet.getUser().getUsername();
18-
this.petId = userPet.getPet().getId();
19-
this.petName = userPet.getPet().getName();
20-
this.isHatched = userPet.isHatched();
21-
}
2218
}

0 commit comments

Comments
ย (0)