Skip to content

Commit bfce2ef

Browse files
committed
fix: 병합 충돌 해결-2
2 parents 13ce762 + cc77419 commit bfce2ef

File tree

6 files changed

+68
-14
lines changed

6 files changed

+68
-14
lines changed

src/main/java/cmf/commitField/domain/commit/sinceCommit/service/CommitCacheService.java renamed to src/main/java/cmf/commitField/domain/commit/scheduler/CommitCacheService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cmf.commitField.domain.commit.sinceCommit.service;
1+
package cmf.commitField.domain.commit.scheduler;
22

33
import lombok.RequiredArgsConstructor;
44
import lombok.extern.slf4j.Slf4j;
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package cmf.commitField.domain.commit.scheduler;
2+
3+
import org.springframework.web.bind.annotation.GetMapping;
4+
import org.springframework.web.bind.annotation.RequestMapping;
5+
import org.springframework.web.bind.annotation.RestController;
6+
7+
@RestController
8+
@RequestMapping("/api/commit")
9+
public class CommitController {
10+
@GetMapping("/get")
11+
public void getUserCommits(){
12+
// lastCommitted에서부터 새로 들어온 커밋 수를 검사해 반환한다
13+
// commitCount에서 새로 추가된 만큼의 커밋 수를 반환함
14+
// get이 실행되면 redis의 Active유저에 상태를 추가한다
15+
//
16+
}
17+
18+
public void updateUserCommitStatus(){
19+
// 커밋 수에 변화가 있을 때 실행되는 메서드
20+
// 연속 커밋 반영, 펫 반영, 랭크 반영
21+
}
22+
23+
}

src/main/java/cmf/commitField/domain/commit/scheduler/CommitScheduler.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package cmf.commitField.domain.commit.scheduler;
22

3-
import cmf.commitField.domain.commit.sinceCommit.service.CommitCacheService;
43
import cmf.commitField.domain.commit.totalCommit.service.TotalCommitService;
54
import cmf.commitField.domain.user.entity.User;
65
import cmf.commitField.domain.user.repository.UserRepository;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
@Getter
66
public enum PetGrowthLevel {
7+
LEVEL_0(0),
78
LEVEL_1(150),
89
LEVEL_2(300);
910

@@ -19,7 +20,7 @@ public int getRequiredExp() {
1920

2021
// 현재 경험치에 맞는 레벨 찾기
2122
public static PetGrowthLevel getLevelByExp(int exp) {
22-
PetGrowthLevel currentLevel = LEVEL_1;
23+
PetGrowthLevel currentLevel = LEVEL_0;
2324
for (PetGrowthLevel level : values()) {
2425
if (exp >= level.getRequiredExp()) {
2526
currentLevel = level;
Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,33 @@
11
package cmf.commitField.domain.season.entity;
22

3+
import lombok.Getter;
4+
5+
@Getter
36
public enum Rank {
4-
SEED, // 씨앗
5-
SPROUT, // 새싹
6-
FLOWER, // 꽃
7-
FRUIT, // 열매
8-
TREE // 나무
9-
}
7+
SEED(94), // 씨앗
8+
SPROUT(188), // 새싹
9+
FLOWER(282), // 꽃
10+
FRUIT(375), // 열매
11+
TREE(376); // 나무
12+
13+
private final int requiredExp;
14+
15+
Rank(int requiredExp) {
16+
this.requiredExp = requiredExp;
17+
}
18+
19+
public int getRequiredExp() {
20+
return requiredExp;
21+
}
22+
23+
// 현재 경험치에 맞는 레벨 찾기
24+
public static Rank getLevelByExp(int exp) {
25+
Rank currentLevel = SEED;
26+
for (Rank level : values()) {
27+
if (exp >= level.getRequiredExp()) {
28+
currentLevel = level;
29+
}
30+
}
31+
return currentLevel;
32+
}
33+
}

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

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

3-
import cmf.commitField.domain.commit.sinceCommit.service.CommitCacheService;
3+
import cmf.commitField.domain.commit.scheduler.CommitCacheService;
44
import cmf.commitField.domain.commit.totalCommit.service.TotalCommitService;
55
import cmf.commitField.domain.pet.entity.Pet;
66
import cmf.commitField.domain.pet.repository.PetRepository;
7+
import cmf.commitField.domain.season.entity.Rank;
78
import cmf.commitField.domain.user.entity.CustomOAuth2User;
89
import cmf.commitField.domain.user.entity.User;
910
import cmf.commitField.domain.user.repository.UserRepository;
@@ -29,6 +30,7 @@ public class CustomOAuth2UserService extends DefaultOAuth2UserService {
2930
private final CommitCacheService commitCacheService;
3031
private final TotalCommitService totalCommitService;
3132

33+
3234
@Override
3335
public OAuth2User loadUser(OAuth2UserRequest userRequest) {
3436
OAuth2User oauthUser = super.loadUser(userRequest);
@@ -61,15 +63,20 @@ public OAuth2User loadUser(OAuth2UserRequest userRequest) {
6163
user = new User(username, email, name, avatarUrl,true, new ArrayList<>(), new ArrayList<>(), new ArrayList<>());
6264
userRepository.save(user);
6365

64-
pet = new Pet("알알", user); // 변경 필요
66+
pet = new Pet("알알", user); // TODO: 변경 필요
6567
petRepository.save(pet);
6668

67-
long commitCount;
69+
// 유저 펫, 커밋 카운트, 랭크를 서렂ㅇ
6870
user.addPets(pet);
6971
user.setCommitCount(totalCommitService.getTotalCommitCount(user.getUsername()).getTotalCommitContributions());
72+
user.setRank(Rank.getLevelByExp((int) totalCommitService.getSeasonCommits(
73+
user.getUsername(),
74+
LocalDateTime.of(2025,03,01,00,00),
75+
LocalDateTime.now()).getTotalCommitContributions()
76+
)
77+
);
7078

71-
72-
// 회원가입한 유저는 커밋 기록에 상관없이 Redis에 입력해둔다.
79+
// 로그인하거나 회원가입한 유저는 커밋 기록에 상관없이 Redis에 입력해둔다.
7380
commitCacheService.updateCachedCommitCount(user.getUsername(),0);
7481
}
7582

0 commit comments

Comments
 (0)