From 7f54394b440501f31cca0ad3446906799ceffa93 Mon Sep 17 00:00:00 2001 From: Alyona Date: Sat, 27 Oct 2018 23:11:07 +0400 Subject: [PATCH 1/3] class for send messages about update paper --- .../ru/ulstu/paper/service/PaperMessages.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/main/java/ru/ulstu/paper/service/PaperMessages.java diff --git a/src/main/java/ru/ulstu/paper/service/PaperMessages.java b/src/main/java/ru/ulstu/paper/service/PaperMessages.java new file mode 100644 index 0000000..926c061 --- /dev/null +++ b/src/main/java/ru/ulstu/paper/service/PaperMessages.java @@ -0,0 +1,25 @@ +package ru.ulstu.paper.service; + +import ru.ulstu.paper.model.Paper; +import ru.ulstu.paper.model.PaperDto; +import ru.ulstu.user.model.UserDto; +import ru.ulstu.user.service.MailService; + +import java.util.List; + +public class PaperMessages { + + public final MailService mailService; + + public PaperMessages(MailService mailService){ + this.mailService = mailService; + } + private void sendMessageAboutStatusChange(Paper.PaperStatus oldStatus, PaperDto paper){ + List users = paper.getAuthors(); + for (UserDto user: users) { + mailService.sendEmail(user.getEmail(), "Обновление статуса статьи", + "Статус статьи " + paper.getTitle() + " сменился с " + oldStatus.getName() + + " на " + paper.getStatus().getName()); + } + } +} From b3f8b334efb65e6ff460556c7d9c5f15ad4a836e Mon Sep 17 00:00:00 2001 From: Alyona Date: Sun, 28 Oct 2018 00:26:09 +0400 Subject: [PATCH 2/3] fix --- .../ru/ulstu/paper/service/PaperMessages.java | 25 ------------------- .../ru/ulstu/paper/service/PaperService.java | 15 ++++++++++- 2 files changed, 14 insertions(+), 26 deletions(-) delete mode 100644 src/main/java/ru/ulstu/paper/service/PaperMessages.java diff --git a/src/main/java/ru/ulstu/paper/service/PaperMessages.java b/src/main/java/ru/ulstu/paper/service/PaperMessages.java deleted file mode 100644 index 926c061..0000000 --- a/src/main/java/ru/ulstu/paper/service/PaperMessages.java +++ /dev/null @@ -1,25 +0,0 @@ -package ru.ulstu.paper.service; - -import ru.ulstu.paper.model.Paper; -import ru.ulstu.paper.model.PaperDto; -import ru.ulstu.user.model.UserDto; -import ru.ulstu.user.service.MailService; - -import java.util.List; - -public class PaperMessages { - - public final MailService mailService; - - public PaperMessages(MailService mailService){ - this.mailService = mailService; - } - private void sendMessageAboutStatusChange(Paper.PaperStatus oldStatus, PaperDto paper){ - List users = paper.getAuthors(); - for (UserDto user: users) { - mailService.sendEmail(user.getEmail(), "Обновление статуса статьи", - "Статус статьи " + paper.getTitle() + " сменился с " + oldStatus.getName() - + " на " + paper.getStatus().getName()); - } - } -} diff --git a/src/main/java/ru/ulstu/paper/service/PaperService.java b/src/main/java/ru/ulstu/paper/service/PaperService.java index 5b22cdf..ad32055 100644 --- a/src/main/java/ru/ulstu/paper/service/PaperService.java +++ b/src/main/java/ru/ulstu/paper/service/PaperService.java @@ -7,6 +7,8 @@ import ru.ulstu.paper.model.Paper; import ru.ulstu.paper.model.PaperDto; import ru.ulstu.paper.model.PaperStatusDto; import ru.ulstu.paper.repository.PaperRepository; +import ru.ulstu.user.model.UserDto; +import ru.ulstu.user.service.MailService; import java.io.IOException; import java.util.Arrays; @@ -20,11 +22,14 @@ public class PaperService { private final PaperRepository paperRepository; private final FileService fileService; + public final MailService mailService; + public PaperService(PaperRepository paperRepository, - FileService fileService) { + FileService fileService, MailService mailService) { this.paperRepository = paperRepository; this.fileService = fileService; + this.mailService = mailService; } public List findAll() { @@ -80,4 +85,12 @@ public class PaperService { public List getPaperStatuses() { return convert(Arrays.asList(Paper.PaperStatus.values()), status ->new PaperStatusDto(status)); } + + private void sendMessageAboutStatusChange(Paper.PaperStatus oldStatus, PaperDto paper){ + for (UserDto user: paper.getAuthors()) { + mailService.sendEmail(user.getEmail(), "Обновление статуса статьи", + "Статус статьи " + paper.getTitle() + " сменился с " + oldStatus.getName() + + " на " + paper.getStatus().getName()); + } + } } From 5af8cb1bd3ae65a44e75ad2454f6362582184c57 Mon Sep 17 00:00:00 2001 From: Alyona Date: Sun, 28 Oct 2018 00:33:00 +0400 Subject: [PATCH 3/3] fix --- src/main/java/ru/ulstu/paper/service/PaperService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/ru/ulstu/paper/service/PaperService.java b/src/main/java/ru/ulstu/paper/service/PaperService.java index ad32055..4498b32 100644 --- a/src/main/java/ru/ulstu/paper/service/PaperService.java +++ b/src/main/java/ru/ulstu/paper/service/PaperService.java @@ -67,6 +67,9 @@ public class PaperService { @Transactional public Integer update(PaperDto paperDto) throws IOException { Paper paper = paperRepository.findOne(paperDto.getId()); + if(paper != null && paper.getStatus() != paperDto.getStatus()){ + sendMessageAboutStatusChange(paper.getStatus(),paperDto); + } if (paperDto.getTmpFileName() != null && paper.getFileData() != null) { fileService.deleteFile(paper.getFileData()); }