Added AccountBalanceMapStore, refactoring AccountBalance
This commit is contained in:
parent
26c1fd84c7
commit
245e4d03b6
4 changed files with 280 additions and 40 deletions
|
|
@ -3,7 +3,8 @@ package ru.clearing.classes.statics.data.account;
|
|||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Счета
|
||||
|
|
@ -12,33 +13,175 @@ import java.time.Instant;
|
|||
**/
|
||||
public class AccountBalance extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Long companyId;
|
||||
private Long accountId;
|
||||
private Long accountType;
|
||||
private String account;
|
||||
private String accountType;
|
||||
private Long relationId;
|
||||
private String status;
|
||||
private String processingSign;
|
||||
private BigDecimal openBalanceAmount;
|
||||
private BigDecimal startBalanceAmount;
|
||||
private BigDecimal closeBalanceAmount;
|
||||
private BigDecimal tradeBalanceAmount;
|
||||
private BigDecimal freeBalanceAmount;
|
||||
private BigDecimal changeBalanceAmount;
|
||||
private BigDecimal creditAmount;
|
||||
private BigDecimal debitAmount;
|
||||
private BigDecimal balanceAmount;
|
||||
private String balanceAccountType;
|
||||
private LocalDate clearingDate;
|
||||
private String currencyCode;
|
||||
private String tradingCode;
|
||||
private String shortName;
|
||||
private String fullName;
|
||||
|
||||
private Long company_id; //bigint,
|
||||
private Instant created_at; //timestamp,
|
||||
private Instant updated_at; //timestamp,
|
||||
private Long account_id; //bigint,
|
||||
private Long account_type; //bigint,
|
||||
// private Long account; //bigint,
|
||||
private String open_balance_amount; //numeric(72, 18),
|
||||
private String start_balance_amount; //numeric(72, 18),
|
||||
private String close_balance_amount; //numeric(72, 18),
|
||||
private String trade_balance_amount; //numeric(72, 18),
|
||||
private String free_balance_amount; //numeric(72, 18),
|
||||
private String change_balance_amount; //numeric(72, 18),
|
||||
private String credit_amount; //numeric(72, 18),
|
||||
private String debit_amount; //numeric(72, 18),
|
||||
private String balance_amount; //numeric(72, 18),
|
||||
private String balance_account_type; //char(4),
|
||||
private Instant clearing_date; //date,
|
||||
private String currency_code; //char(4),
|
||||
private String trading_code; //varchar(255),
|
||||
private String short_name; //varchar(255),
|
||||
private String full_name; //varchar(255)
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public Long getAccountId() {
|
||||
return accountId;
|
||||
}
|
||||
|
||||
public void setAccountId(Long accountId) {
|
||||
this.accountId = accountId;
|
||||
}
|
||||
|
||||
public Long getAccountType() {
|
||||
return accountType;
|
||||
}
|
||||
|
||||
public void setAccountType(Long accountType) {
|
||||
this.accountType = accountType;
|
||||
}
|
||||
|
||||
public String getAccount() {
|
||||
return account;
|
||||
}
|
||||
|
||||
public void setAccount(String account) {
|
||||
this.account = account;
|
||||
}
|
||||
|
||||
public BigDecimal getOpenBalanceAmount() {
|
||||
return openBalanceAmount;
|
||||
}
|
||||
|
||||
public void setOpenBalanceAmount(BigDecimal openBalanceAmount) {
|
||||
this.openBalanceAmount = openBalanceAmount;
|
||||
}
|
||||
|
||||
public BigDecimal getStartBalanceAmount() {
|
||||
return startBalanceAmount;
|
||||
}
|
||||
|
||||
public void setStartBalanceAmount(BigDecimal startBalanceAmount) {
|
||||
this.startBalanceAmount = startBalanceAmount;
|
||||
}
|
||||
|
||||
public BigDecimal getCloseBalanceAmount() {
|
||||
return closeBalanceAmount;
|
||||
}
|
||||
|
||||
public void setCloseBalanceAmount(BigDecimal closeBalanceAmount) {
|
||||
this.closeBalanceAmount = closeBalanceAmount;
|
||||
}
|
||||
|
||||
public BigDecimal getTradeBalanceAmount() {
|
||||
return tradeBalanceAmount;
|
||||
}
|
||||
|
||||
public void setTradeBalanceAmount(BigDecimal tradeBalanceAmount) {
|
||||
this.tradeBalanceAmount = tradeBalanceAmount;
|
||||
}
|
||||
|
||||
public BigDecimal getFreeBalanceAmount() {
|
||||
return freeBalanceAmount;
|
||||
}
|
||||
|
||||
public void setFreeBalanceAmount(BigDecimal freeBalanceAmount) {
|
||||
this.freeBalanceAmount = freeBalanceAmount;
|
||||
}
|
||||
|
||||
public BigDecimal getChangeBalanceAmount() {
|
||||
return changeBalanceAmount;
|
||||
}
|
||||
|
||||
public void setChangeBalanceAmount(BigDecimal changeBalanceAmount) {
|
||||
this.changeBalanceAmount = changeBalanceAmount;
|
||||
}
|
||||
|
||||
public BigDecimal getCreditAmount() {
|
||||
return creditAmount;
|
||||
}
|
||||
|
||||
public void setCreditAmount(BigDecimal creditAmount) {
|
||||
this.creditAmount = creditAmount;
|
||||
}
|
||||
|
||||
public BigDecimal getDebitAmount() {
|
||||
return debitAmount;
|
||||
}
|
||||
|
||||
public void setDebitAmount(BigDecimal debitAmount) {
|
||||
this.debitAmount = debitAmount;
|
||||
}
|
||||
|
||||
public BigDecimal getBalanceAmount() {
|
||||
return balanceAmount;
|
||||
}
|
||||
|
||||
public void setBalanceAmount(BigDecimal balanceAmount) {
|
||||
this.balanceAmount = balanceAmount;
|
||||
}
|
||||
|
||||
public String getBalanceAccountType() {
|
||||
return balanceAccountType;
|
||||
}
|
||||
|
||||
public void setBalanceAccountType(String balanceAccountType) {
|
||||
this.balanceAccountType = balanceAccountType;
|
||||
}
|
||||
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
|
||||
public void setClearingDate(LocalDate clearingDate) {
|
||||
this.clearingDate = clearingDate;
|
||||
}
|
||||
|
||||
public String getCurrencyCode() {
|
||||
return currencyCode;
|
||||
}
|
||||
|
||||
public void setCurrencyCode(String currencyCode) {
|
||||
this.currencyCode = currencyCode;
|
||||
}
|
||||
|
||||
public String getTradingCode() {
|
||||
return tradingCode;
|
||||
}
|
||||
|
||||
public void setTradingCode(String tradingCode) {
|
||||
this.tradingCode = tradingCode;
|
||||
}
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
}
|
||||
|
|
@ -40,7 +40,7 @@ public class IMDGApplication {
|
|||
for (String mapName : hazelcastInstance.getConfig().getMapConfigs().keySet()) {
|
||||
MapStoreConfig mapStoreConfig = hazelcastInstance.getConfig().getMapConfig(mapName).getMapStoreConfig();
|
||||
Object mapStore = mapStoreConfig.getImplementation();
|
||||
String tableName = mapStore == null ? "Не получилось сопоставить mapStore: is null" : "Не получилось сопоставить: " + mapStore.getClass() + " с таблицей";
|
||||
String tableName;
|
||||
if (mapStore instanceof TemplateMapStore) {
|
||||
tableName = ((TemplateMapStore<?>) mapStore).getTableName();
|
||||
} else if (mapStore instanceof DictionaryMapStore) {
|
||||
|
|
@ -52,13 +52,14 @@ public class IMDGApplication {
|
|||
} else if (mapName.equals("default")) {
|
||||
continue;
|
||||
} else {
|
||||
System.out.println(tableName);
|
||||
System.out.println(mapStore == null ? "Не получилось сопоставить mapStore: is null" : "Не получилось сопоставить: " + mapStore.getClass() + " с таблицей");
|
||||
continue;
|
||||
}
|
||||
nameTables.remove(tableName.toLowerCase());
|
||||
}
|
||||
//вывод результата поиска
|
||||
System.out.println("** Результата поиска таблиц которым нужно добавить mapStore **");
|
||||
nameTables.forEach(System.out::println);
|
||||
|
||||
System.out.println("**************************************************************");
|
||||
} catch (Throwable e) {
|
||||
LoggerFactory.getLogger(IMDGApplication.class).error("STORAGE start failed: {} -> {}", e.getClass().getSimpleName(), e.getMessage());
|
||||
System.exit(-1);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,99 @@
|
|||
package ru.spcex.clearing.imdg.businessobject;
|
||||
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.account.AccountBalance;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.imdg.base.TemplateMapStore;
|
||||
import ru.spcex.platform.utils.time.TimeUtil;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
@Component
|
||||
public class AccountBalanceMapStore extends TemplateMapStore<AccountBalance> {
|
||||
|
||||
public AccountBalanceMapStore(JdbcTemplate jdbcTemplate) {
|
||||
super(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMapName() {
|
||||
return IMDGDistributedNames.Map_AccountBalance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableName() {
|
||||
return "ACCOUNT_BALANCE";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getFields() {
|
||||
return new String[]{
|
||||
"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 AccountBalance objectReader(ResultSet resultSet) throws SQLException {
|
||||
AccountBalance object = new AccountBalance();
|
||||
object.setId(resultSet.getObject("ID", Long.class));
|
||||
object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class));
|
||||
object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT"));
|
||||
object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT"));
|
||||
object.setAccountId(resultSet.getObject("ACCOUNT_ID", Long.class));
|
||||
object.setAccountType(resultSet.getObject("ACCOUNT_TYPE", Long.class));
|
||||
object.setAccount(resultSet.getObject("ACCOUNT", String.class));
|
||||
object.setOpenBalanceAmount(resultSet.getObject("OPEN_BALANCE_AMOUNT", BigDecimal.class));
|
||||
object.setStartBalanceAmount(resultSet.getObject("START_BALANCE_AMOUNT", BigDecimal.class));
|
||||
object.setCloseBalanceAmount(resultSet.getObject("CLOSE_BALANCE_AMOUNT", BigDecimal.class));
|
||||
object.setTradeBalanceAmount(resultSet.getObject("TRADE_BALANCE_AMOUNT", BigDecimal.class));
|
||||
object.setFreeBalanceAmount(resultSet.getObject("FREE_BALANCE_AMOU", BigDecimal.class));
|
||||
object.setChangeBalanceAmount(resultSet.getObject("CHANGE_BALANCE_AMOUNT", BigDecimal.class));
|
||||
object.setCreditAmount(resultSet.getObject("CREDIT_AMOUNT", BigDecimal.class));
|
||||
object.setDebitAmount(resultSet.getObject("DEBIT_AMOUNT", BigDecimal.class));
|
||||
object.setBalanceAmount(resultSet.getObject("BALANCE_AMOUNT", BigDecimal.class));
|
||||
object.setBalanceAccountType(resultSet.getObject("BALANCE_ACCOUNT_TYPE", String.class));
|
||||
object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE"));
|
||||
object.setCurrencyCode(resultSet.getObject("CURRENCY_CODE", String.class));
|
||||
object.setTradingCode(resultSet.getObject("TRADING_CODE", String.class));
|
||||
object.setShortName(resultSet.getObject("SHORT_NAME", String.class));
|
||||
object.setFullName(resultSet.getObject("FULL_NAME", String.class));
|
||||
return object;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] objectToField(AccountBalance object) {
|
||||
Object[] args = new Object[]{
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -4,9 +4,6 @@ package ru.spcex.clearing.imdg;
|
|||
* Список имён распределённых объектов
|
||||
*/
|
||||
public final class IMDGDistributedNames {
|
||||
private IMDGDistributedNames() {
|
||||
}
|
||||
|
||||
public static final String Map_Company = "Map_Company";
|
||||
public static final String Map_CompanyHistory = "Map_CompanyHistory";
|
||||
public static final String Map_CompanyRoleSet = "Map_CompanyRoleSet";
|
||||
|
|
@ -15,6 +12,7 @@ public final class IMDGDistributedNames {
|
|||
public static final String Map_Contact = "Map_Contact";
|
||||
public static final String Map_ProfileDocument = "Map_ProfileDocument";
|
||||
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_Relation = "Map_Relation";
|
||||
public static final String Map_ClearingAccount = "Map_ClearingAccount";
|
||||
|
|
@ -43,7 +41,6 @@ public final class IMDGDistributedNames {
|
|||
public static final String Map_Timetable = "Map_Timetable";
|
||||
public static final String Map_InDocumentJournal = "Map_InDocumentJournal";
|
||||
public static final String Map_OutDocumentJournal = "Map_OutDocumentJournal";
|
||||
|
||||
public static final String Map_SDf01 = "Map_SDf01";
|
||||
public static final String Map_SDf02 = "Map_SDf02";
|
||||
public static final String Map_SDf03 = "Map_SDf03";
|
||||
|
|
@ -58,10 +55,9 @@ public final class IMDGDistributedNames {
|
|||
public static final String Map_SDf09 = "Map_SDf09";
|
||||
public static final String Map_SDf12 = "Map_SDf12";
|
||||
public static final String Map_SDf18 = "Map_SDf18";
|
||||
|
||||
// public static final String Map_InterestStatusDictionary = "Map_InterestStatusDictionary"; future
|
||||
// public static final String Map_InterestStatusDictionary = "Map_InterestStatusDictionary"; future
|
||||
public static final String Map_AllowedDictionary = "Map_AllowedDictionary";
|
||||
// public static final String Map_ClearingMemberCategoryDictionary = "Map_ClearingMemberCategoryDictionary"; future
|
||||
// public static final String Map_ClearingMemberCategoryDictionary = "Map_ClearingMemberCategoryDictionary"; future
|
||||
public static final String Map_CompanyRoleDictionary = "Map_CompanyRoleDictionary";
|
||||
public static final String Map_CompanySymbolDictionary = "Map_CompanySymbolDictionary";
|
||||
public static final String Map_ContactTypeDictionary = "Map_ContactTypeDictionary";
|
||||
|
|
@ -103,9 +99,10 @@ public final class IMDGDistributedNames {
|
|||
public static final String Map_UserSettings = "Map_UserSettings";
|
||||
public static final String Map_UserRoleSession = "Map_UserRoleSession";
|
||||
public static final String Map_AccountStatusDictionary = "Map_AccountStatusDictionary";
|
||||
|
||||
public static final String Map_KeyRate = "Map_KeyRate";
|
||||
public static final String Map_MoneyMarketSecurity = "Map_MoneyMarketSecurity";
|
||||
|
||||
public static final String MAP_SEQUENCE_NAME = "MAP_SEQUENCE_NAME"; // todo вынести idGenerator отдельно и завернуть в метод, чтобы не напрямую обращаться.
|
||||
|
||||
private IMDGDistributedNames() {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue