Skip to content

Commit 9243a3c

Browse files
committed
fix35
1 parent d52bf14 commit 9243a3c

3 files changed

Lines changed: 58 additions & 67 deletions

File tree

ewm-service/src/main/java/ru/practicum/ewm/event/controller/AdminEventController.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import jakarta.validation.constraints.Positive;
55
import jakarta.validation.constraints.PositiveOrZero;
66
import lombok.RequiredArgsConstructor;
7+
import lombok.extern.slf4j.Slf4j;
78
import org.springframework.format.annotation.DateTimeFormat;
89
import org.springframework.validation.annotation.Validated;
910
import org.springframework.web.bind.annotation.*;
@@ -19,14 +20,10 @@
1920
@RequestMapping("/admin/events")
2021
@RequiredArgsConstructor
2122
@Validated
23+
@Slf4j
2224
public class AdminEventController {
2325
private final EventService eventService;
2426

25-
// @GetMapping
26-
// public List<EventFullDto> getEvents(@Valid @ModelAttribute AdminEventSearchParams params) {
27-
// return eventService.getEventsForAdmin(params);
28-
// }
29-
3027
@GetMapping
3128
public List<EventFullDto> getEvents(@RequestParam(required = false) List<Long> users,
3229
@RequestParam(required = false) List<String> states,
@@ -35,6 +32,9 @@ public List<EventFullDto> getEvents(@RequestParam(required = false) List<Long> u
3532
@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime rangeEnd,
3633
@RequestParam(defaultValue = "0") @PositiveOrZero int from,
3734
@RequestParam(defaultValue = "10") @Positive int size) {
35+
log.info("Admin getEvents called with users={}, states={}, categories={}, rangeStart={}, rangeEnd={}, from={}, size={}",
36+
users, states, categories, rangeStart, rangeEnd, from, size);
37+
3838
AdminEventSearchParams params = new AdminEventSearchParams();
3939
params.setUsers(users);
4040
params.setStates(states);

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

Lines changed: 47 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -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) {

ewm-service/src/main/resources/application.properties

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,16 @@ spring.datasource.password=${SPRING_DATASOURCE_PASSWORD:password}
77
spring.datasource.driver-class-name=org.postgresql.Driver
88

99
spring.jpa.hibernate.ddl-auto=update
10-
spring.jpa.properties.hibernate.format_sql=true
1110
spring.sql.init.mode=always
1211

1312
stats-server.url=${STATS_SERVER_URL:http://localhost:9090}
1413

1514
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
1615
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
1716

18-
stats.app-name=ewm-main-service
17+
stats.app-name=ewm-main-service
18+
19+
spring.jpa.show-sql=true
20+
spring.jpa.properties.hibernate.format_sql=true
21+
logging.level.org.hibernate.SQL=DEBUG
22+
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

0 commit comments

Comments
 (0)