FINERACT-1694: Storing external events fixes
This commit is contained in:
committed by
Arnold Gálovics
parent
699f61a9e1
commit
5a9ddab671
+1
-3
@@ -26,7 +26,6 @@ import javax.persistence.Entity;
|
||||
import javax.persistence.EnumType;
|
||||
import javax.persistence.Enumerated;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.Lob;
|
||||
import javax.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
@@ -44,8 +43,7 @@ public class ExternalEvent extends AbstractPersistableCustom {
|
||||
private String type;
|
||||
|
||||
@Basic(fetch = FetchType.LAZY)
|
||||
@Lob
|
||||
@Column(name = "data", nullable = false, columnDefinition = "BLOB NOT NULL")
|
||||
@Column(name = "data", nullable = false)
|
||||
private byte[] data;
|
||||
|
||||
@Column(name = "created_at", nullable = false)
|
||||
|
||||
+18
@@ -1,3 +1,21 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.fineract.infrastructure.event.external.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
+18
@@ -1,3 +1,21 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.fineract.infrastructure.event.external.service.support;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
+31
-6
@@ -386,23 +386,44 @@ public final class SavingsAccountData implements Serializable {
|
||||
return this.minOverdraftForInterestCalculation;
|
||||
}
|
||||
|
||||
public Integer getInterestPostingPeriodType() {
|
||||
public EnumOptionData getInterestPostingPeriodType() {
|
||||
return this.interestPostingPeriodType;
|
||||
}
|
||||
|
||||
public Integer getInterestPostingPeriodTypeId() {
|
||||
return this.interestPostingPeriodType.getId().intValue();
|
||||
}
|
||||
|
||||
public Integer getDepositType() {
|
||||
public EnumOptionData getDepositType() {
|
||||
return this.depositType;
|
||||
}
|
||||
|
||||
public Integer getDepositTypeId() {
|
||||
return this.depositType.getId().intValue();
|
||||
}
|
||||
|
||||
public Integer getInterestCompoundingPeriodType() {
|
||||
public EnumOptionData getInterestCompoundingPeriodType() {
|
||||
return this.interestCompoundingPeriodType;
|
||||
}
|
||||
|
||||
|
||||
public Integer getInterestCompoundingPeriodTypeId() {
|
||||
return this.interestCompoundingPeriodType.getId().intValue();
|
||||
}
|
||||
|
||||
public Integer getInterestCalculationType() {
|
||||
public EnumOptionData getInterestCalculationType() {
|
||||
return this.interestCalculationType;
|
||||
}
|
||||
|
||||
public Integer getInterestCalculationTypeId() {
|
||||
return this.interestCalculationType.getId().intValue();
|
||||
}
|
||||
|
||||
public Integer getInterestCalculationDaysInYearType() {
|
||||
public EnumOptionData getInterestCalculationDaysInYearType() {
|
||||
return this.interestCalculationDaysInYearType;
|
||||
}
|
||||
|
||||
public Integer getInterestCalculationDaysInYearTypeId() {
|
||||
return this.interestCalculationDaysInYearType.getId().intValue();
|
||||
}
|
||||
|
||||
@@ -446,7 +467,11 @@ public final class SavingsAccountData implements Serializable {
|
||||
return activationLocalDate;
|
||||
}
|
||||
|
||||
public Integer getLockinPeriodFrequencyType() {
|
||||
public EnumOptionData getLockinPeriodFrequencyType() {
|
||||
return this.lockinPeriodFrequencyType;
|
||||
}
|
||||
|
||||
public Integer getLockinPeriodFrequencyTypeId() {
|
||||
return this.lockinPeriodFrequencyType.getId().intValue();
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -225,13 +225,13 @@ public class SavingsAccountInterestPostingServiceImpl implements SavingsAccountI
|
||||
// A generate list of EndOfDayBalances (not including interest postings)
|
||||
|
||||
final SavingsPostingInterestPeriodType postingPeriodType = SavingsPostingInterestPeriodType
|
||||
.fromInt(savingsAccountData.getInterestPostingPeriodType());
|
||||
.fromInt(savingsAccountData.getInterestPostingPeriodTypeId());
|
||||
|
||||
final SavingsCompoundingInterestPeriodType compoundingPeriodType = SavingsCompoundingInterestPeriodType
|
||||
.fromInt(savingsAccountData.getInterestCompoundingPeriodType());
|
||||
.fromInt(savingsAccountData.getInterestCompoundingPeriodTypeId());
|
||||
|
||||
final SavingsInterestCalculationDaysInYearType daysInYearType = SavingsInterestCalculationDaysInYearType
|
||||
.fromInt(savingsAccountData.getInterestCalculationDaysInYearType());
|
||||
.fromInt(savingsAccountData.getInterestCalculationDaysInYearTypeId());
|
||||
|
||||
List<LocalDate> postedAsOnDates = getManualPostingDates(savingsAccountData);
|
||||
if (postInterestOnDate != null) {
|
||||
@@ -260,7 +260,7 @@ public class SavingsAccountInterestPostingServiceImpl implements SavingsAccountI
|
||||
}
|
||||
|
||||
final SavingsInterestCalculationType interestCalculationType = SavingsInterestCalculationType
|
||||
.fromInt(savingsAccountData.getInterestCalculationType());
|
||||
.fromInt(savingsAccountData.getInterestCalculationTypeId());
|
||||
final BigDecimal interestRateAsFraction = getEffectiveInterestRateAsFraction(mc, upToInterestCalculationDate, savingsAccountData);
|
||||
final BigDecimal overdraftInterestRateAsFraction = getEffectiveOverdraftInterestRateAsFraction(mc, savingsAccountData);
|
||||
final Collection<Long> interestPostTransactions = this.savingsHelper.fetchPostInterestTransactionIds(savingsAccountData.getId());
|
||||
|
||||
@@ -64,4 +64,5 @@
|
||||
<include file="parts/0042_table_report_query_fix.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0043_add_external_event_table.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0044_table_report_query_fix.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0045_external_event_table_data_binary.xml" relativeToChangelogFile="true"/>
|
||||
</databaseChangeLog>
|
||||
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
<changeSet author="fineract" id="1">
|
||||
<delete tableName="m_external_event"/>
|
||||
</changeSet>
|
||||
<changeSet author="fineract" id="2-mysql" context="mysql">
|
||||
<dropColumn tableName="m_external_event" columnName="data"/>
|
||||
<addColumn tableName="m_external_event">
|
||||
<column name="data" type="VARBINARY">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
<changeSet author="fineract" id="2-postgresql" context="postgresql">
|
||||
<dropColumn tableName="m_external_event" columnName="data"/>
|
||||
<addColumn tableName="m_external_event">
|
||||
<column name="data" type="BYTEA">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
<changeSet author="fineract" id="3">
|
||||
<dropColumn tableName="m_external_event" columnName="idempotency_key"/>
|
||||
<addColumn tableName="m_external_event">
|
||||
<column name="idempotency_key" type="VARCHAR(100)">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
<changeSet author="fineract" id="4">
|
||||
<dropColumn tableName="m_external_event" columnName="sent_at"/>
|
||||
<addColumn tableName="m_external_event">
|
||||
<column name="sent_at" type="timestamp">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
</databaseChangeLog>
|
||||
Reference in New Issue
Block a user