8
8
import cmf .commitField .domain .season .entity .Season ;
9
9
import cmf .commitField .domain .season .service .SeasonService ;
10
10
import cmf .commitField .domain .user .entity .CustomOAuth2User ;
11
+ import cmf .commitField .domain .user .entity .Tier ;
12
+ import cmf .commitField .domain .user .entity .TierRegacy ;
11
13
import cmf .commitField .domain .user .entity .User ;
14
+ import cmf .commitField .domain .user .repository .TierRegacyRepository ;
12
15
import cmf .commitField .domain .user .repository .UserRepository ;
13
16
import jakarta .servlet .http .HttpServletRequest ;
14
17
import jakarta .servlet .http .HttpSession ;
32
35
public class CustomOAuth2UserService extends DefaultOAuth2UserService {
33
36
private final UserRepository userRepository ;
34
37
private final PetRepository petRepository ;
38
+ private final TierRegacyRepository tierRegacyRepository ;
35
39
private final HttpServletRequest request ; // HttpServletRequest๋ฅผ ์ฃผ์
๋ฐ์.
36
40
private final CommitCacheService commitCacheService ;
37
41
private final TotalCommitService totalCommitService ;
@@ -59,6 +63,8 @@ public OAuth2User loadUser(OAuth2UserRequest userRequest) {
59
63
60
64
User user ;
61
65
Pet pet ;
66
+ TierRegacy tierRegacy ;
67
+
62
68
if (existingUser .isPresent ()) {
63
69
//์ ์ ์ ๋ณด๊ฐ ์๋ค๋ฉด ์ ์ ์ ๋ณด๋ฅผ ์ป์ด์จ๋ค.
64
70
user = existingUser .get ();
@@ -75,7 +81,10 @@ public OAuth2User loadUser(OAuth2UserRequest userRequest) {
75
81
pet = new Pet ("์์" , user ); // TODO: ๋ณ๊ฒฝ ํ์
76
82
petRepository .save (pet );
77
83
78
- // ์ ์ ํซ, ์ปค๋ฐ ์นด์ดํธ, ๋ญํฌ๋ฅผ ์ค์
84
+ tierRegacy = new TierRegacy (user );
85
+ tierRegacy .setSeason ("winter" );
86
+
87
+ // ์ ์ ํซ, ์ปค๋ฐ ์นด์ดํธ, ๋ญํฌ, ์ง์ ์์ฆ ๋ญํฌ๋ฅผ ์ค์
79
88
user .addPets (pet );
80
89
user .setCommitCount (totalCommitService .getTotalCommitCount (user .getUsername ()).getTotalCommitContributions ());
81
90
@@ -85,9 +94,17 @@ public OAuth2User loadUser(OAuth2UserRequest userRequest) {
85
94
LocalDateTime .of (2025 ,05 ,31 ,23 ,59 )
86
95
).getTotalCommitContributions ();
87
96
97
+ long prevSeasonCommitCount = totalCommitService .getSeasonCommits (
98
+ user .getUsername (),
99
+ LocalDateTime .of (2024 ,12 ,01 ,00 ,00 ),
100
+ LocalDateTime .of (2025 ,02 ,28 ,23 ,59 )
101
+ ).getTotalCommitContributions ();
102
+
88
103
user .setSeasonCommitCount (seasonCommitCount );
104
+ tierRegacy .setTier (Tier .getLevelByExp (prevSeasonCommitCount ));
105
+ tierRegacyRepository .save (tierRegacy );
89
106
90
- user .setTier (User . Tier .getLevelByExp (seasonCommitCount ));
107
+ user .setTier (Tier .getLevelByExp (seasonCommitCount ));
91
108
userRepository .save (user );
92
109
// ๋ก๊ทธ์ธํ๊ฑฐ๋ ํ์๊ฐ์
ํ ์ ์ ๋ ์ปค๋ฐ ๊ธฐ๋ก์ ์๊ด์์ด Redis์ ์
๋ ฅํด๋๋ค.
93
110
commitCacheService .updateCachedCommitCount (user .getUsername (),0 );
0 commit comments