@Async
@Transactional(propagation = Propagation.REQUIRES_NEW)
public Future<String> processPersonBio(Person person, OrcidOAuthClient clientOrcid){
List<RelPersonApplication> listRelPersonApp = relPersonApplicationRepository.findAllByPersonIsAndLastIsTrueAndOauthAccessTokenIsNotNull(person);
OrcidBio orcidBio = null;
for(RelPersonApplication relPersonApplication: listRelPersonApp){
String orcid = relPersonApplication.getPerson().getOrcid();
OrcidAccessToken orcidAccessToken = new OrcidAccessToken();
orcidAccessToken.setOrcid(orcid);
orcidAccessToken.setAccess_token(relPersonApplication.getOauthAccessToken());
try {
orcidBio = clientOrcid.getOrcidBio(orcidAccessToken);
manageOrcidBio(person, orcidBio);
log.info(String.format("Method processPersonBio: save personBio person.id=[%s]", person.getId()));
break;
} catch (Exception e) {
e.printStackTrace();
log.info(String.format("Method processPersonBio: error personBio person.id=[%s], token=[%s], orcid=[%s]", person.getId(), relPersonApplication.getOauthAccessToken(), orcid));
}
}
person.setNeedUpdate(false);
personRepository.save(person);
return new AsyncResult<String>("OK");
}
OrcidServiceAtomic.java 文件源码
java
阅读 17
收藏 0
点赞 0
评论 0
项目:OrcidHub
作者:
评论列表
文章目录