You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ar...@apache.org on 2022/11/23 12:17:20 UTC
[fineract] branch develop updated: FINERACT-1724: Minor cleanup around client transaction services
This is an automated email from the ASF dual-hosted git repository.
arnold pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new 4b290663d FINERACT-1724: Minor cleanup around client transaction services
4b290663d is described below
commit 4b290663d3698749a499e54c55649b6acc3a54e8
Author: Arnold Galovics <ga...@gmail.com>
AuthorDate: Mon Nov 21 18:04:29 2022 +0100
FINERACT-1724: Minor cleanup around client transaction services
---
.../client/api/ClientTransactionsApiResource.java | 44 +++++++---------------
.../client/domain/ClientRepositoryWrapper.java | 9 +----
.../domain/ClientTransactionRepositoryWrapper.java | 10 +----
.../ClientChargeReadPlatformServiceImpl.java | 15 ++------
...a => ClientChargeWritePlatformServiceImpl.java} | 36 +++---------------
.../ClientTransactionReadPlatformServiceImpl.java | 14 ++-----
...ctionWritePlatformServiceJpaRepositoryImpl.java | 14 +------
7 files changed, 31 insertions(+), 111 deletions(-)
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientTransactionsApiResource.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientTransactionsApiResource.java
index 8532fd630..8bcc5030e 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientTransactionsApiResource.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientTransactionsApiResource.java
@@ -35,6 +35,7 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriInfo;
+import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.apache.fineract.commands.domain.CommandWrapper;
import org.apache.fineract.commands.service.CommandWrapperBuilder;
@@ -49,12 +50,12 @@ import org.apache.fineract.infrastructure.core.service.SearchParameters;
import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
import org.apache.fineract.portfolio.client.data.ClientTransactionData;
import org.apache.fineract.portfolio.client.service.ClientTransactionReadPlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Path("/clients/{clientId}/transactions")
@Component
-@Tag(name = "Client Transaction", description = "Client Transactions refer to transactions made directly againt a Client's internal account. Currently, these transactions are only created as a result of charge payments/waivers. You are allowed to undo a transaction, however you cannot explicitly create one. ")
+@Tag(name = "Client Transaction", description = "Client Transactions refer to transactions made directly against a Client's internal account. Currently, these transactions are only created as a result of charge payments/waivers. You are allowed to undo a transaction, however you cannot explicitly create one. ")
+@RequiredArgsConstructor
public class ClientTransactionsApiResource {
private final PlatformSecurityContext context;
@@ -63,19 +64,6 @@ public class ClientTransactionsApiResource {
private final ApiRequestParameterHelper apiRequestParameterHelper;
private final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService;
- @Autowired
- public ClientTransactionsApiResource(final PlatformSecurityContext context,
- final ClientTransactionReadPlatformService clientTransactionReadPlatformService,
- final DefaultToApiJsonSerializer<ClientTransactionData> toApiJsonSerializer,
- final ApiRequestParameterHelper apiRequestParameterHelper,
- final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService) {
- this.context = context;
- this.clientTransactionReadPlatformService = clientTransactionReadPlatformService;
- this.toApiJsonSerializer = toApiJsonSerializer;
- this.apiRequestParameterHelper = apiRequestParameterHelper;
- this.commandsSourceWritePlatformService = commandsSourceWritePlatformService;
- }
-
@GET
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
@@ -86,15 +74,14 @@ public class ClientTransactionsApiResource {
public String retrieveAllClientTransactions(@PathParam("clientId") @Parameter(description = "clientId") final Long clientId,
@Context final UriInfo uriInfo, @QueryParam("offset") @Parameter(description = "offset") final Integer offset,
@QueryParam("limit") @Parameter(description = "limit") final Integer limit) {
- this.context.authenticatedUser().validateHasReadPermission(ClientApiConstants.CLIENT_CHARGES_RESOURCE_NAME);
+ context.authenticatedUser().validateHasReadPermission(ClientApiConstants.CLIENT_CHARGES_RESOURCE_NAME);
SearchParameters searchParameters = SearchParameters.forPagination(offset, limit);
- final Page<ClientTransactionData> clientTransactions = this.clientTransactionReadPlatformService.retrieveAllTransactions(clientId,
+ final Page<ClientTransactionData> clientTransactions = clientTransactionReadPlatformService.retrieveAllTransactions(clientId,
searchParameters);
- final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters());
- return this.toApiJsonSerializer.serialize(settings, clientTransactions,
- ClientApiConstants.CLIENT_TRANSACTION_RESPONSE_DATA_PARAMETERS);
+ final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
+ return toApiJsonSerializer.serialize(settings, clientTransactions, ClientApiConstants.CLIENT_TRANSACTION_RESPONSE_DATA_PARAMETERS);
}
@GET
@@ -109,14 +96,12 @@ public class ClientTransactionsApiResource {
@PathParam("transactionId") @Parameter(description = "transactionId") final Long transactionId,
@Context final UriInfo uriInfo) {
- this.context.authenticatedUser().validateHasReadPermission(ClientApiConstants.CLIENT_CHARGES_RESOURCE_NAME);
+ context.authenticatedUser().validateHasReadPermission(ClientApiConstants.CLIENT_CHARGES_RESOURCE_NAME);
- final ClientTransactionData clientTransaction = this.clientTransactionReadPlatformService.retrieveTransaction(clientId,
- transactionId);
+ final ClientTransactionData clientTransaction = clientTransactionReadPlatformService.retrieveTransaction(clientId, transactionId);
- final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters());
- return this.toApiJsonSerializer.serialize(settings, clientTransaction,
- ClientApiConstants.CLIENT_TRANSACTION_RESPONSE_DATA_PARAMETERS);
+ final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
+ return toApiJsonSerializer.serialize(settings, clientTransaction, ClientApiConstants.CLIENT_TRANSACTION_RESPONSE_DATA_PARAMETERS);
}
@POST
@@ -131,19 +116,16 @@ public class ClientTransactionsApiResource {
@QueryParam("command") @Parameter(description = "command") final String commandParam,
@Parameter(hidden = true) final String apiRequestBodyAsJson) {
- String json = "";
if (is(commandParam, ClientApiConstants.CLIENT_TRANSACTION_COMMAND_UNDO)) {
final CommandWrapper commandRequest = new CommandWrapperBuilder().undoClientTransaction(clientId, transactionId)
.withJson(apiRequestBodyAsJson).build();
- final CommandProcessingResult result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
+ final CommandProcessingResult result = commandsSourceWritePlatformService.logCommandSource(commandRequest);
- json = this.toApiJsonSerializer.serialize(result);
+ return toApiJsonSerializer.serialize(result);
} else {
throw new UnrecognizedQueryParamException("command", commandParam, ClientApiConstants.CLIENT_TRANSACTION_COMMAND_UNDO);
}
-
- return json;
}
private boolean is(final String commandParam, final String commandValue) {
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/ClientRepositoryWrapper.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/ClientRepositoryWrapper.java
index 682910ad0..5620c838b 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/ClientRepositoryWrapper.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/ClientRepositoryWrapper.java
@@ -20,10 +20,10 @@ package org.apache.fineract.portfolio.client.domain;
import java.util.Collection;
import java.util.List;
+import lombok.RequiredArgsConstructor;
import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
import org.apache.fineract.portfolio.client.exception.ClientNotActiveException;
import org.apache.fineract.portfolio.client.exception.ClientNotFoundException;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -33,17 +33,12 @@ import org.springframework.transaction.annotation.Transactional;
* </p>
*/
@Service
+@RequiredArgsConstructor
public class ClientRepositoryWrapper {
private final ClientRepository repository;
private final PlatformSecurityContext context;
- @Autowired
- public ClientRepositoryWrapper(final ClientRepository repository, final PlatformSecurityContext context) {
- this.repository = repository;
- this.context = context;
- }
-
@Transactional(readOnly = true)
public Client findOneWithNotFoundDetection(final Long id) {
return this.findOneWithNotFoundDetection(id, false);
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/ClientTransactionRepositoryWrapper.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/ClientTransactionRepositoryWrapper.java
index 5e8aba44e..2703bfead 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/ClientTransactionRepositoryWrapper.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/ClientTransactionRepositoryWrapper.java
@@ -18,24 +18,18 @@
*/
package org.apache.fineract.portfolio.client.domain;
+import lombok.RequiredArgsConstructor;
import org.apache.fineract.organisation.office.domain.OrganisationCurrencyRepositoryWrapper;
import org.apache.fineract.portfolio.client.exception.ClientTransactionNotFoundException;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
+@RequiredArgsConstructor
public class ClientTransactionRepositoryWrapper {
private final ClientTransactionRepository repository;
private final OrganisationCurrencyRepositoryWrapper organisationCurrencyRepository;
- @Autowired
- public ClientTransactionRepositoryWrapper(final ClientTransactionRepository repository,
- final OrganisationCurrencyRepositoryWrapper currencyRepositoryWrapper) {
- this.repository = repository;
- this.organisationCurrencyRepository = currencyRepositoryWrapper;
- }
-
public ClientTransaction findOneWithNotFoundDetection(final Long clientId, final Long transactionId) {
final ClientTransaction clientTransaction = this.repository.findById(transactionId)
.orElseThrow(() -> new ClientTransactionNotFoundException(clientId, transactionId));
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientChargeReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientChargeReadPlatformServiceImpl.java
index dc7756bba..4b03043b9 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientChargeReadPlatformServiceImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientChargeReadPlatformServiceImpl.java
@@ -23,6 +23,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.LocalDate;
import java.util.Collection;
+import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
import org.apache.fineract.infrastructure.core.domain.JdbcSupport;
@@ -37,30 +38,20 @@ import org.apache.fineract.portfolio.charge.service.ChargeEnumerations;
import org.apache.fineract.portfolio.client.api.ClientApiConstants;
import org.apache.fineract.portfolio.client.data.ClientChargeData;
import org.apache.fineract.portfolio.client.exception.ClientChargeNotFoundException;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Service;
@Service
+@RequiredArgsConstructor
public class ClientChargeReadPlatformServiceImpl implements ClientChargeReadPlatformService {
private final PaginationHelper paginationHelper;
private final JdbcTemplate jdbcTemplate;
private final DatabaseSpecificSQLGenerator sqlGenerator;
private final PlatformSecurityContext context;
- private final ClientChargeMapper clientChargeMapper;
-
- @Autowired
- public ClientChargeReadPlatformServiceImpl(final PlatformSecurityContext context, final JdbcTemplate jdbcTemplate,
- DatabaseSpecificSQLGenerator sqlGenerator, PaginationHelper paginationHelper) {
- this.context = context;
- this.jdbcTemplate = jdbcTemplate;
- this.sqlGenerator = sqlGenerator;
- this.clientChargeMapper = new ClientChargeMapper();
- this.paginationHelper = paginationHelper;
- }
+ private final ClientChargeMapper clientChargeMapper = new ClientChargeMapper();
public static final class ClientChargeMapper implements RowMapper<ClientChargeData> {
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientChargeWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientChargeWritePlatformServiceImpl.java
similarity index 91%
rename from fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientChargeWritePlatformServiceJpaRepositoryImpl.java
rename to fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientChargeWritePlatformServiceImpl.java
index f0133d0bc..dadec193c 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientChargeWritePlatformServiceJpaRepositoryImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientChargeWritePlatformServiceImpl.java
@@ -26,6 +26,8 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import org.apache.fineract.accounting.journalentry.service.JournalEntryWritePlatformService;
import org.apache.fineract.infrastructure.configuration.domain.ConfigurationDomainService;
import org.apache.fineract.infrastructure.core.api.JsonCommand;
@@ -36,7 +38,6 @@ import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder;
import org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException;
import org.apache.fineract.infrastructure.core.exception.PlatformDataIntegrityException;
import org.apache.fineract.infrastructure.core.service.DateUtils;
-import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
import org.apache.fineract.organisation.holiday.domain.HolidayRepositoryWrapper;
import org.apache.fineract.organisation.monetary.domain.Money;
import org.apache.fineract.organisation.workingdays.domain.WorkingDaysRepositoryWrapper;
@@ -54,20 +55,16 @@ import org.apache.fineract.portfolio.client.domain.ClientTransaction;
import org.apache.fineract.portfolio.client.domain.ClientTransactionRepository;
import org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail;
import org.apache.fineract.portfolio.paymentdetail.service.PaymentDetailWritePlatformService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.dao.NonTransientDataAccessException;
import org.springframework.orm.jpa.JpaSystemException;
import org.springframework.stereotype.Service;
@Service
-public class ClientChargeWritePlatformServiceJpaRepositoryImpl implements ClientChargeWritePlatformService {
+@RequiredArgsConstructor
+@Slf4j
+public class ClientChargeWritePlatformServiceImpl implements ClientChargeWritePlatformService {
- private static final Logger LOG = LoggerFactory.getLogger(ClientChargeWritePlatformServiceJpaRepositoryImpl.class);
-
- private final PlatformSecurityContext context;
private final ChargeRepositoryWrapper chargeRepository;
private final ClientRepositoryWrapper clientRepository;
private final ClientChargeDataValidator clientChargeDataValidator;
@@ -79,27 +76,6 @@ public class ClientChargeWritePlatformServiceJpaRepositoryImpl implements Client
private final PaymentDetailWritePlatformService paymentDetailWritePlatformService;
private final JournalEntryWritePlatformService journalEntryWritePlatformService;
- @Autowired
- public ClientChargeWritePlatformServiceJpaRepositoryImpl(final PlatformSecurityContext context,
- final ChargeRepositoryWrapper chargeRepository, final ClientChargeDataValidator clientChargeDataValidator,
- final ClientRepositoryWrapper clientRepository, final HolidayRepositoryWrapper holidayRepositoryWrapper,
- final ConfigurationDomainService configurationDomainService, final ClientChargeRepositoryWrapper clientChargeRepository,
- final WorkingDaysRepositoryWrapper workingDaysRepository, final ClientTransactionRepository clientTransactionRepository,
- final PaymentDetailWritePlatformService paymentDetailWritePlatformService,
- final JournalEntryWritePlatformService journalEntryWritePlatformService) {
- this.context = context;
- this.chargeRepository = chargeRepository;
- this.clientChargeDataValidator = clientChargeDataValidator;
- this.clientRepository = clientRepository;
- this.holidayRepository = holidayRepositoryWrapper;
- this.configurationDomainService = configurationDomainService;
- this.clientChargeRepository = clientChargeRepository;
- this.workingDaysRepository = workingDaysRepository;
- this.clientTransactionRepository = clientTransactionRepository;
- this.paymentDetailWritePlatformService = paymentDetailWritePlatformService;
- this.journalEntryWritePlatformService = journalEntryWritePlatformService;
- }
-
@Override
public CommandProcessingResult addCharge(Long clientId, JsonCommand command) {
try {
@@ -447,7 +423,7 @@ public class ClientChargeWritePlatformServiceJpaRepositoryImpl implements Client
"clientChargeId", clientChargeId);
}
- LOG.error("Error occured.", dve);
+ log.error("Error occured.", dve);
throw new PlatformDataIntegrityException("error.msg.client.charges.unknown.data.integrity.issue",
"Unknown data integrity issue with resource.");
}
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientTransactionReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientTransactionReadPlatformServiceImpl.java
index 476c6aad9..fb2e795c9 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientTransactionReadPlatformServiceImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientTransactionReadPlatformServiceImpl.java
@@ -23,6 +23,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.LocalDate;
import java.util.Collection;
+import lombok.RequiredArgsConstructor;
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
import org.apache.fineract.infrastructure.core.domain.JdbcSupport;
import org.apache.fineract.infrastructure.core.service.Page;
@@ -36,29 +37,20 @@ import org.apache.fineract.portfolio.client.domain.ClientTransactionType;
import org.apache.fineract.portfolio.client.exception.ClientTransactionNotFoundException;
import org.apache.fineract.portfolio.paymentdetail.data.PaymentDetailData;
import org.apache.fineract.portfolio.paymenttype.data.PaymentTypeData;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Service;
@Service
+@RequiredArgsConstructor
public class ClientTransactionReadPlatformServiceImpl implements ClientTransactionReadPlatformService {
private final JdbcTemplate jdbcTemplate;
private final DatabaseSpecificSQLGenerator sqlGenerator;
- private final ClientTransactionMapper clientTransactionMapper;
+ private final ClientTransactionMapper clientTransactionMapper = new ClientTransactionMapper();
private final PaginationHelper paginationHelper;
- @Autowired
- public ClientTransactionReadPlatformServiceImpl(final JdbcTemplate jdbcTemplate, DatabaseSpecificSQLGenerator sqlGenerator,
- PaginationHelper paginationHelper) {
- this.jdbcTemplate = jdbcTemplate;
- this.sqlGenerator = sqlGenerator;
- this.clientTransactionMapper = new ClientTransactionMapper();
- this.paginationHelper = paginationHelper;
- }
-
private static final class ClientTransactionMapper implements RowMapper<ClientTransactionData> {
private final String schemaSql;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientTransactionWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientTransactionWritePlatformServiceJpaRepositoryImpl.java
index 1f4320ec5..f041a386d 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientTransactionWritePlatformServiceJpaRepositoryImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientTransactionWritePlatformServiceJpaRepositoryImpl.java
@@ -20,6 +20,7 @@ package org.apache.fineract.portfolio.client.service;
import java.util.Map;
import java.util.Set;
+import lombok.RequiredArgsConstructor;
import org.apache.fineract.accounting.journalentry.service.JournalEntryWritePlatformService;
import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
import org.apache.fineract.infrastructure.core.data.CommandProcessingResultBuilder;
@@ -31,10 +32,10 @@ import org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper;
import org.apache.fineract.portfolio.client.domain.ClientTransaction;
import org.apache.fineract.portfolio.client.domain.ClientTransactionRepositoryWrapper;
import org.apache.fineract.portfolio.client.exception.ClientTransactionCannotBeUndoneException;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
+@RequiredArgsConstructor
public class ClientTransactionWritePlatformServiceJpaRepositoryImpl implements ClientTransactionWritePlatformService {
private final ClientTransactionRepositoryWrapper clientTransactionRepository;
@@ -43,17 +44,6 @@ public class ClientTransactionWritePlatformServiceJpaRepositoryImpl implements C
private final OrganisationCurrencyRepositoryWrapper organisationCurrencyRepository;
private final JournalEntryWritePlatformService journalEntryWritePlatformService;
- @Autowired
- public ClientTransactionWritePlatformServiceJpaRepositoryImpl(final ClientTransactionRepositoryWrapper clientTransactionRepository,
- final ClientRepositoryWrapper clientRepositoryWrapper,
- final OrganisationCurrencyRepositoryWrapper organisationCurrencyRepositoryWrapper,
- JournalEntryWritePlatformService journalEntryWritePlatformService) {
- this.clientTransactionRepository = clientTransactionRepository;
- this.clientRepository = clientRepositoryWrapper;
- this.organisationCurrencyRepository = organisationCurrencyRepositoryWrapper;
- this.journalEntryWritePlatformService = journalEntryWritePlatformService;
- }
-
@Override
public CommandProcessingResult undo(Long clientId, Long transactionId) {