11package eureca .capstone .project .admin .user .service .Impl ;
22
33import eureca .capstone .project .admin .common .exception .custom .UserNotFoundException ;
4+ import eureca .capstone .project .admin .common .service .RedisService ;
45import eureca .capstone .project .admin .common .util .StatusManager ;
56import eureca .capstone .project .admin .user .dto .request .UpdateUserRequestDto ;
67import eureca .capstone .project .admin .user .dto .response .*;
1516import org .springframework .stereotype .Service ;
1617
1718import java .util .List ;
19+ import java .util .concurrent .TimeUnit ;
1820
1921@ Slf4j
2022@ Service
@@ -23,6 +25,7 @@ public class UserServiceImpl implements UserService {
2325
2426 private final UserRepository userRepository ;
2527 private final StatusManager statusManager ;
28+ private final RedisService redisService ;
2629
2730 @ Override
2831 public UserPageResponseDto getUserList (String keyword , Pageable pageable ) {
@@ -47,6 +50,14 @@ public UpdateUserResponseDto updateUserStatus(Long userId, UpdateUserRequestDto
4750 if (request .getIsBanned ()){ // 차단 요청
4851 user .updateUserStatus (statusManager .getStatus ("USER" , "BANNED" ));
4952 log .info ("[updateUserStatus] 사용자 차단: {}" , user .getStatus ().getCode ());
53+
54+ try {
55+ String key = "BlackListUser:" + user .getUserId ();
56+ redisService .setValue (key , "restricted" , 1 , TimeUnit .HOURS );
57+ log .info ("[updateUserStatus] 사용자 ID {}를 Redis 블랙리스트에 추가했습니다. (TTL: 1시간)" , user .getUserId ());
58+ } catch (Exception e ) {
59+ log .error ("[updateUserStatus] Redis에 블랙리스트 사용자 저장 중 오류 발생: {}" , e .getMessage ());
60+ }
5061 }
5162 else { // 활성화 요청
5263 user .updateUserStatus (statusManager .getStatus ("USER" , "ACTIVE" ));
0 commit comments