mariiaKraievska commented on code in PR #3854:
URL: https://github.com/apache/fineract/pull/3854#discussion_r1585193929
##########
fineract-provider/src/main/java/org/apache/fineract/portfolio/account/jobs/executestandinginstructions/ExecuteStandingInstructionsTasklet.java:
##########
@@ -151,17 +160,21 @@ private boolean transferAmount(final List<Throwable>
errors, final AccountTransf
errorLog.append("Exception while trasfering funds
").append(e.getMessage());
}
- updateQuery.append(instructionId).append(",");
- if (errorLog.length() > 0) {
+
+ if (!errorLog.isEmpty()) {
transferCompleted = false;
- updateQuery.append("'failed'").append(",");
- } else {
- updateQuery.append("'success'").append(",");
}
-
updateQuery.append(accountTransferDTO.getTransactionAmount().doubleValue());
- updateQuery.append(", now(),");
- updateQuery.append("'").append(errorLog).append("')");
- jdbcTemplate.update(updateQuery.toString());
+
+ final AccountTransferStandingInstructionsHistory newHistory = new
AccountTransferStandingInstructionsHistory();
+
newHistory.setAccountTransferStandingInstruction(standingInstructionRepository.getReferenceById(instructionId));
+ newHistory.setStatus(transferCompleted ? "success" : "failed");
+ newHistory.setAmount(accountTransferDTO.getTransactionAmount());
+
newHistory.setExecutionTime(LocalDateTime.now(DateUtils.getDateTimeZoneOfTenant()));
+ newHistory.setErrorLog(String.valueOf(errorLog));
+
+ entityManager.persist(newHistory);
+ entityManager.flush();
Review Comment:
You right, done
##########
fineract-provider/src/main/java/org/apache/fineract/portfolio/account/jobs/executestandinginstructions/ExecuteStandingInstructionsTasklet.java:
##########
@@ -151,17 +160,21 @@ private boolean transferAmount(final List<Throwable>
errors, final AccountTransf
errorLog.append("Exception while trasfering funds
").append(e.getMessage());
}
- updateQuery.append(instructionId).append(",");
- if (errorLog.length() > 0) {
+
+ if (!errorLog.isEmpty()) {
transferCompleted = false;
- updateQuery.append("'failed'").append(",");
- } else {
- updateQuery.append("'success'").append(",");
}
-
updateQuery.append(accountTransferDTO.getTransactionAmount().doubleValue());
- updateQuery.append(", now(),");
- updateQuery.append("'").append(errorLog).append("')");
- jdbcTemplate.update(updateQuery.toString());
+
+ final AccountTransferStandingInstructionsHistory newHistory = new
AccountTransferStandingInstructionsHistory();
Review Comment:
Done
##########
fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountAssociationsReadPlatformServiceImpl.java:
##########
@@ -18,86 +18,101 @@
*/
package org.apache.fineract.portfolio.account.service;
-import java.sql.ResultSet;
-import java.sql.SQLException;
+import static java.util.stream.Collectors.toList;
+
+import com.querydsl.core.Tuple;
+import com.querydsl.core.types.dsl.BooleanExpression;
+import com.querydsl.core.types.dsl.SimpleExpression;
+import com.querydsl.jpa.impl.JPAQuery;
+import jakarta.persistence.EntityManager;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.apache.fineract.infrastructure.core.domain.JdbcSupport;
import org.apache.fineract.portfolio.account.data.AccountAssociationsData;
import org.apache.fineract.portfolio.account.data.PortfolioAccountData;
import org.apache.fineract.portfolio.account.domain.AccountAssociationType;
+import org.apache.fineract.portfolio.account.domain.QAccountAssociations;
import org.apache.fineract.portfolio.loanaccount.domain.LoanStatus;
+import org.apache.fineract.portfolio.loanaccount.domain.QLoan;
+import org.apache.fineract.portfolio.savings.domain.QSavingsAccount;
import org.apache.fineract.portfolio.savings.domain.SavingsAccountStatusType;
-import org.springframework.dao.EmptyResultDataAccessException;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
@RequiredArgsConstructor
@Slf4j
public class AccountAssociationsReadPlatformServiceImpl implements
AccountAssociationsReadPlatformService {
- private final JdbcTemplate jdbcTemplate;
+ private final EntityManager entityManager;
+ @Transactional(propagation = Propagation.REQUIRES_NEW)
@Override
public PortfolioAccountData retriveLoanLinkedAssociation(final Long
loanId) {
- PortfolioAccountData linkedAccount = null;
- final AccountAssociationsMapper mapper = new
AccountAssociationsMapper();
- final String sql = "select " + mapper.schema() + " where
aa.loan_account_id = ? and aa.association_type_enum = ?";
- try {
- final AccountAssociationsData accountAssociationsData =
this.jdbcTemplate.queryForObject(sql, mapper, loanId, // NOSONAR
-
AccountAssociationType.LINKED_ACCOUNT_ASSOCIATION.getValue());
- if (accountAssociationsData != null) {
- linkedAccount = accountAssociationsData.linkedAccount();
- }
- } catch (final EmptyResultDataAccessException e) {
- log.debug("Linking account is not configured");
+ final QAccountAssociations qAccountAssociations =
QAccountAssociations.accountAssociations;
Review Comment:
Done
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]