У меня есть некоторая логика, которая будет создавать уведомления на основе пользователей, которые неактивны. Я получаю список пользователей, у которых есть следующие свойства. То, что я пытаюсь сделать, только инициирует метод создания уведомлений, если у отдела есть неактивный пользователь. Поэтому, учитывая список ниже, в основном 1 уведомление будет получить создано говоря есть неактивный пользователь в отдел 1 и еще одно уведомление для DEPT 2. Надеюсь, что это имеет смыслjava stream сортировать/фильтровать через список по свойствам
users:
{name: John, active: f, deptId: 1}
{name: Jane, active: f, deptId: 1}
{name: Mike, active: t, deptId: 1}
{name: Joe, active: f, deptId: 2}
{name: Jim, active: t, deptId: 2}
Мой текущий код в основном хотел бы получить этот список, а затем проверьте активный флаг на каждом из них и создайте уведомление для каждого пользователя, но мне нужно его реорганизовать.
List<User> users = userRepository.findAll();
for(User u : users){
if(u != null && u.getActive == false){
....create Notification method
Что бы быть лучшим способом сгруппировать их по отделам, а затем только проверка, если есть активный флаг ложно для каждого из этих групп и создание 1 уведомления, а не уведомлений для каждого пользователя, который неактивен?
На самом деле я сделал опечатку и оставил что-то. Список фактически не поступает из домена пользователя. Он находится в другой таблице с именем UserUnprocessed, которая имеет внешний ключ userId в таблице User, поэтому для проверки этих свойств необходимо, чтобы это было –
UserUnprocessed.getUser(). GetDepartment - я бы все еще сможете использовать метод, который вы выписали? –