1515import umc7th .bulk .character .repository .BulkCharacterRepository ;
1616import umc7th .bulk .global .error .GeneralErrorCode ;
1717import umc7th .bulk .global .error .exception .CustomException ;
18+ import umc7th .bulk .group .entity .Group ;
19+ import umc7th .bulk .group .repository .GroupRepository ;
1820import umc7th .bulk .user .annotation .CurrentUser ;
1921import umc7th .bulk .user .domain .User ;
2022import umc7th .bulk .user .exception .UserErrorCode ;
2123import umc7th .bulk .user .exception .UserException ;
2224import umc7th .bulk .user .principal .PrincipalDetails ;
2325import umc7th .bulk .user .repository .UserRepository ;
2426
27+ import java .time .LocalDateTime ;
28+
2529import static umc7th .bulk .user .dto .UserDTO .*;
2630
2731@ Service
@@ -32,6 +36,7 @@ public class UserService {
3236 private final WebClient webClient ;
3337 private final OAuth2AuthorizedClientService authorizedClientService ;
3438 private final BulkCharacterRepository bulkCharacterRepository ;
39+ private final GroupRepository groupRepository ;
3540
3641 private static final String UNLINK_URL = "https://kapi.kakao.com/v1/user/unlink" ;
3742
@@ -54,6 +59,16 @@ public User saveUser(String kakaoId, String email, String gender, String birthye
5459 .build ();
5560 bulkCharacterRepository .save (bulkCharacter );
5661
62+ // 기존 그룹 중 10명 미만인 그룹 찾기 (없으면 새 그룹 생성)
63+ Group group = groupRepository .findGroupWithSpace ().orElseGet (() -> {
64+ Group newGroup = Group .builder ()
65+ .groupName ("Group_" + System .currentTimeMillis ()) // 유니크한 그룹 이름 생성
66+ .currentStage (1 )
67+ .endDate (LocalDateTime .now ().plusDays (7 )) // 그룹 종료일 7일 후 설정
68+ .build ();
69+ return groupRepository .save (newGroup );
70+ });
71+
5772 User user = User .builder ()
5873 .kakaoId (kakaoId )
5974 .email (email )
@@ -67,8 +82,11 @@ public User saveUser(String kakaoId, String email, String gender, String birthye
6782 .curCarbos (0L )
6883 .curProteins (0L )
6984 .curFats (0L )
85+ .group (group )
7086 .build ();
7187
88+ group .addMember (user );
89+
7290 return userRepository .save (user );
7391 }
7492
0 commit comments