user crud event handler to auth user
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
package io.bluemoon.testservice.domain.oauth;
|
||||
|
||||
import lombok.Data;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class OAuthUser {
|
||||
|
||||
private String username;
|
||||
private String password;
|
||||
private String name;
|
||||
private String email;
|
||||
private String ResourceId;
|
||||
}
|
||||
@@ -13,7 +13,16 @@ public class UserEventListener {
|
||||
|
||||
@Async
|
||||
@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT, classes = UserServiceImpl.UserCreateEvent.class)
|
||||
public void handle(UserServiceImpl.UserCreateEvent event) throws IOException {
|
||||
public void createUserHandle(UserServiceImpl.UserCreateEvent event) throws IOException {
|
||||
User user = event.getUser();
|
||||
|
||||
|
||||
// oauth
|
||||
}
|
||||
|
||||
@Async
|
||||
@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT, classes = UserServiceImpl.UserUpdateEvent.class)
|
||||
public void updateUserHandle(UserServiceImpl.UserUpdateEvent event) throws IOException {
|
||||
User user = event.getUser();
|
||||
|
||||
// oauth
|
||||
|
||||
@@ -5,4 +5,6 @@ import io.bluemoon.testservice.domain.user.User;
|
||||
public interface UserService {
|
||||
|
||||
User createUser(User user);
|
||||
|
||||
User updateUser(User user);
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@ import org.springframework.context.ApplicationEventPublisher;
|
||||
import org.springframework.context.ApplicationEventPublisherAware;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@Service
|
||||
public class UserServiceImpl implements UserService, ApplicationEventPublisherAware {
|
||||
|
||||
@@ -25,6 +27,18 @@ public class UserServiceImpl implements UserService, ApplicationEventPublisherAw
|
||||
public User createUser(User user) {
|
||||
|
||||
userRepository.save(user);
|
||||
eventPublisher.publishEvent(new UserCreateEvent(user));
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public User updateUser(User user) {
|
||||
Optional<User> optionalUser = userRepository.findById(user.getId());
|
||||
if (optionalUser.isPresent()) {
|
||||
user.setId(optionalUser.get().getId());
|
||||
userRepository.save(user);
|
||||
eventPublisher.publishEvent(new UserUpdateEvent(user));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -41,4 +55,13 @@ public class UserServiceImpl implements UserService, ApplicationEventPublisherAw
|
||||
this.user = user;
|
||||
}
|
||||
}
|
||||
|
||||
public static class UserUpdateEvent {
|
||||
@Getter
|
||||
private User user;
|
||||
|
||||
private UserUpdateEvent(@NonNull User user) {
|
||||
this.user = user;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user