我是一個使用play framework的新手,我需要一些幫助,因爲我找不到代碼沒有更新存儲在數據庫中的地址的原因。Play Framework 2.4.x在回調函數中執行保存操作
我可以看到指示成功的日誌,但沒有看到反映的數據更改;我不確定代碼是否有問題,或者我需要傳遞一個上下文。
本示例代碼應存儲在數據庫中,然後我們與第三方進行成功通信,異步更新某些字段。
在此先感謝
public Result addUserAddress(final String userId) throws Exception {
Address newAddress = AddressFrom.get();
Address ua = new Address(user,
ThirdPartyApplication.findThirdPartyApplicationById(1));
ua.save();
Promise<Optional<Person>> promise =
restClient.findPersonByEmail(user.getEmail());
promise.onRedeem(person -> {
if (person.isPresent()) {
restClient.addAddress(person.get().id, ua).onRedeem(address -> {
ua.thirdPartyAddressId = String.valueOf(address.id);
ua.thirdPartyUserId = String.valueOf(address.customerId);
ua.save();
Logger.info("Sync success.");
});
}
});
ObjectNode resultNode = Json.newObject();
resultNode.set("address", Json.toJson(ua));
return new Dummy(resultNode);
}