package com.cool.store.dto.wechat;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.Map;

/**
 * @Author suzhuhong
 * @Date 2025/10/10 14:36
 * @Version 1.0
 */
@Data
public class WechatTemplateMessageDTO {

    /**
     * 接收者openid
     */
    @JsonProperty("touser")
    private String toUser;

    /**
     * 模板ID
     */
    @JsonProperty("template_id")
    private String templateId;

    /**
     * 模板跳转链接（非必须）
     */
    private String url;

    /**
     * 跳小程序所需数据，不需跳小程序可不用传该数据
     */
    private MiniprogramDTO miniprogram;

    /**
     * 模板数据
     */
    private Map<String, TemplateDataItemDTO> data;

    /**
     * 小程序跳转DTO
     */
    @Data
    public static class MiniprogramDTO {

        /**
         * 所需跳转到的小程序appid
         */
        private String appid;

        /**
         * 所需跳转到小程序的具体页面路径，支持带参数
         */
        private String pagepath;
    }

    /**
     * 模板数据项DTO
     */
    @Data
    public static class TemplateDataItemDTO {

        /**
         * 模板内容
         */
        private String value;

        /**
         * 模板内容字体颜色，不填默认为黑色
         */
        private String color;

        public TemplateDataItemDTO() {
        }

        public TemplateDataItemDTO(String value) {
            this.value = value;
            this.color = "#333333";
        }

        public TemplateDataItemDTO(String value, String color) {
            this.value = value;
            this.color = color;
        }
    }

}
