return userRepository.findByTenantIdAndUserId(userVO.getTenantId(), userVO.getUserId())
.flatMap(c -> Mono.just(Optional.of(c))).defaultIfEmpty(Optional.empty())
.flatMap(option -> {
if(option.isPresent()){
User user = option.get();
if(user.getUserActive()){
return Mono.error(new RuntimeException(Constant.USRENAME_HAVE_ACTIVE));
}
user.setUserActive(true);
return userRepository.save(user).flatMap(e->{
log.info("==============注册成功!重定向");
response.getHeaders().setLocation(URI.create(applicationAddress+"/register?token="+token));
response.setStatusCode(HttpStatus.MOVED_PERMANENTLY);
return response.setComplete();
});
}
return Mono.empty();
});