package com.qqchen.deploy.backend.notification.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.Map;

/**
 * 发送通知请求
 *
 * @author qqchen
 * @since 2025-11-12
 */
@Data
@Schema(description = "发送通知请求")
public class SendNotificationRequest {

    @Schema(description = "通知渠道ID", required = true, example = "1")
    @NotNull(message = "通知渠道ID不能为空")
    private Long channelId;

    @Schema(description = "通知模板ID", required = true, example = "1")
    @NotNull(message = "通知模板ID不能为空")
    private Long notificationTemplateId;

    @Schema(description = "模板渲染参数（仅用于模板变量替换）", 
            example = "{\"projectName\":\"测试项目\",\"buildNumber\":\"123\"}")
    private Map<String, Object> templateParams;
}
