user crud event handler to auth user
This commit is contained in:
@@ -1,19 +0,0 @@
|
||||
package io.bluemoon.authorizationserver2.controller;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
public class SignController {
|
||||
|
||||
@PostMapping("/middleWare")
|
||||
@ResponseBody
|
||||
private String mid(@RequestBody Map request, @RequestHeader Map header) {
|
||||
System.out.println(request);
|
||||
System.out.println(header);
|
||||
return "a";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package io.bluemoon.authorizationserver2.service.user;
|
||||
|
||||
import io.bluemoon.authorizationserver2.domain.user.User;
|
||||
|
||||
public interface UserService {
|
||||
|
||||
User createOAuthUser(User user);
|
||||
|
||||
User updateOAuthUser(User user);
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package io.bluemoon.authorizationserver2.service.user;
|
||||
|
||||
import io.bluemoon.authorizationserver2.domain.user.User;
|
||||
import io.bluemoon.authorizationserver2.domain.user.UserRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@Service
|
||||
public class UserServiceImpl implements UserService{
|
||||
|
||||
private UserRepository userRepository;
|
||||
|
||||
public UserServiceImpl(
|
||||
UserRepository userRepository
|
||||
) {
|
||||
this.userRepository = userRepository;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public User createOAuthUser(User user) {
|
||||
return userRepository.save(user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public User updateOAuthUser(User user) {
|
||||
Optional<User> getUser = userRepository.findById(user.getId());
|
||||
if (getUser.isPresent()) {
|
||||
user.setId(getUser.get().getId());
|
||||
return userRepository.save(user);
|
||||
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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