This commit is contained in:
parent
607e50cb12
commit
dcdb1d1747
@ -100,5 +100,14 @@ public class Discussion {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
public Optional<Note> getLastNoteByUserId(Long personId) {
|
||||
for (int i = notes.size() - 1; i >= 0; i--) {
|
||||
final Note note = notes.get(i);
|
||||
if (note.getAuthor().getId().equals(personId)) {
|
||||
return Optional.of(note);
|
||||
}
|
||||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -321,6 +321,7 @@ public class DiscussionServiceImpl implements DiscussionService {
|
||||
|
||||
if (NOTIFY_WITH_CONTEXT.equals(discussionLevel)) {
|
||||
final Optional<Note> prevLastNote = discussion.getPrevLastNote();
|
||||
|
||||
if (prevLastNote.isPresent()) {
|
||||
final Note prevNote = prevLastNote.get();
|
||||
notifyBuilder.previousMessage(prevNote.getBody());
|
||||
|
@ -5,6 +5,7 @@ import dev.struchkov.bot.gitlab.context.domain.notify.Notify;
|
||||
import dev.struchkov.bot.gitlab.context.service.MessageSendService;
|
||||
import dev.struchkov.bot.gitlab.telegram.service.notify.NotifyBoxAnswerGenerator;
|
||||
import dev.struchkov.godfather.simple.domain.BoxAnswer;
|
||||
import dev.struchkov.godfather.telegram.main.context.BoxAnswerPayload;
|
||||
import dev.struchkov.godfather.telegram.simple.context.service.TelegramSending;
|
||||
import lombok.NonNull;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -43,6 +44,7 @@ public class MessageSendTelegramService implements MessageSendService {
|
||||
.map(generator -> {
|
||||
final BoxAnswer answer = generator.generate(notify);
|
||||
answer.setRecipientIfNull(personInformation.getTelegramId());
|
||||
answer.setPayload(BoxAnswerPayload.DISABLE_WEB_PAGE_PREVIEW, true);
|
||||
return answer;
|
||||
})
|
||||
.ifPresent(sending::send);
|
||||
|
@ -14,6 +14,7 @@ import static dev.struchkov.godfather.main.domain.keyboard.button.SimpleButton.s
|
||||
import static dev.struchkov.godfather.simple.domain.BoxAnswer.boxAnswer;
|
||||
import static dev.struchkov.godfather.telegram.domain.keyboard.InlineKeyBoard.inlineKeyBoard;
|
||||
import static dev.struchkov.godfather.telegram.domain.keyboard.button.UrlButton.urlButton;
|
||||
import static dev.struchkov.haiti.utils.Checker.checkNotBlank;
|
||||
import static dev.struchkov.haiti.utils.Checker.checkNotNull;
|
||||
import static dev.struchkov.haiti.utils.Strings.escapeMarkdown;
|
||||
|
||||
@ -23,8 +24,15 @@ public class NewCommentNotifyGenerator implements NotifyBoxAnswerGenerator<NewCo
|
||||
|
||||
@Override
|
||||
public BoxAnswer generate(NewCommentNotify notify) {
|
||||
final StringBuilder builder = new StringBuilder(Icons.COMMENT).append(" *New answer in Thread*")
|
||||
.append("\n-- -- -- merge request -- -- --\n")
|
||||
final StringBuilder builder = new StringBuilder(Icons.COMMENT).append(" *New answer in Thread*");
|
||||
|
||||
if (checkNotBlank(notify.getDiscussionMessage()) || checkNotNull(notify.getPreviousMessage()) || checkNotNull(notify.getMessage())) {
|
||||
builder.append("\n -- -- -- merge request name -- -- --\n");
|
||||
} else {
|
||||
builder.append(Icons.HR);
|
||||
}
|
||||
|
||||
builder
|
||||
.append(Icons.link(escapeMarkdown(notify.getMergeRequestName()), notify.getUrl()));
|
||||
|
||||
if (checkNotNull(notify.getDiscussionMessage())) {
|
||||
|
@ -17,6 +17,7 @@ import static dev.struchkov.godfather.main.domain.keyboard.button.SimpleButton.s
|
||||
import static dev.struchkov.godfather.simple.domain.BoxAnswer.boxAnswer;
|
||||
import static dev.struchkov.godfather.telegram.domain.keyboard.InlineKeyBoard.inlineKeyBoard;
|
||||
import static dev.struchkov.godfather.telegram.domain.keyboard.button.UrlButton.urlButton;
|
||||
import static dev.struchkov.haiti.utils.Checker.checkNotBlank;
|
||||
import static dev.struchkov.haiti.utils.Checker.checkNotEmpty;
|
||||
import static dev.struchkov.haiti.utils.Strings.escapeMarkdown;
|
||||
|
||||
@ -25,11 +26,21 @@ public class NewThreadNotifyGenerator implements NotifyBoxAnswerGenerator<Discus
|
||||
|
||||
@Override
|
||||
public BoxAnswer generate(DiscussionNewNotify notify) {
|
||||
final StringBuilder builder = new StringBuilder(Icons.THREAD).append(" *New Thread in your MR*")
|
||||
.append("\n -- -- -- merge request -- -- --\n")
|
||||
.append(Icons.link(escapeMarkdown(notify.getMergeRequestName()), notify.getUrl()))
|
||||
.append("\n\n -- -- -- thread message -- -- --\n")
|
||||
final StringBuilder builder = new StringBuilder(Icons.THREAD).append(" *New Thread in your MR*");
|
||||
|
||||
if (checkNotBlank(notify.getMessageTask())) {
|
||||
builder.append("\n -- -- -- merge request name -- -- --\n");
|
||||
} else {
|
||||
builder.append(Icons.HR);
|
||||
}
|
||||
|
||||
builder
|
||||
.append(Icons.link(escapeMarkdown(notify.getMergeRequestName()), notify.getUrl()));
|
||||
|
||||
if (checkNotBlank(notify.getMessageTask())) {
|
||||
builder.append("\n\n -- -- -- thread first message -- -- --\n")
|
||||
.append("*").append(notify.getAuthorName()).append("*: ").append(escapeMarkdown(notify.getMessageTask()));
|
||||
}
|
||||
|
||||
final List<Pair<String, String>> notes = notify.getNotes();
|
||||
if (checkNotEmpty(notes)) {
|
||||
|
Loading…
Reference in New Issue
Block a user