EmailService.java

package com.MedilaboSolutions.notifications.service;

import com.MedilaboSolutions.notifications.Dto.HighRiskAssessmentEvent;
import com.MedilaboSolutions.notifications.config.EmailProperties;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

@Slf4j
@RequiredArgsConstructor
@Service
public class EmailService {

    private final EmailProperties emailProperties;
    private final MailtrapEmailService mailtrapEmailService;

    public void sendHighRiskEmail(HighRiskAssessmentEvent event) {
        String subject = "High Risk Alert - Patient " + event.getPatLastname();
        String body = String.format("Patient %s %s has been assessed as '%s'. Please take necessary action.",
                event.getPatFirstName(),
                event.getPatLastname(),
                event.getRiskLevel()
        );

        mailtrapEmailService.sendEmail(
                emailProperties.getSender(),
                emailProperties.getRecipient(),
                subject,
                body
        );

        log.info("📧 Email sent to {} for patient {} {} with risk level '{}'",
                emailProperties.getRecipient(),
                event.getPatFirstName(),
                event.getPatLastname(),
                event.getRiskLevel()
        );
    }
}