diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java new file mode 100644 index 000000000..3fd8f9d11 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java @@ -0,0 +1,28 @@ +package ru.clearing.classes.statics.data.account; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * Изменение состояния объекта Счета + *

+ * DB table: ACCOUNT_BALANCE_HISTORY + **/ +public class AccountBalanceHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private AccountBalance object; + + @Override + public AccountBalance getObject() { + return object; + } + + @Override + public void setObject(AccountBalance object) { + this.object = object; + } +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountBalanceHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountBalanceHistoryMapStore.java new file mode 100644 index 000000000..9e081556d --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountBalanceHistoryMapStore.java @@ -0,0 +1,73 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.account.AccountBalance; +import ru.clearing.classes.statics.data.account.AccountBalanceHistory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +@Component +public class AccountBalanceHistoryMapStore extends TemplateEventMapStore { + + public AccountBalanceHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_AccountBalanceHistory; + } + + @Override + public String getTableName() { + return "ACCOUNT_BALANCE_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", + "ACCOUNT_BALANCE_ID", "COMPANY_ID", "CREATED_AT", "UPDATED_AT", "ACCOUNT_ID", "ACCOUNT_TYPE", + "ACCOUNT", "OPEN_BALANCE_AMOUNT", "START_BALANCE_AMOUNT", "CLOSE_BALANCE_AMOUNT", + "TRADE_BALANCE_AMOUNT", "FREE_BALANCE_AMOUNT", "CHANGE_BALANCE_AMOUNT", + "CREDIT_AMOUNT", "DEBIT_AMOUNT", "BALANCE_AMOUNT", "BALANCE_ACCOUNT_TYPE", + "CLEARING_DATE", "CURRENCY_CODE", "TRADING_CODE", "SHORT_NAME", "FULL_NAME" + }; + } + + @Override + public Object[] objectToField(AccountBalanceHistory updateLog) { + AccountBalance object = updateLog.getObject(); + Object[] args = new Object[]{ + updateLog.getId(), + updateLog.getEventTime(), + updateLog.getUserId(), + + object.getId(), + object.getCompanyId(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()), + object.getAccountId(), + object.getAccountType(), + object.getAccount(), + object.getOpenBalanceAmount(), + object.getStartBalanceAmount(), + object.getCloseBalanceAmount(), + object.getTradeBalanceAmount(), + object.getFreeBalanceAmount(), + object.getChangeBalanceAmount(), + object.getCreditAmount(), + object.getDebitAmount(), + object.getBalanceAmount(), + object.getBalanceAccountType(), + TimeUtil.toDateFromLocalDate(object.getClearingDate()), + object.getCurrencyCode(), + object.getTradingCode(), + object.getShortName(), + object.getFullName() + }; + return args; + } + +} diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java index 78db13e26..26e7c9295 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java @@ -14,6 +14,7 @@ public final class IMDGDistributedNames { public static final String Map_Account = "Map_Account"; public static final String Map_AccountBalance = "Map_AccountBalance"; public static final String Map_AccountHistory = "Map_AccountHistory"; + public static final String Map_AccountBalanceHistory = "Map_AccountBalanceHistory"; public static final String Map_Relation = "Map_Relation"; public static final String Map_ClearingAccount = "Map_ClearingAccount"; public static final String Map_ClearingAccountHistory = "Map_ClearingAccountHistory";