fix event removing
This commit is contained in:
parent
93cf1fa2a8
commit
17723237d1
@ -8,11 +8,13 @@ import ru.ulstu.activity.api.model.ActivityListDto;
|
|||||||
import ru.ulstu.activity.common.model.AbstractActivity;
|
import ru.ulstu.activity.common.model.AbstractActivity;
|
||||||
import ru.ulstu.activity.common.model.EventSource;
|
import ru.ulstu.activity.common.model.EventSource;
|
||||||
import ru.ulstu.activity.ping.service.PingService;
|
import ru.ulstu.activity.ping.service.PingService;
|
||||||
|
import ru.ulstu.activity.timeline.model.Event;
|
||||||
import ru.ulstu.activity.timeline.service.EventService;
|
import ru.ulstu.activity.timeline.service.EventService;
|
||||||
import ru.ulstu.core.jpa.OffsetablePageRequest;
|
import ru.ulstu.core.jpa.OffsetablePageRequest;
|
||||||
import ru.ulstu.core.model.response.PageableItems;
|
import ru.ulstu.core.model.response.PageableItems;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import static ru.ulstu.core.util.StreamApiUtils.convertPageable;
|
import static ru.ulstu.core.util.StreamApiUtils.convertPageable;
|
||||||
|
|
||||||
@ -46,11 +48,13 @@ public abstract class ActivityService<L extends ActivityListDto, T extends Abstr
|
|||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public T update(T entity) {
|
public T update(T entity) {
|
||||||
eventService.deleteByObject((EventSource) eventService);
|
eventService.deleteAll(getEvents(entity));
|
||||||
eventService.createFromObject((EventSource) eventService);
|
eventService.createFromObject((EventSource) entity);
|
||||||
return activityRepository.save(entity);
|
return activityRepository.save(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected abstract List<Event> getEvents(T entity);
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public D update(D entityDto) {
|
public D update(D entityDto) {
|
||||||
T newEntity;
|
T newEntity;
|
||||||
|
@ -12,6 +12,7 @@ import ru.ulstu.activity.conference.model.ConferenceListDto;
|
|||||||
import ru.ulstu.activity.deadline.service.DeadlineService;
|
import ru.ulstu.activity.deadline.service.DeadlineService;
|
||||||
import ru.ulstu.activity.paper.service.PaperService;
|
import ru.ulstu.activity.paper.service.PaperService;
|
||||||
import ru.ulstu.activity.ping.service.PingService;
|
import ru.ulstu.activity.ping.service.PingService;
|
||||||
|
import ru.ulstu.activity.timeline.model.Event;
|
||||||
import ru.ulstu.activity.timeline.service.EventService;
|
import ru.ulstu.activity.timeline.service.EventService;
|
||||||
import ru.ulstu.core.jpa.OffsetablePageRequest;
|
import ru.ulstu.core.jpa.OffsetablePageRequest;
|
||||||
import ru.ulstu.core.model.response.PageableItems;
|
import ru.ulstu.core.model.response.PageableItems;
|
||||||
@ -137,4 +138,9 @@ public class ConferenceService extends ActivityService<ConferenceListDto, Confer
|
|||||||
public Conference getActiveConferenceByUser(User user) {
|
public Conference getActiveConferenceByUser(User user) {
|
||||||
return conferenceRepository.findActiveByUser(user);
|
return conferenceRepository.findActiveByUser(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Event> getEvents(Conference entity) {
|
||||||
|
return eventService.findByConference(entity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,7 @@ import ru.ulstu.activity.paper.model.PaperDto;
|
|||||||
import ru.ulstu.activity.paper.service.PaperService;
|
import ru.ulstu.activity.paper.service.PaperService;
|
||||||
import ru.ulstu.activity.ping.service.PingService;
|
import ru.ulstu.activity.ping.service.PingService;
|
||||||
import ru.ulstu.activity.project.service.ProjectService;
|
import ru.ulstu.activity.project.service.ProjectService;
|
||||||
|
import ru.ulstu.activity.timeline.model.Event;
|
||||||
import ru.ulstu.activity.timeline.service.EventService;
|
import ru.ulstu.activity.timeline.service.EventService;
|
||||||
import ru.ulstu.core.jpa.OffsetablePageRequest;
|
import ru.ulstu.core.jpa.OffsetablePageRequest;
|
||||||
import ru.ulstu.core.model.response.PageableItems;
|
import ru.ulstu.core.model.response.PageableItems;
|
||||||
@ -98,13 +99,6 @@ public class GrantService extends ActivityService<GrantListDto, Grant, GrantDto>
|
|||||||
return new GrantDto(entity);
|
return new GrantDto(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
|
||||||
@Override
|
|
||||||
public GrantDto update(GrantDto grantDto) {
|
|
||||||
Grant grant = findById(grantDto.getId());
|
|
||||||
return new GrantDto(update(grant));
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Grant copyFromDto(Grant grant, GrantDto grantDto) throws IOException {
|
protected Grant copyFromDto(Grant grant, GrantDto grantDto) throws IOException {
|
||||||
grant.setComment(grantDto.getComment());
|
grant.setComment(grantDto.getComment());
|
||||||
grant.setStatus(grantDto.getStatus() == null ? APPLICATION : grantDto.getStatus());
|
grant.setStatus(grantDto.getStatus() == null ? APPLICATION : grantDto.getStatus());
|
||||||
@ -129,6 +123,11 @@ public class GrantService extends ActivityService<GrantListDto, Grant, GrantDto>
|
|||||||
return grant;
|
return grant;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Event> getEvents(Grant entity) {
|
||||||
|
return eventService.findByGrant(entity);
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public boolean delete(Integer grantId) {
|
public boolean delete(Integer grantId) {
|
||||||
Grant grant = findById(grantId);
|
Grant grant = findById(grantId);
|
||||||
|
@ -16,6 +16,7 @@ import ru.ulstu.activity.paper.model.PaperListDto;
|
|||||||
import ru.ulstu.activity.paper.model.PaperStatusDto;
|
import ru.ulstu.activity.paper.model.PaperStatusDto;
|
||||||
import ru.ulstu.activity.paper.model.PaperTypeDto;
|
import ru.ulstu.activity.paper.model.PaperTypeDto;
|
||||||
import ru.ulstu.activity.ping.service.PingService;
|
import ru.ulstu.activity.ping.service.PingService;
|
||||||
|
import ru.ulstu.activity.timeline.model.Event;
|
||||||
import ru.ulstu.activity.timeline.service.EventService;
|
import ru.ulstu.activity.timeline.service.EventService;
|
||||||
import ru.ulstu.core.jpa.OffsetablePageRequest;
|
import ru.ulstu.core.jpa.OffsetablePageRequest;
|
||||||
import ru.ulstu.core.model.response.PageableItems;
|
import ru.ulstu.core.model.response.PageableItems;
|
||||||
@ -101,6 +102,11 @@ public class PaperService extends ActivityService<PaperListDto, Paper, PaperDto>
|
|||||||
return new PageableItems<>(activePapersPage.getTotalElements(), sortPapers(activePapersPage.getContent()));
|
return new PageableItems<>(activePapersPage.getTotalElements(), sortPapers(activePapersPage.getContent()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Event> getEvents(Paper entity) {
|
||||||
|
return eventService.findByPaper(entity);
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public PaperDto update(PaperDto paperDto) {
|
public PaperDto update(PaperDto paperDto) {
|
||||||
Paper paper = findById(paperDto.getId());
|
Paper paper = findById(paperDto.getId());
|
||||||
|
@ -11,6 +11,7 @@ import ru.ulstu.activity.project.model.Project;
|
|||||||
import ru.ulstu.activity.project.model.ProjectDashboardDto;
|
import ru.ulstu.activity.project.model.ProjectDashboardDto;
|
||||||
import ru.ulstu.activity.project.model.ProjectDto;
|
import ru.ulstu.activity.project.model.ProjectDto;
|
||||||
import ru.ulstu.activity.project.model.ProjectListDto;
|
import ru.ulstu.activity.project.model.ProjectListDto;
|
||||||
|
import ru.ulstu.activity.timeline.model.Event;
|
||||||
import ru.ulstu.activity.timeline.service.EventService;
|
import ru.ulstu.activity.timeline.service.EventService;
|
||||||
import ru.ulstu.core.jpa.OffsetablePageRequest;
|
import ru.ulstu.core.jpa.OffsetablePageRequest;
|
||||||
import ru.ulstu.core.model.response.PageableItems;
|
import ru.ulstu.core.model.response.PageableItems;
|
||||||
@ -59,6 +60,11 @@ public class ProjectService extends ActivityService<ProjectListDto, Project, Pro
|
|||||||
return new PageableItems<>(activeProjectPage.getTotalElements(), activeProjectPage.getContent());
|
return new PageableItems<>(activeProjectPage.getTotalElements(), activeProjectPage.getContent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Event> getEvents(Project entity) {
|
||||||
|
return eventService.findByProject(entity);
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public boolean delete(Integer projectId) {
|
public boolean delete(Integer projectId) {
|
||||||
if (projectRepository.existsById(projectId)) {
|
if (projectRepository.existsById(projectId)) {
|
||||||
|
@ -16,6 +16,7 @@ import ru.ulstu.activity.students.model.TaskFilterDto;
|
|||||||
import ru.ulstu.activity.students.model.TaskListDto;
|
import ru.ulstu.activity.students.model.TaskListDto;
|
||||||
import ru.ulstu.activity.tags.model.Tag;
|
import ru.ulstu.activity.tags.model.Tag;
|
||||||
import ru.ulstu.activity.tags.service.TagService;
|
import ru.ulstu.activity.tags.service.TagService;
|
||||||
|
import ru.ulstu.activity.timeline.model.Event;
|
||||||
import ru.ulstu.activity.timeline.service.EventService;
|
import ru.ulstu.activity.timeline.service.EventService;
|
||||||
import ru.ulstu.core.jpa.OffsetablePageRequest;
|
import ru.ulstu.core.jpa.OffsetablePageRequest;
|
||||||
import ru.ulstu.core.model.response.PageableItems;
|
import ru.ulstu.core.model.response.PageableItems;
|
||||||
@ -112,6 +113,11 @@ public class TaskService extends ActivityService<TaskListDto, Task, TaskDto> {
|
|||||||
return task;
|
return task;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Event> getEvents(Task entity) {
|
||||||
|
return eventService.findByTask(entity);
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public boolean delete(Integer taskId) {
|
public boolean delete(Integer taskId) {
|
||||||
if (taskRepository.existsById(taskId)) {
|
if (taskRepository.existsById(taskId)) {
|
||||||
|
@ -4,7 +4,12 @@ import org.apache.commons.lang3.time.DateUtils;
|
|||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.ulstu.activity.common.model.EventSource;
|
import ru.ulstu.activity.common.model.EventSource;
|
||||||
|
import ru.ulstu.activity.conference.model.Conference;
|
||||||
import ru.ulstu.activity.deadline.model.Deadline;
|
import ru.ulstu.activity.deadline.model.Deadline;
|
||||||
|
import ru.ulstu.activity.grant.model.Grant;
|
||||||
|
import ru.ulstu.activity.paper.model.Paper;
|
||||||
|
import ru.ulstu.activity.project.model.Project;
|
||||||
|
import ru.ulstu.activity.students.model.Task;
|
||||||
import ru.ulstu.activity.timeline.model.Event;
|
import ru.ulstu.activity.timeline.model.Event;
|
||||||
import ru.ulstu.activity.timeline.model.EventDto;
|
import ru.ulstu.activity.timeline.model.EventDto;
|
||||||
import ru.ulstu.core.jpa.OffsetablePageRequest;
|
import ru.ulstu.core.jpa.OffsetablePageRequest;
|
||||||
@ -61,20 +66,38 @@ public class EventService {
|
|||||||
+ deadline.getDescription()
|
+ deadline.getDescription()
|
||||||
+ "' " + eventSource.getSuffix() + " '"
|
+ "' " + eventSource.getSuffix() + " '"
|
||||||
+ eventSource.getTitle() + "'");
|
+ eventSource.getTitle() + "'");
|
||||||
newEvent.getRecipients().addAll(eventSource.getRecipients());
|
eventSource.addObjectToEvent(newEvent);
|
||||||
newEvent.setRecipients(eventSource.getRecipients());
|
newEvent.setRecipients(eventSource.getRecipients());
|
||||||
newEvents.add(eventRepository.save(newEvent));
|
newEvents.add(eventRepository.save(newEvent));
|
||||||
}
|
}
|
||||||
eventRepository.saveAll(newEvents);
|
eventRepository.saveAll(newEvents);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private PageableItems<EventDto> createPageable(Page<Event> page) {
|
private PageableItems<EventDto> createPageable(Page<Event> page) {
|
||||||
return convertPageable(new PageableItems<>(page.getTotalElements(), page.getContent()), EventDto::new);
|
return convertPageable(new PageableItems<>(page.getTotalElements(), page.getContent()), EventDto::new);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteByObject(EventSource eventSource) {
|
public void deleteAll(List<Event> events) {
|
||||||
|
eventRepository.deleteAll(events);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Event> findByConference(Conference conference) {
|
||||||
|
return eventRepository.findAllByConference(conference);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Event> findByGrant(Grant entity) {
|
||||||
|
return eventRepository.findAllByGrant(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Event> findByProject(Project entity) {
|
||||||
|
return eventRepository.findAllByProject(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Event> findByPaper(Paper entity) {
|
||||||
|
return eventRepository.findAllByPaper(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Event> findByTask(Task entity) {
|
||||||
|
return eventRepository.findAllByTask(entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user