@@ -141,6 +141,39 @@ public EventFullDto updateUserEvent(Long userId, Long eventId, UpdateEventUserRe
141141 return EventMapper .toEventFullDto (event , 0L , 0L );
142142 }
143143
144+ // @Override
145+ // @Transactional(readOnly = true)
146+ // public List<EventFullDto> getEventsForAdmin(AdminEventSearchParams params) {
147+ // int from = params.getFrom();
148+ // int size = params.getSize();
149+ // if (size <= 0 || from < 0) {
150+ // throw new IllegalArgumentException("Параметры from и size должны быть > 0");
151+ // }
152+ // List<EventState> stateEnums = null;
153+ // if (params.getStates() != null && !params.getStates().isEmpty()) {
154+ // stateEnums = params.getStates().stream()
155+ // .map(EventState::valueOf)
156+ // .collect(Collectors.toList());
157+ // }
158+ //
159+ // Pageable pageable = PageRequest.of(from / size, size, Sort.by("id"));
160+ // Page<Event> page = eventRepository.searchEventsAdmin(
161+ // params.getUsers(),
162+ // stateEnums,
163+ // params.getCategories(),
164+ // params.getRangeStart(),
165+ // params.getRangeEnd(),
166+ // pageable);
167+ //
168+ // List<Event> events = page.getContent();
169+ // List<Long> eventIds = events.stream().map(Event::getId).collect(Collectors.toList());
170+ // Map<Long, Long> confirmedRequestsMap = eventRepository.countConfirmedRequestsBatch(eventIds);
171+ //
172+ // return events.stream()
173+ // .map(event -> EventMapper.toEventFullDto(event, 0L, confirmedRequestsMap.getOrDefault(event.getId(), 0L)))
174+ // .collect(Collectors.toList());
175+ // }
176+
144177 @ Override
145178 @ Transactional (readOnly = true )
146179 public List <EventFullDto > getEventsForAdmin (AdminEventSearchParams params ) {
@@ -157,13 +190,20 @@ public List<EventFullDto> getEventsForAdmin(AdminEventSearchParams params) {
157190 }
158191
159192 Pageable pageable = PageRequest .of (from / size , size , Sort .by ("id" ));
160- Page <Event > page = eventRepository .searchEventsAdmin (
161- params .getUsers (),
162- stateEnums ,
163- params .getCategories (),
164- params .getRangeStart (),
165- params .getRangeEnd (),
166- pageable );
193+
194+ Page <Event > page ;
195+ try {
196+ page = eventRepository .searchEventsAdmin (
197+ params .getUsers (),
198+ stateEnums ,
199+ params .getCategories (),
200+ params .getRangeStart (),
201+ params .getRangeEnd (),
202+ pageable );
203+ } catch (Exception e ) {
204+ log .error ("Error in searchEventsAdmin: " , e );
205+ throw e ;
206+ }
167207
168208 List <Event > events = page .getContent ();
169209 List <Long > eventIds = events .stream ().map (Event ::getId ).collect (Collectors .toList ());
@@ -174,59 +214,6 @@ public List<EventFullDto> getEventsForAdmin(AdminEventSearchParams params) {
174214 .collect (Collectors .toList ());
175215 }
176216
177-
178- // @Override
179- // @Transactional
180- // public EventFullDto updateEventByAdmin(Long eventId, UpdateEventAdminRequest request) {
181- // Event event = eventRepository.findById(eventId)
182- // .orElseThrow(() -> new NotFoundException("Событие с id=" + eventId + " не найдено"));
183- //
184- // if (request.getStateAction() != null) {
185- // if (request.getStateAction().equals("PUBLISH_EVENT")) {
186- // if (event.getState() != EventState.PENDING) {
187- // throw new ConflictException("Событие можно публиковать только в статусе PENDING");
188- // }
189- // if (event.getEventDate().isBefore(LocalDateTime.now().plusHours(1))) {
190- // throw new ConflictException("Дата начала события должна быть не ранее чем за час от текущего момента");
191- // }
192- // event.setState(EventState.PUBLISHED);
193- // event.setPublishedOn(LocalDateTime.now());
194- // } else if (request.getStateAction().equals("REJECT_EVENT")) {
195- // if (event.getState() == EventState.PUBLISHED) {
196- // throw new ConflictException("Нельзя отклонить уже опубликованное событие");
197- // }
198- // event.setState(EventState.CANCELED);
199- // }
200- // }
201- //
202- // if (request.getAnnotation() != null) event.setAnnotation(request.getAnnotation());
203- // if (request.getDescription() != null) event.setDescription(request.getDescription());
204- // if (request.getTitle() != null) event.setTitle(request.getTitle());
205- // if (request.getParticipantLimit() != null) event.setParticipantLimit(request.getParticipantLimit());
206- // if (request.getPaid() != null) event.setPaid(request.getPaid());
207- // if (request.getRequestModeration() != null) event.setRequestModeration(request.getRequestModeration());
208- //
209- // if (request.getEventDate() != null) {
210- // if (request.getEventDate().isBefore(LocalDateTime.now().plusHours(2))) {
211- // throw new ConflictException("Дата события не может быть раньше чем через 2 часа от текущего момента");
212- // }
213- // event.setEventDate(request.getEventDate());
214- // }
215- //
216- // if (request.getCategory() != null) {
217- // Category newCategory = categoryRepository.findById(request.getCategory())
218- // .orElseThrow(() -> new NotFoundException("Категория с id=" + request.getCategory() + " не найдена"));
219- // event.setCategory(newCategory);
220- // }
221- //
222- // if (request.getLocation() != null) event.setLocation(request.getLocation());
223- //
224- // event = eventRepository.save(event);
225- // Long views = 0L;
226- // Long confirmed = eventRepository.countConfirmedRequests(eventId);
227- // return EventMapper.toEventFullDto(event, views, confirmed);
228- // }
229-
230217 @ Override
231218 @ Transactional
232219 public EventFullDto updateEventByAdmin (Long eventId , UpdateEventAdminRequest request ) {
0 commit comments