|
|
|
@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
import ru.ulstu.deadline.model.Deadline;
|
|
|
|
|
import ru.ulstu.deadline.service.DeadlineService;
|
|
|
|
|
import ru.ulstu.file.model.FileDataDto;
|
|
|
|
|
import ru.ulstu.file.service.FileService;
|
|
|
|
|
import ru.ulstu.paper.model.Paper;
|
|
|
|
|
import ru.ulstu.paper.model.PaperDto;
|
|
|
|
@ -80,7 +81,7 @@ public class PaperService {
|
|
|
|
|
paper.setTitle(paperDto.getTitle());
|
|
|
|
|
paper.setUpdateDate(new Date());
|
|
|
|
|
paper.setDeadlines(deadlineService.saveOrCreate(paperDto.getDeadlines()));
|
|
|
|
|
paper.setFiles(fileService.saveOrCreate(paperDto.getFiles()));
|
|
|
|
|
paper.setFiles(fileService.saveOrCreate(paperDto.getFiles().stream().filter(f -> f.isDeleteFlag() == false).collect(Collectors.toList())));
|
|
|
|
|
paper.getAuthors().clear();
|
|
|
|
|
if (paperDto.getAuthorIds() != null && !paperDto.getAuthorIds().isEmpty()) {
|
|
|
|
|
paperDto.getAuthorIds().forEach(authorIds -> paper.getAuthors().add(userService.findById(authorIds)));
|
|
|
|
@ -93,6 +94,11 @@ public class PaperService {
|
|
|
|
|
Paper paper = paperRepository.findOne(paperDto.getId());
|
|
|
|
|
Paper.PaperStatus oldStatus = paper.getStatus();
|
|
|
|
|
Set<User> oldAuthors = new HashSet<>(paper.getAuthors());
|
|
|
|
|
|
|
|
|
|
for (FileDataDto file : paperDto.getFiles().stream().filter(f -> f.isDeleteFlag() == true && f.getId() != null).collect(Collectors.toList())) {
|
|
|
|
|
fileService.delete(file.getId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
paperRepository.save(copyFromDto(paper, paperDto));
|
|
|
|
|
|
|
|
|
|
paper.getAuthors().forEach(author -> {
|
|
|
|
|