-
Notifications
You must be signed in to change notification settings - Fork 2
Model
Roman Kuzmin edited this page Feb 16, 2025
·
1 revision
Файл: User.java
Представляет пользователя системы StarBank.
private String id; // Уникальный идентификатор пользователя
private String name; // Имя пользователяpublic String getId(); // Возвращает ID пользователя
public String getName(); // Возвращает имя пользователяФайл: Product.java
Представляет банковский продукт, который может быть рекомендован пользователю.
private String id; // Уникальный идентификатор продукта
private String name; // Название продукта
private String type; // Тип продукта (например, "DEBIT", "CREDIT", "INVEST")
private String description; // Описание продуктаpublic String getId(); // Возвращает ID продукта
public String getName(); // Возвращает название продукта
public String getType(); // Возвращает тип продукта
public String getDescription(); // Возвращает описание продуктаФайл: Transaction.java
Представляет транзакцию пользователя по продукту.
private String id; // Уникальный идентификатор транзакции
private User user; // Пользователь, совершивший транзакцию
private Product product; // Продукт, связанный с транзакцией
private double amount; // Сумма транзакции
private String type; // Тип транзакции (DEPOSIT или WITHDRAW)
private Timestamp date; // Дата и время транзакцииpublic String getId(); // Возвращает ID транзакции
public User getUser(); // Возвращает пользователя
public Product getProduct(); // Возвращает продукт
public double getAmount(); // Возвращает сумму транзакции
public String getType(); // Возвращает тип транзакции
public Timestamp getDate(); // Возвращает дату и время транзакцииФайл: Recommendation.java
Рекомендация, которую может получить пользователь.
private String id; // Уникальный идентификатор рекомендации
private String name; // Название рекомендации
private String text; // Текстовое описание рекомендацииpublic String getId(); // Возвращает ID рекомендации
public String getName(); // Возвращает название рекомендации
public String getText(); // Возвращает текст рекомендацииФайл: RecommendationResponse.java
Отвечает за формат вывода рекомендаций для пользователя.
private String userId; // Уникальный идентификатор пользователя
private List<Recommendation> recommendations; // Список рекомендацийpublic static RecommendationResponse empty(); // Возвращает пустой объект рекомендаций
public String getUserId(); // Возвращает ID пользователя
public void setUserId(String userId); // Устанавливает ID пользователя
public List<Recommendation> getRecommendations(); // Возвращает список рекомендаций
public void setRecommendations(List<Recommendation> recommendations); // Устанавливает список рекомендацийФайл: Rule.java
Описывает правило, которое используется для формирования рекомендаций.
private Long id; // Уникальный идентификатор правила
private RuleSet ruleSet; // Связанный набор правил
private String query; // Запрос, связанный с правилом
private String argumentsJson; // JSON-список аргументов
private boolean negate; // Флаг инверсии результатаpublic String getQuery(); // Возвращает запрос правила
public void setQuery(String query); // Устанавливает запрос правила
public boolean isNegate(); // Возвращает флаг инверсии
public void setNegate(boolean negate); // Устанавливает флаг инверсии
public List<String> getArguments(); // Возвращает список аргументов правила
public void setArguments(List<String> arguments); // Устанавливает аргументы правила
public RuleSet getRuleSet(); // Возвращает набор правил
public void setRuleSet(RuleSet ruleSet); // Устанавливает набор правилФайл: RuleSet.java
Группирует правила, относящиеся к одному продукту.
private Long id; // Уникальный идентификатор набора правил
private UUID productId; // Уникальный идентификатор продукта
private String productName; // Название продукта
private String productText; // Описание продукта
private List<Rule> rules; // Список правилpublic UUID getProductId(); // Возвращает ID продукта
public void setProductId(UUID productId); // Устанавливает ID продукта
public String getProductName(); // Возвращает название продукта
public void setProductName(String productName); // Устанавливает название продукта
public String getProductText(); // Возвращает описание продукта
public void setProductText(String productText); // Устанавливает описание продукта
public List<Rule> getRules(); // Возвращает список правил
public void setRules(List<Rule> rules); // Устанавливает список правилФайл: RuleSetWrapper.java
Обертка для списка наборов правил.
private List<RuleSet> data; // Список наборов правилpublic List<RuleSet> getData(); // Возвращает список наборов правилФайл: RuleStat.java
Статистика срабатывания правил.
private Long id; // Уникальный идентификатор статистики
private Long ruleId; // ID правила
private int count; // Количество срабатыванийpublic void increment(); // Увеличивает счетчик на 1
public Long getRuleId(); // Возвращает ID правила
public int getCount(); // Возвращает количество срабатываний- User → совершает Transaction.
- Transaction → относится к Product.
- Product → может входить в RuleSet.
- RuleSet → состоит из Rule.
- Rule → используется для формирования Recommendation.
- Recommendation → формируется на основе правил и отправляется пользователю.
Этот раздел Wiki GitHub документирует ключевые модели проекта StarBank и их взаимосвязи.