Skip to content

Commit 3f79f12

Browse files
committed
fix22
1 parent 375301b commit 3f79f12

2 files changed

Lines changed: 14 additions & 6 deletions

File tree

ewm-service/src/main/java/ru/practicum/ewm/event/repository/EventRepository.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.springframework.data.jpa.repository.Query;
77
import org.springframework.data.repository.query.Param;
88
import ru.practicum.ewm.event.model.Event;
9+
import ru.practicum.ewm.event.model.EventState;
910

1011
import java.time.LocalDateTime;
1112
import java.util.List;
@@ -19,11 +20,11 @@ public interface EventRepository extends JpaRepository<Event, Long> {
1920
"WHERE (:users IS NULL OR e.initiator.id IN :users) " +
2021
"AND (:states IS NULL OR e.state IN :states) " +
2122
"AND (:categories IS NULL OR e.category.id IN :categories) " +
22-
"AND (CAST(:rangeStart AS timestamp) IS NULL OR e.eventDate >= :rangeStart) " +
23-
"AND (CAST(:rangeEnd AS timestamp) IS NULL OR e.eventDate <= :rangeEnd) " +
23+
"AND (:rangeStart IS NULL OR e.eventDate >= :rangeStart) " +
24+
"AND (:rangeEnd IS NULL OR e.eventDate <= :rangeEnd) " +
2425
"ORDER BY e.id")
2526
Page<Event> searchEventsAdmin(@Param("users") List<Long> users,
26-
@Param("states") List<String> states,
27+
@Param("states") List<EventState> states, // теперь enum
2728
@Param("categories") List<Long> categories,
2829
@Param("rangeStart") LocalDateTime rangeStart,
2930
@Param("rangeEnd") LocalDateTime rangeEnd,
@@ -36,8 +37,8 @@ Page<Event> searchEventsAdmin(@Param("users") List<Long> users,
3637
" LOWER(e.description) LIKE LOWER(CONCAT('%', :text, '%'))) " +
3738
"AND (:categories IS NULL OR e.category.id IN :categories) " +
3839
"AND (:paid IS NULL OR e.paid = :paid) " +
39-
"AND (CAST(:rangeStart AS timestamp) IS NULL OR e.eventDate >= :rangeStart) " +
40-
"AND (CAST(:rangeEnd AS timestamp) IS NULL OR e.eventDate <= :rangeEnd) " +
40+
"AND (:rangeStart IS NULL OR e.eventDate >= :rangeStart) " +
41+
"AND (:rangeEnd IS NULL OR e.eventDate <= :rangeEnd) " +
4142
"ORDER BY e.eventDate")
4243
Page<Event> searchEventsPublic(@Param("text") String text,
4344
@Param("categories") List<Long> categories,

ewm-service/src/main/java/ru/practicum/ewm/event/service/EventServiceImpl.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,17 @@ public List<EventFullDto> getEventsForAdmin(AdminEventSearchParams params) {
111111
throw new IllegalArgumentException("Параметры from и size должны быть > 0");
112112
}
113113

114+
List<EventState> states = null;
115+
if (params.getStates() != null && !params.getStates().isEmpty()) {
116+
states = params.getStates().stream()
117+
.map(EventState::valueOf)
118+
.collect(Collectors.toList());
119+
}
120+
114121
Pageable pageable = PageRequest.of(from / size, size, Sort.by("id"));
115122
Page<Event> page = eventRepository.searchEventsAdmin(
116123
params.getUsers(),
117-
params.getStates(),
124+
states,
118125
params.getCategories(),
119126
params.getRangeStart(),
120127
params.getRangeEnd(),

0 commit comments

Comments
 (0)