77import org .springframework .data .domain .PageRequest ;
88import org .springframework .data .domain .Pageable ;
99import org .springframework .data .domain .Sort ;
10- import org .springframework .data .jpa .domain .Specification ;
1110import org .springframework .stereotype .Service ;
1211import org .springframework .transaction .annotation .Transactional ;
1312import ru .practicum .ewm .category .model .Category ;
@@ -103,6 +102,33 @@ public EventFullDto updateUserEvent(Long userId, Long eventId, UpdateEventUserRe
103102 return EventMapper .toEventFullDto (event , 0L , 0L );
104103 }
105104
105+ // @Override
106+ // @Transactional(readOnly = true)
107+ // public List<EventFullDto> getEventsForAdmin(AdminEventSearchParams params) {
108+ // int from = params.getFrom();
109+ // int size = params.getSize();
110+ // if (size <= 0 || from < 0) {
111+ // throw new IllegalArgumentException("Параметры from и size должны быть > 0");
112+ // }
113+ //
114+ // Pageable pageable = PageRequest.of(from / size, size, Sort.by("id"));
115+ // Page<Event> page = eventRepository.searchEventsAdmin(
116+ // params.getUsers(),
117+ // params.getStates(),
118+ // params.getCategories(),
119+ // params.getRangeStart(),
120+ // params.getRangeEnd(),
121+ // pageable);
122+ //
123+ // List<Event> events = page.getContent();
124+ // List<Long> eventIds = events.stream().map(Event::getId).collect(Collectors.toList());
125+ // Map<Long, Long> confirmedRequestsMap = eventRepository.countConfirmedRequestsBatch(eventIds);
126+ //
127+ // return events.stream()
128+ // .map(event -> EventMapper.toEventFullDto(event, 0L, confirmedRequestsMap.getOrDefault(event.getId(), 0L)))
129+ // .collect(Collectors.toList());
130+ // }
131+
106132 @ Override
107133 @ Transactional (readOnly = true )
108134 public List <EventFullDto > getEventsForAdmin (AdminEventSearchParams params ) {
@@ -112,10 +138,18 @@ public List<EventFullDto> getEventsForAdmin(AdminEventSearchParams params) {
112138 throw new IllegalArgumentException ("Параметры from и size должны быть > 0" );
113139 }
114140
141+ // Преобразуем строки в enum
142+ List <EventState > stateEnums = null ;
143+ if (params .getStates () != null && !params .getStates ().isEmpty ()) {
144+ stateEnums = params .getStates ().stream ()
145+ .map (EventState ::valueOf )
146+ .collect (Collectors .toList ());
147+ }
148+
115149 Pageable pageable = PageRequest .of (from / size , size , Sort .by ("id" ));
116150 Page <Event > page = eventRepository .searchEventsAdmin (
117151 params .getUsers (),
118- params . getStates () ,
152+ stateEnums ,
119153 params .getCategories (),
120154 params .getRangeStart (),
121155 params .getRangeEnd (),
0 commit comments