dev add context for notifcations
Test Workflow / test (push) Has been cancelled

This commit is contained in:
2026-05-13 13:39:02 +07:00
parent 0546f6acd5
commit 48c14d475d
10 changed files with 154 additions and 21 deletions
@@ -1,21 +1,25 @@
package ru.soune.nocopy.handler;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import ru.soune.nocopy.dto.BaseRequest;
import ru.soune.nocopy.dto.BaseResponse;
import ru.soune.nocopy.dto.MessageCode;
import ru.soune.nocopy.dto.complaint.ComplaintRequest;
import ru.soune.nocopy.dto.file.ActionResponse;
import ru.soune.nocopy.dto.user.moderation.UserVerificationRequest;
import ru.soune.nocopy.dto.user.moderation.UserVerificationResponse;
import ru.soune.nocopy.entity.complaint.ComplaintEntity;
import ru.soune.nocopy.entity.notification.NotificationType;
import ru.soune.nocopy.entity.user.ModerationStatus;
import ru.soune.nocopy.entity.user.moderation.UserVerification;
import ru.soune.nocopy.service.notification.NotificationService;
import ru.soune.nocopy.service.user.moderation.UserVerificationService;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.List;
@@ -81,10 +85,7 @@ public class UserVerificationHandler implements RequestHandler {
null);
}
NotificationType notificationType = userVerification.getModerationStatus() == ModerationStatus.VERIFIED?
NotificationType.USER_VERIFIED: NotificationType.USER_NOT_VERIFIED;
notificationService.addNotification(notificationType, userVerification.getUserId());
addComplaintNotification(userVerification);
return BaseResponse.builder()
.msgId(request.getMsgId())
@@ -95,6 +96,18 @@ public class UserVerificationHandler implements RequestHandler {
.build();
}
private void addComplaintNotification(UserVerification userVerification) {
NotificationType notificationType = userVerification.getModerationStatus() == ModerationStatus.VERIFIED ?
NotificationType.USER_VERIFIED: NotificationType.USER_NOT_VERIFIED;
ObjectMapper mapper = new ObjectMapper();
ObjectNode context = mapper.createObjectNode();
context.put("status", userVerification.getModerationStatus().name());
context.put("update_date",
userVerification.getUpdatedAt().format(DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm")));
notificationService.addNotification(notificationType, userVerification.getUserId(), context.toString());
}
private UserVerificationResponse convertDto(UserVerification userVerification) {
return UserVerificationResponse.builder()