SMS Campaign issues fix on 16-11
Project: http://git-wip-us.apache.org/repos/asf/incubator-fineract/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fineract/commit/117a9f51 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fineract/tree/117a9f51 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fineract/diff/117a9f51 Branch: refs/heads/develop Commit: 117a9f51c56f736c305fe71ec759295a05eae356 Parents: 9aa4425 Author: Satish <[email protected]> Authored: Thu Nov 17 17:38:28 2016 +0530 Committer: Satish <[email protected]> Committed: Thu Nov 17 17:38:28 2016 +0530 ---------------------------------------------------------------------- .../sms/serialization/SmsCampaignValidator.java | 2 +- .../SmsCampaignWritePlatformServiceJpaImpl.java | 5 ++- .../infrastructure/sms/SmsApiConstants.java | 1 + .../infrastructure/sms/domain/SmsMessage.java | 14 +++--- .../sms/domain/SmsMessageAssembler.java | 2 +- .../SmsMessageScheduledJobServiceImpl.java | 8 ++-- ...ntWritePlatformServiceJpaRepositoryImpl.java | 33 ++------------ .../BusinessEventNotificationConstants.java | 15 ++----- .../domain/SavingsAccountDomainServiceJpa.java | 8 +--- ...ntWritePlatformServiceJpaRepositoryImpl.java | 47 +------------------- ...ssWritePlatformServiceJpaRepositoryImpl.java | 3 +- ...erWritePlatformServiceJpaRepositoryImpl.java | 29 +----------- .../migrations/core_db/V322__sms_campaign.sql | 22 ++++----- 13 files changed, 44 insertions(+), 145 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/117a9f51/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/serialization/SmsCampaignValidator.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/serialization/SmsCampaignValidator.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/serialization/SmsCampaignValidator.java index 9484054..50339a0 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/serialization/SmsCampaignValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/serialization/SmsCampaignValidator.java @@ -131,7 +131,7 @@ public class SmsCampaignValidator { } final String recurrenceStartDate = this.fromApiJsonHelper.extractStringNamed(SmsCampaignValidator.recurrenceStartDate, element); baseDataValidator.reset().parameter(SmsCampaignValidator.recurrenceStartDate).value(recurrenceStartDate).notBlank(); - } + } final Long runReportId = this.fromApiJsonHelper.extractLongNamed(SmsCampaignValidator.runReportId, element); baseDataValidator.reset().parameter(SmsCampaignValidator.runReportId).value(runReportId).notNull().integerGreaterThanZero(); http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/117a9f51/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/service/SmsCampaignWritePlatformServiceJpaImpl.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/service/SmsCampaignWritePlatformServiceJpaImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/service/SmsCampaignWritePlatformServiceJpaImpl.java index 477b534..0084ed6 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/service/SmsCampaignWritePlatformServiceJpaImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/service/SmsCampaignWritePlatformServiceJpaImpl.java @@ -45,6 +45,7 @@ import org.apache.fineract.infrastructure.core.api.JsonQuery; import org.apache.fineract.infrastructure.core.data.CommandProcessingResult; import org.apache.fineract.infrastructure.core.data.CommandProcessingResultBuilder; import org.apache.fineract.infrastructure.core.domain.FineractPlatformTenant; +import org.apache.fineract.infrastructure.core.exception.GeneralPlatformDomainRuleException; import org.apache.fineract.infrastructure.core.exception.PlatformDataIntegrityException; import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper; import org.apache.fineract.infrastructure.core.service.DateUtils; @@ -141,7 +142,9 @@ public class SmsCampaignWritePlatformServiceJpaImpl implements SmsCampaignWriteP Report report = this.reportRepository.findOne(runReportId); if (report == null) { throw new ReportNotFoundException(runReportId); } SmsCampaign smsCampaign = SmsCampaign.instance(currentUser, report, command); - + if (smsCampaign.getRecurrenceStartDate() != null && smsCampaign.getRecurrenceStartDate().isBefore(DateUtils.getLocalDateOfTenant())) { throw new GeneralPlatformDomainRuleException( + "error.msg.campaign.recurrenceStartDate.in.the.past", "Recurrence start date cannot be the past date.", + smsCampaign.getRecurrenceStartDate()); } this.smsCampaignRepository.save(smsCampaign); return new CommandProcessingResultBuilder() // http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/117a9f51/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/SmsApiConstants.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/SmsApiConstants.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/SmsApiConstants.java index 310aea3..c55641f 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/SmsApiConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/SmsApiConstants.java @@ -33,6 +33,7 @@ public class SmsApiConstants { // request parameters public static final String idParamName = "id"; public static final String groupIdParamName = "groupId"; + public static final String externalIdParamName = "externalId"; public static final String clientIdParamName = "clientId"; public static final String staffIdParamName = "staffId"; public static final String messageParamName = "message"; http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/117a9f51/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/domain/SmsMessage.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/domain/SmsMessage.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/domain/SmsMessage.java index a388bb5..9dff5c3 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/domain/SmsMessage.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/domain/SmsMessage.java @@ -45,7 +45,7 @@ import org.joda.time.LocalDate; public class SmsMessage extends AbstractPersistableCustom<Long> { @Column(name = "external_id", nullable = true) - private Long externalId; + private String externalId; @ManyToOne @JoinColumn(name = "group_id", nullable = true) @@ -86,17 +86,17 @@ public class SmsMessage extends AbstractPersistableCustom<Long> { @Temporal(TemporalType.TIMESTAMP) private Date deliveredOnDate; - public static SmsMessage pendingSms(final Long externalId, final Group group, final Client client, final Staff staff, + public static SmsMessage pendingSms(final String externalId, final Group group, final Client client, final Staff staff, final String message, final String mobileNo, final SmsCampaign smsCampaign) { return new SmsMessage(externalId, group, client, staff, SmsMessageStatusType.PENDING, message, mobileNo, smsCampaign); } - public static SmsMessage sentSms(final Long externalId, final Group group, final Client client, final Staff staff, + public static SmsMessage sentSms(final String externalId, final Group group, final Client client, final Staff staff, final String message, final String mobileNo, final SmsCampaign smsCampaign) { return new SmsMessage(externalId, group, client, staff, SmsMessageStatusType.WAITING_FOR_DELIVERY_REPORT, message, mobileNo, smsCampaign); } - public static SmsMessage instance(Long externalId, final Group group, final Client client, final Staff staff, + public static SmsMessage instance(String externalId, final Group group, final Client client, final Staff staff, final SmsMessageStatusType statusType, final String message, final String mobileNo, final SmsCampaign smsCampaign) { return new SmsMessage(externalId, group, client, staff, statusType, message, mobileNo, smsCampaign); @@ -106,7 +106,7 @@ public class SmsMessage extends AbstractPersistableCustom<Long> { // } - private SmsMessage(Long externalId, final Group group, final Client client, final Staff staff, final SmsMessageStatusType statusType, + private SmsMessage(String externalId, final Group group, final Client client, final Staff staff, final SmsMessageStatusType statusType, final String message, final String mobileNo, final SmsCampaign smsCampaign) { this.externalId = externalId; this.group = group; @@ -132,7 +132,7 @@ public class SmsMessage extends AbstractPersistableCustom<Long> { return actualChanges; } - public Long getExternalId() { + public String getExternalId() { return this.externalId; } @@ -164,7 +164,7 @@ public class SmsMessage extends AbstractPersistableCustom<Long> { return message; } - public void setExternalId(final Long externalId) { + public void setExternalId(final String externalId) { this.externalId = externalId; } http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/117a9f51/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/domain/SmsMessageAssembler.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/domain/SmsMessageAssembler.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/domain/SmsMessageAssembler.java index 695edfb..c879ffb 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/domain/SmsMessageAssembler.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/domain/SmsMessageAssembler.java @@ -64,7 +64,7 @@ public class SmsMessageAssembler { String mobileNo = null; Group group = null; - Long externalId = null; + String externalId = null; if (this.fromApiJsonHelper.parameterExists(SmsApiConstants.groupIdParamName, element)) { final Long groupId = this.fromApiJsonHelper.extractLongNamed(SmsApiConstants.groupIdParamName, element); group = this.groupRepository.findOneWithNotFoundDetection(groupId); http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/117a9f51/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/scheduler/SmsMessageScheduledJobServiceImpl.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/scheduler/SmsMessageScheduledJobServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/scheduler/SmsMessageScheduledJobServiceImpl.java index 8a7f845..f75eadf 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/scheduler/SmsMessageScheduledJobServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/scheduler/SmsMessageScheduledJobServiceImpl.java @@ -153,7 +153,7 @@ public class SmsMessageScheduledJobServiceImpl implements SmsMessageScheduledJob @Override public void run() { ThreadLocalContextUtil.setTenant(tenant); - connectAndSendToIntermediateServer(tenant.getTenantIdentifier(), apiQueueResourceDatas); + connectAndSendToIntermediateServer(apiQueueResourceDatas); } @Override @@ -163,8 +163,7 @@ public class SmsMessageScheduledJobServiceImpl implements SmsMessageScheduledJob } } - private void connectAndSendToIntermediateServer(String tenantIdentifier, - Collection<SmsMessageApiQueueResourceData> apiQueueResourceDatas) { + private void connectAndSendToIntermediateServer(Collection<SmsMessageApiQueueResourceData> apiQueueResourceDatas) { Map<String, Object> hostConfig = this.smsConfigUtils.getMessageGateWayRequestURI("sms", SmsMessageApiQueueResourceData.toJsonString(apiQueueResourceDatas)) ; URI uri = (URI)hostConfig.get("uri") ; HttpEntity<?> entity = (HttpEntity<?>)hostConfig.get("entity") ; @@ -269,6 +268,9 @@ public class SmsMessageScheduledJobServiceImpl implements SmsMessageScheduledJob // update the status Type enum smsMessage.setStatusType(statusType); + // update the externalId + smsMessage.setExternalId(smsMessageDeliveryReportData.getExternalId()); + // save the SmsMessage entity this.smsMessageRepository.save(smsMessage); http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/117a9f51/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java index 5db7a02..9a25264 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java @@ -165,8 +165,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP final Client client = this.clientRepository.findOneWithNotFoundDetection(clientId); if (client.isNotPending()) { throw new ClientMustBePendingToBeDeletedException(clientId); } - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.CLIENTS_DELETE, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); final List<Note> relatedNotes = this.noteRepository.findByClientId(clientId); this.noteRepository.deleteInBatch(relatedNotes); @@ -175,8 +173,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP this.clientNonPersonRepository.delete(clientNonPerson); this.clientRepository.delete(client); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.CLIENTS_DELETE, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); return new CommandProcessingResultBuilder() // .withOfficeId(client.officeId()) // .withClientId(clientId) // @@ -284,8 +280,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP final Client newClient = Client.createNew(currentUser, clientOffice, clientParentGroup, staff, savingsProductId, gender, clientType, clientClassification, legalFormValue, command); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.CLIENTS_CREATE, - constructEntityMap(BUSINESS_ENTITY.CLIENT, newClient)); boolean rollbackTransaction = false; if (newClient.isActive()) { validateParentGroupRulesBeforeClientActivation(newClient); @@ -294,7 +288,10 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP } this.clientRepository.save(newClient); - + if (newClient.isActive()) { + this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.CLIENTS_ACTIVATE, + constructEntityMap(BUSINESS_ENTITY.CLIENT, newClient)); + } if (newClient.isAccountNumberRequiresAutoGeneration()) { AccountNumberFormat accountNumberFormat = this.accountNumberFormatRepository.findByAccountType(EntityAccountType.CLIENT); newClient.updateAccountNo(accountNumberGenerator.generate(newClient, accountNumberFormat)); @@ -317,8 +314,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP this.addressWritePlatformService.addNewClientAddress(newClient, command); } - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.CLIENTS_CREATE, - constructEntityMap(BUSINESS_ENTITY.CLIENT, newClient)); return new CommandProcessingResultBuilder() // .withCommandId(command.commandId()) // .withOfficeId(clientOffice.getId()) // @@ -535,8 +530,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP final Client client = this.clientRepository.findOneWithNotFoundDetection(clientId, true); validateParentGroupRulesBeforeClientActivation(client); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.CLIENTS_ACTIVATE, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); final Locale locale = command.extractLocale(); final DateTimeFormatter fmt = DateTimeFormat.forPattern(command.dateFormat()).withLocale(locale); final LocalDate activationDate = command.localDateValueOfParameterNamed("activationDate"); @@ -623,8 +616,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP this.fromApiJsonDeserializer.validateForAssignStaff(command.json()); final Client clientForUpdate = this.clientRepository.findOneWithNotFoundDetection(clientId); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.CLIENTS_ASSIGN_STAFF, - constructEntityMap(BUSINESS_ENTITY.CLIENT, clientForUpdate)); Staff staff = null; final Long staffId = command.longValueOfParameterNamed(ClientApiConstants.staffIdParamName); if (staffId != null) { @@ -640,8 +631,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP this.clientRepository.saveAndFlush(clientForUpdate); actualChanges.put(ClientApiConstants.staffIdParamName, staffId); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.CLIENTS_ASSIGN_STAFF, - constructEntityMap(BUSINESS_ENTITY.CLIENT, clientForUpdate)); return new CommandProcessingResultBuilder() // .withCommandId(command.commandId()) // .withOfficeId(clientForUpdate.officeId()) // @@ -660,8 +649,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP this.fromApiJsonDeserializer.validateClose(command); final Client client = this.clientRepository.findOneWithNotFoundDetection(clientId); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.CLIENTS_CLOSE, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); final LocalDate closureDate = command.localDateValueOfParameterNamed(ClientApiConstants.closureDateParamName); final Long closureReasonId = command.longValueOfParameterNamed(ClientApiConstants.closureReasonIdParamName); @@ -707,8 +694,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP client.close(currentUser, closureReason, closureDate.toDate()); this.clientRepository.saveAndFlush(client); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.CLIENTS_CLOSE, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); return new CommandProcessingResultBuilder() // .withCommandId(command.commandId()) // .withClientId(clientId) // @@ -782,8 +767,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP this.fromApiJsonDeserializer.validateRejection(command); final Client client = this.clientRepository.findOneWithNotFoundDetection(entityId); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.CLIENTS_REJECT, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); final LocalDate rejectionDate = command.localDateValueOfParameterNamed(ClientApiConstants.rejectionDateParamName); final Long rejectionReasonId = command.longValueOfParameterNamed(ClientApiConstants.rejectionReasonIdParamName); @@ -816,8 +799,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP this.fromApiJsonDeserializer.validateWithdrawn(command); final Client client = this.clientRepository.findOneWithNotFoundDetection(entityId); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.CLIENTS_WITHDRAW, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); final LocalDate withdrawalDate = command.localDateValueOfParameterNamed(ClientApiConstants.withdrawalDateParamName); final Long withdrawalReasonId = command.longValueOfParameterNamed(ClientApiConstants.withdrawalReasonIdParamName); @@ -835,8 +816,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP } client.withdraw(currentUser, withdrawalReason, withdrawalDate.toDate()); this.clientRepository.saveAndFlush(client); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.CLIENTS_WITHDRAW, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); return new CommandProcessingResultBuilder() // .withCommandId(command.commandId()) // .withClientId(entityId) // @@ -850,8 +829,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP this.fromApiJsonDeserializer.validateReactivate(command); final Client client = this.clientRepository.findOneWithNotFoundDetection(entityId); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.CLIENTS_REACTIVATE, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); final LocalDate reactivateDate = command.localDateValueOfParameterNamed(ClientApiConstants.reactivationDateParamName); if (!client.isClosed()) { @@ -864,8 +841,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP } client.reActivate(currentUser, reactivateDate.toDate()); this.clientRepository.saveAndFlush(client); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.CLIENTS_REACTIVATE, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); return new CommandProcessingResultBuilder() // .withCommandId(command.commandId()) // .withClientId(entityId) // http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/117a9f51/fineract-provider/src/main/java/org/apache/fineract/portfolio/common/BusinessEventNotificationConstants.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/common/BusinessEventNotificationConstants.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/common/BusinessEventNotificationConstants.java index 9532b52..0556f9c 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/common/BusinessEventNotificationConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/common/BusinessEventNotificationConstants.java @@ -24,8 +24,8 @@ import java.util.Set; public class BusinessEventNotificationConstants { public static enum BUSINESS_EVENTS { - LOAN_APPROVED("loan_approved"), LOAN_REJECTED("loan_reject"), LOAN_UNDO_APPROVAL("loan_undo_approval"), LOAN_UNDO_DISBURSAL("loan_undo_disbursal"), LOAN_UNDO_LASTDISBURSAL( - "loan_undo_lastdisbursal"), LOAN_UNDO_TRANSACTION("loan_undo_transaction"), LOAN_ADJUST_TRANSACTION( + LOAN_APPROVED("loan_approved"), LOAN_REJECTED("loan_reject"), LOAN_UNDO_APPROVAL("loan_undo_approval"), LOAN_UNDO_DISBURSAL( + "loan_undo_disbursal"), LOAN_UNDO_LASTDISBURSAL("loan_undo_lastdisbursal"), LOAN_UNDO_TRANSACTION("loan_undo_transaction"), LOAN_ADJUST_TRANSACTION( "loan_adjust_transaction"), LOAN_MAKE_REPAYMENT("loan_repayment_transaction"), LOAN_WRITTEN_OFF("loan_writtenoff"), LOAN_UNDO_WRITTEN_OFF( "loan_undo_writtenoff"), LOAN_DISBURSAL("loan_disbursal"), LOAN_WAIVE_INTEREST("loan_waive_interest"), LOAN_CLOSE( "loan_close"), LOAN_CLOSE_AS_RESCHEDULE("loan_close_as_reschedule"), LOAN_ADD_CHARGE("loan_add_charge"), LOAN_UPDATE_CHARGE( @@ -34,15 +34,8 @@ public class BusinessEventNotificationConstants { "loan_withdraw_transfer"), LOAN_REJECT_TRANSFER("loan_reject_transfer"), LOAN_REASSIGN_OFFICER("loan_reassign_officer"), LOAN_REMOVE_OFFICER( "loan_remove_officer"), LOAN_APPLY_OVERDUE_CHARGE("loan_apply_overdue_charge"), LOAN_INTEREST_RECALCULATION( "loan_interest_recalculation"), LOAN_REFUND("loan_refund"), LOAN_FORECLOSURE("loan_foreclosure"), SAVINGS_ACTIVATE( - "savings_activated"), SAVINGS_ADJUST_TRANSACTION("savings_adjust_transaction"), SAVINGS_APPLY_ANNUAL_FEE( - "savings_apply_annual_fee"), SAVINGS_CALCULATE_INTEREST("savings_calculate_interest"), SAVINGS_CLOSE("savings_close"), SAVINGS_POST_INTEREST( - "savings_post_interest"), SAVINGS_REJECT("savings_reject"), SAVINGS_DEPOSIT("savings_deposit"), SAVINGS_WITHDRAWAL( - "savings_withdrawal"), SAVINGS_UNDO("savings_undo"), SAVINGS_ADD_CHARGE("savings_add_charge"), SAVINGS_WAIVE_CHARGE( - "savings_waive_charge"), SAVINGS_PAY_CHARGE("savings_pay_charge"), CLIENTS_ACCEPT_TRANSFER("clients_accept_transfer"), CLIENTS_ACTIVATE( - "clients_activate"), CLIENTS_ASSIGN_STAFF("clients_assign_staff"), CLIENTS_CLOSE("clients_close"), CLIENTS_CREATE( - "clients_create"), CLIENTS_DELETE("clients_delete"), CLIENTS_PROPOSE_TRANSFER("clients_propose_transfer"), CLIENTS_REACTIVATE( - "clients_reactivate"), CLIENTS_REJECT("clients_reject"), CLIENTS_REJECT_TRANSFER("clients_reject_transfer"), CLIENTS_WITHDRAW( - "clients_withdraw"), CLIENTS_WITHDRAW_TRANSFER("clients_withdraw_transfer"); + "savings_activated"), SAVINGS_REJECT("savings_reject"), SAVINGS_DEPOSIT("savings_deposit"), SAVINGS_WITHDRAWAL( + "savings_withdrawal"), CLIENTS_ACTIVATE("clients_activate"), CLIENTS_REJECT("clients_reject"); private final String value; http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/117a9f51/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccountDomainServiceJpa.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccountDomainServiceJpa.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccountDomainServiceJpa.java index f255ea6..5646d73 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccountDomainServiceJpa.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccountDomainServiceJpa.java @@ -91,8 +91,6 @@ public class SavingsAccountDomainServiceJpa implements SavingsAccountDomainServi final Integer financialYearBeginningMonth = this.configurationDomainService.retrieveFinancialYearBeginningMonth(); if (transactionBooleanValues.isRegularTransaction() && !account.allowWithdrawal()) { throw new DepositAccountTransactionNotAllowedException( account.getId(), "withdraw", account.depositAccountType()); } - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.SAVINGS_WITHDRAWAL, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); final Set<Long> existingTransactionIds = new HashSet<>(); final LocalDate postInterestOnDate = null; final Set<Long> existingReversedTransactionIds = new HashSet<>(); @@ -122,7 +120,7 @@ public class SavingsAccountDomainServiceJpa implements SavingsAccountDomainServi postJournalEntries(account, existingTransactionIds, existingReversedTransactionIds, transactionBooleanValues.isAccountTransfer()); this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_WITHDRAWAL, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); + constructEntityMap(BUSINESS_ENTITY.SAVINGS_TRANSACTION, withdrawal)); return withdrawal; } @@ -155,8 +153,6 @@ public class SavingsAccountDomainServiceJpa implements SavingsAccountDomainServi if (isRegularTransaction && !account.allowDeposit()) { throw new DepositAccountTransactionNotAllowedException(account.getId(), "deposit", account.depositAccountType()); } - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.SAVINGS_DEPOSIT, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); boolean isInterestTransfer = false; final Set<Long> existingTransactionIds = new HashSet<>(); final Set<Long> existingReversedTransactionIds = new HashSet<>(); @@ -182,7 +178,7 @@ public class SavingsAccountDomainServiceJpa implements SavingsAccountDomainServi postJournalEntries(account, existingTransactionIds, existingReversedTransactionIds, isAccountTransfer); this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_DEPOSIT, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); + constructEntityMap(BUSINESS_ENTITY.SAVINGS_TRANSACTION, deposit)); return deposit; } http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/117a9f51/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java index 37b1b33..5d882c4 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java @@ -201,8 +201,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi final SavingsAccount account = this.savingAccountAssembler.assembleFrom(savingsId); checkClientOrGroupActive(account); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.SAVINGS_ACTIVATE, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); final Set<Long> existingTransactionIds = new HashSet<>(); final Set<Long> existingReversedTransactionIds = new HashSet<>(); updateExistingTransactionsDetails(account, existingTransactionIds, existingReversedTransactionIds); @@ -279,9 +277,7 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi boolean isRegularTransaction = true; final SavingsAccountTransaction deposit = this.savingsAccountDomainService.handleDeposit(account, fmt, transactionDate, transactionAmount, paymentDetail, isAccountTransfer, isRegularTransaction); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_DEPOSIT, - constructEntityMap(BUSINESS_ENTITY.SAVINGS_TRANSACTION, deposit)); - + return new CommandProcessingResultBuilder() // .withEntityId(deposit.getId()) // .withOfficeId(account.officeId()) // @@ -325,9 +321,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi final SavingsAccountTransaction withdrawal = this.savingsAccountDomainService.handleWithdrawal(account, fmt, transactionDate, transactionAmount, paymentDetail, transactionBooleanValues); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_WITHDRAWAL, - constructEntityMap(BUSINESS_ENTITY.SAVINGS_TRANSACTION, withdrawal)); - return new CommandProcessingResultBuilder() // .withEntityId(withdrawal.getId()) // .withOfficeId(account.officeId()) // @@ -346,14 +339,10 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi final SavingsAccountCharge savingsAccountCharge = this.savingsAccountChargeRepository.findOneWithNotFoundDetection( savingsAccountChargeId, accountId); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.SAVINGS_APPLY_ANNUAL_FEE, - constructEntityMap(BUSINESS_ENTITY.SAVING, savingsAccountCharge)); final DateTimeFormatter fmt = DateTimeFormat.forPattern("dd MM yyyy"); this.payCharge(savingsAccountCharge, savingsAccountCharge.getDueLocalDate(), savingsAccountCharge.amount(), fmt, user); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_APPLY_ANNUAL_FEE, - constructEntityMap(BUSINESS_ENTITY.SAVING, savingsAccountCharge)); return new CommandProcessingResultBuilder() // .withEntityId(savingsAccountCharge.getId()) // .withOfficeId(savingsAccountCharge.savingsAccount().officeId()) // @@ -373,8 +362,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi final SavingsAccount account = this.savingAccountAssembler.assembleFrom(savingsId); checkClientOrGroupActive(account); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.SAVINGS_CALCULATE_INTEREST, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); final LocalDate today = DateUtils.getLocalDateOfTenant(); final MathContext mc = new MathContext(15, MoneyHelper.getRoundingMode()); boolean isInterestTransfer = false; @@ -384,9 +371,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi this.savingAccountRepositoryWrapper.save(account); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_CALCULATE_INTEREST, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); - return new CommandProcessingResultBuilder() // .withEntityId(savingsId) // .withOfficeId(account.officeId()) // @@ -437,8 +421,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi final boolean isSavingsInterestPostingAtCurrentPeriodEnd = this.configurationDomainService .isSavingsInterestPostingAtCurrentPeriodEnd(); final Integer financialYearBeginningMonth = this.configurationDomainService.retrieveFinancialYearBeginningMonth(); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.SAVINGS_POST_INTEREST, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); if (account.getNominalAnnualInterestRate().compareTo(BigDecimal.ZERO) > 0 || (account.allowOverdraft() && account.getNominalAnnualInterestRateOverdraft().compareTo(BigDecimal.ZERO) > 0)) { final Set<Long> existingTransactionIds = new HashSet<>(); @@ -463,8 +445,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi this.savingAccountRepositoryWrapper.saveAndFlush(account); postJournalEntries(account, existingTransactionIds, existingReversedTransactionIds); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_POST_INTEREST, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); } } @@ -477,8 +457,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi final Integer financialYearBeginningMonth = this.configurationDomainService.retrieveFinancialYearBeginningMonth(); final SavingsAccount account = this.savingAccountAssembler.assembleFrom(savingsId); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.SAVINGS_UNDO, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); final Set<Long> existingTransactionIds = new HashSet<>(); final Set<Long> existingReversedTransactionIds = new HashSet<>(); updateExistingTransactionsDetails(account, existingTransactionIds, existingReversedTransactionIds); @@ -532,8 +510,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi account.activateAccountBasedOnBalance(); this.savingAccountRepositoryWrapper.saveAndFlush(account); postJournalEntries(account, existingTransactionIds, existingReversedTransactionIds); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_UNDO, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); return new CommandProcessingResultBuilder() // .withEntityId(savingsId) // .withOfficeId(account.officeId()) // @@ -568,8 +544,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi final LocalDate today = DateUtils.getLocalDateOfTenant(); final SavingsAccount account = this.savingAccountAssembler.assembleFrom(savingsId); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.SAVINGS_ADJUST_TRANSACTION, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); if (account.isNotActive()) { throwValidationForActiveStatus(SavingsApiConstants.adjustTransactionAction); } @@ -624,8 +598,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi account.activateAccountBasedOnBalance(); this.savingAccountRepositoryWrapper.saveAndFlush(account); postJournalEntries(account, existingTransactionIds, existingReversedTransactionIds); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_ADJUST_TRANSACTION, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); return new CommandProcessingResultBuilder() // .withEntityId(newtransactionId) // .withOfficeId(account.officeId()) // @@ -664,8 +636,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi this.savingsAccountTransactionDataValidator.validateClosing(command); final SavingsAccount account = this.savingAccountAssembler.assembleFrom(savingsId); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.SAVINGS_CLOSE, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); final boolean isLinkedWithAnyActiveLoan = this.accountAssociationsReadPlatformService.isLinkedWithAnyActiveAccount(savingsId); if (isLinkedWithAnyActiveLoan) { @@ -734,8 +704,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi // disable all standing orders linked to the savings account this.disableStandingInstructionsLinkedToClosedSavings(account); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_CLOSE, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); return new CommandProcessingResultBuilder() // .withEntityId(savingsId) // .withOfficeId(account.officeId()) // @@ -864,8 +832,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi final SavingsAccount savingsAccount = this.savingAccountAssembler.assembleFrom(savingsAccountId); checkClientOrGroupActive(savingsAccount); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.SAVINGS_ADD_CHARGE, - constructEntityMap(BUSINESS_ENTITY.SAVING, savingsAccount)); final Locale locale = command.extractLocale(); final String format = command.dateFormat(); @@ -904,8 +870,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi savingsAccount.addCharge(fmt, savingsAccountCharge, chargeDefinition); this.savingsAccountChargeRepository.save(savingsAccountCharge); this.savingAccountRepositoryWrapper.saveAndFlush(savingsAccount); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_ADD_CHARGE, - constructEntityMap(BUSINESS_ENTITY.SAVING, savingsAccount)); return new CommandProcessingResultBuilder() // .withEntityId(savingsAccountCharge.getId()) // .withOfficeId(savingsAccount.officeId()) // @@ -984,8 +948,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi // Get Savings account from savings charge final SavingsAccount account = savingsAccountCharge.savingsAccount(); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.SAVINGS_WAIVE_CHARGE, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); this.savingAccountAssembler.assignSavingAccountHelpers(account); final Set<Long> existingTransactionIds = new HashSet<>(); @@ -1017,8 +979,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi this.savingAccountRepositoryWrapper.saveAndFlush(account); postJournalEntries(account, existingTransactionIds, existingReversedTransactionIds); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_WAIVE_CHARGE, - constructEntityMap(BUSINESS_ENTITY.SAVING, account)); return new CommandProcessingResultBuilder() // .withEntityId(savingsAccountChargeId) // .withOfficeId(account.officeId()) // @@ -1064,9 +1024,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi final SavingsAccountCharge savingsAccountCharge = this.savingsAccountChargeRepository.findOneWithNotFoundDetection( savingsAccountChargeId, savingsAccountId); - - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.SAVINGS_PAY_CHARGE, - constructEntityMap(BUSINESS_ENTITY.SAVING, savingsAccountCharge)); final List<ApiParameterError> dataValidationErrors = new ArrayList<>(); final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors) @@ -1088,8 +1045,6 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi } this.payCharge(savingsAccountCharge, transactionDate, amountPaid, fmt, user); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_PAY_CHARGE, - constructEntityMap(BUSINESS_ENTITY.SAVING, savingsAccountCharge)); return new CommandProcessingResultBuilder() // .withEntityId(savingsAccountCharge.getId()) // .withOfficeId(savingsAccountCharge.savingsAccount().officeId()) // http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/117a9f51/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl.java index 6ebb7ee..35b94f5 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl.java @@ -422,7 +422,8 @@ public class SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl impl this.noteRepository.save(note); } } - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_REJECT, constructEntityMap(BUSINESS_ENTITY.SAVING, savingsAccount)); + this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.SAVINGS_REJECT, + constructEntityMap(BUSINESS_ENTITY.SAVING, savingsAccount)); return new CommandProcessingResultBuilder() // .withCommandId(command.commandId()) // .withEntityId(savingsId) // http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/117a9f51/fineract-provider/src/main/java/org/apache/fineract/portfolio/transfer/service/TransferWritePlatformServiceJpaRepositoryImpl.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/transfer/service/TransferWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/transfer/service/TransferWritePlatformServiceJpaRepositoryImpl.java index 522c9d3..7dfc6d6 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/transfer/service/TransferWritePlatformServiceJpaRepositoryImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/transfer/service/TransferWritePlatformServiceJpaRepositoryImpl.java @@ -43,8 +43,6 @@ import org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper; import org.apache.fineract.portfolio.client.domain.ClientStatus; import org.apache.fineract.portfolio.client.exception.ClientHasBeenClosedException; import org.apache.fineract.portfolio.common.BusinessEventNotificationConstants.BUSINESS_ENTITY; -import org.apache.fineract.portfolio.common.BusinessEventNotificationConstants.BUSINESS_EVENTS; -import org.apache.fineract.portfolio.common.service.BusinessEventNotifierService; import org.apache.fineract.portfolio.group.domain.Group; import org.apache.fineract.portfolio.group.domain.GroupRepositoryWrapper; import org.apache.fineract.portfolio.group.exception.ClientNotInGroupException; @@ -84,7 +82,6 @@ public class TransferWritePlatformServiceJpaRepositoryImpl implements TransferWr private final TransfersDataValidator transfersDataValidator; private final NoteWritePlatformService noteWritePlatformService; private final StaffRepositoryWrapper staffRepositoryWrapper; - private final BusinessEventNotifierService businessEventNotifierService; @Autowired public TransferWritePlatformServiceJpaRepositoryImpl(final ClientRepositoryWrapper clientRepositoryWrapper, @@ -93,8 +90,7 @@ public class TransferWritePlatformServiceJpaRepositoryImpl implements TransferWr final LoanRepositoryWrapper loanRepositoryWrapper, final TransfersDataValidator transfersDataValidator, final NoteWritePlatformService noteWritePlatformService, final StaffRepositoryWrapper staffRepositoryWrapper, final SavingsAccountRepositoryWrapper savingsAccountRepositoryWrapper, - final SavingsAccountWritePlatformService savingsAccountWritePlatformService, - final BusinessEventNotifierService businessEventNotifierService) { + final SavingsAccountWritePlatformService savingsAccountWritePlatformService) { this.clientRepositoryWrapper = clientRepositoryWrapper; this.officeRepository = officeRepository; this.calendarInstanceRepository = calendarInstanceRepository; @@ -106,7 +102,6 @@ public class TransferWritePlatformServiceJpaRepositoryImpl implements TransferWr this.staffRepositoryWrapper = staffRepositoryWrapper; this.savingsAccountRepositoryWrapper = savingsAccountRepositoryWrapper; this.savingsAccountWritePlatformService = savingsAccountWritePlatformService; - this.businessEventNotifierService = businessEventNotifierService; } @Override @@ -301,12 +296,8 @@ public class TransferWritePlatformServiceJpaRepositoryImpl implements TransferWr final Long destinationOfficeId = jsonCommand.longValueOfParameterNamed(TransferApiConstants.destinationOfficeIdParamName); final Office office = this.officeRepository.findOneWithNotFoundDetection(destinationOfficeId); final Client client = this.clientRepositoryWrapper.findOneWithNotFoundDetection(clientId); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.CLIENTS_PROPOSE_TRANSFER, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); handleClientTransferLifecycleEvent(client, office, TransferEventType.PROPOSAL, jsonCommand); this.clientRepositoryWrapper.save(client); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.CLIENTS_PROPOSE_TRANSFER, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); return new CommandProcessingResultBuilder() // .withClientId(clientId) // .withEntityId(clientId) // @@ -332,12 +323,8 @@ public class TransferWritePlatformServiceJpaRepositoryImpl implements TransferWr this.transfersDataValidator.validateForAcceptClientTransfer(jsonCommand.json()); final Client client = this.clientRepositoryWrapper.findOneWithNotFoundDetection(clientId, true); validateClientAwaitingTransferAcceptance(client); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.CLIENTS_ACCEPT_TRANSFER, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); handleClientTransferLifecycleEvent(client, client.getTransferToOffice(), TransferEventType.ACCEPTANCE, jsonCommand); this.clientRepositoryWrapper.save(client); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.CLIENTS_ACCEPT_TRANSFER, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); return new CommandProcessingResultBuilder() // .withClientId(clientId) // @@ -351,13 +338,9 @@ public class TransferWritePlatformServiceJpaRepositoryImpl implements TransferWr // validation this.transfersDataValidator.validateForWithdrawClientTransfer(jsonCommand.json()); final Client client = this.clientRepositoryWrapper.findOneWithNotFoundDetection(clientId); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.CLIENTS_WITHDRAW_TRANSFER, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); validateClientAwaitingTransferAcceptanceOnHold(client); handleClientTransferLifecycleEvent(client, client.getOffice(), TransferEventType.WITHDRAWAL, jsonCommand); this.clientRepositoryWrapper.save(client); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.CLIENTS_WITHDRAW_TRANSFER, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); return new CommandProcessingResultBuilder() // .withClientId(clientId) // .withEntityId(clientId) // @@ -370,13 +353,9 @@ public class TransferWritePlatformServiceJpaRepositoryImpl implements TransferWr // validation this.transfersDataValidator.validateForRejectClientTransfer(jsonCommand.json()); final Client client = this.clientRepositoryWrapper.findOneWithNotFoundDetection(clientId); - this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.CLIENTS_REJECT_TRANSFER, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); handleClientTransferLifecycleEvent(client, client.getOffice(), TransferEventType.REJECTION, jsonCommand); this.clientRepositoryWrapper.save(client); - this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.CLIENTS_REJECT_TRANSFER, - constructEntityMap(BUSINESS_ENTITY.CLIENT, client)); return new CommandProcessingResultBuilder() // .withClientId(clientId) // @@ -524,12 +503,6 @@ public class TransferWritePlatformServiceJpaRepositoryImpl implements TransferWr if (!client.isTransferInProgressOrOnHold()) { throw new ClientNotAwaitingTransferApprovalOrOnHoldException(client.getId()); } } - private Map<BUSINESS_ENTITY, Object> constructEntityMap(final BUSINESS_ENTITY entityEvent, Object entity) { - Map<BUSINESS_ENTITY, Object> map = new HashMap<>(1); - map.put(entityEvent, entity); - return map; - } - /** * private void validateGroupAwaitingTransferAcceptanceOnHold(final Group * group) { if (!group.isTransferInProgressOrOnHold()) { throw new
