3.6Kпросмотров
88.2%от подписчиков
13 марта 2026 г.
Score: 4.0K
Сбер
Сбер // 1. Добавить недостающие аннотации public class OrganizationController { private final OrganizationService organizationService public void create(List<Organization> organizations) { organizationService.create(organizations); }
} public interface OrganizationService { void create(List<Organization> organizations);
} public class OrganizationServiceImpl implements OrganizationService { @Override public void create(List<Organization> organizations) { // Валидация атрибутов организаций validate(organizations); // Маппинг организаций на сущности Set<OrganizationEntity> entities = map(organizations); // Сохранение организаций в БД save(entities); } private void validate(List<Organization> organizations) { // 2. Проверить что список организаций не пустой // 3. Проверить что нет организаций без счетов // 4. Посчитать общее количество счетов у всех организаций // и проверить что количество счетов не больше 10 // 5. Для каждого счета проверить что // - счет не пустой // - счет содержит только цифры private Set<OrganizationEntity> map(List<Organization> organizations) { // 6. Удалить дубликаты счетов // Organization(accounts=[1, 1]) -> Organization(accounts=[1]) // 7. Из списка организаций составить множество сущностей // Organization(accounts=[1, 2]) -> [OrganizationEntity(account=1), OrganizationEntity(account=2)] return null; } private void save(Set<OrganizationEntity> entities) { }
} @Getter
@Setter
public class Organization { /** Счета */ private List<String> accounts;
} @Getter
@Setter
@Entity
@Table(name = "ORGANIZATION")
@EqualsAndHashCode(of = "account")
public class OrganizationEntity { /** Идентификатор записи */ @Id @GeneratedValue @Column(name = "ID") private UUID id; /** Счет */ @Column(name = "ACCOUNT") private Integer account;
}
#sber
Прислать задачу | Подписаться