package com.zioinfo.mall.uiws.worklog.service;

import com.zioinfo.mall.uiws.common.mail.MailSender;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * 업무일지 댓글 알림 — 원본 NaverWorksNotifier(외부 메신저) 대신 MailSender 폴백으로 이식.
 * 보안 불변규칙(외부 API 금지) 준수: 외부 메신저 호출 없이 메일/로그 채널로만 알림한다.
 */
@Slf4j
@Component
@RequiredArgsConstructor
public class WorklogNotifier {

    private final MailSender mailSender;

    /**
     * 일지 작성자에게 댓글 알림. 발송되면 true(=KAKAO_SENT_YN 'Y' 선반영).
     * email 미보유 시 로그만 남기고 false.
     */
    public boolean notifyComment(String writerId, String email, String subject, String body) {
        if (email == null || email.isBlank()) {
            log.info("[UIWS-WL-NOTIFY] no email for writer={} (skip mail, log only)", writerId);
            return false;
        }
        mailSender.send(email, subject, body);
        return true;
    }
}
