package com.fs.live.dto;

import lombok.Data;

import java.util.Map;

/**
 * 模板消息发送请求DTO
 * <p>
 * 用于构建发送模板消息的请求体。
 * </p>
 *
 * @author xdd
 * @version 1.0
 * @since 2025-02-27
 */
@Data
public class TemplateMessageSendRequestDTO {

    /**
     * 接收者openid
     * <p>
     * 用户的唯一标识符。
     * </p>
     */
    private String touser;

    /**
     * 模板ID
     * <p>
     * 所需下发的模板消息的id。
     * </p>
     */
    private String template_id;

    /**
     * 跳转页面
     * <p>
     * 点击模板消息后跳转的页面，可以为空。
     * </p>
     */
    private String page;

    /**
     * 模板数据
     * <p>
     * 模板内容，键值对形式，键名为模板中的变量名，值为要替换的内容。
     * </p>
     */
    private Map<String, TemplateDataValue> data;

    /**
     * 模板数据值对象
     * <p>
     * 内部类，用于表示模板数据中的单个值。
     * </p>
     */
    @Data
    public static class TemplateDataValue {
        /**
         * 模板变量值
         * <p>
         * 要替换模板变量的具体内容。
         * </p>
         */
        private String value;
    }
}
