package cn.timer.api.dto.template;

import lombok.Data;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 模版消息发送对象
 * @author longys
 * @date 2022/3/22 16:51
 */
@Data
public class TemplateMessage implements Serializable {
    /**
     * 接收者openid
     */
    private String touser;
    /**
     * 模版ID
     */
    private String template_id;
    /**
     * 跳转URL
     */
    private String url;

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

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

    public TemplateMessage(List<TemplateData> dateList, String touser, String templateId, String url, Miniprogram miniprogram){
        Map<String, Map<String,Object>> nameMap = new HashMap<>();
        for(TemplateData date : dateList){
            Map<String,Object> map = new HashMap<>();
            map.put("value",date.getValue());
            map.put("color",date.getColor());
            nameMap.put(date.getName(),map);
        }
        this.data = nameMap;
        this.touser = touser;
        this.template_id = templateId;
        //以下不需要跳转传 null
        this.url = url;
        this.miniprogram = miniprogram;
    };


    public TemplateMessage(Map<String, Map<String,Object>> data, String touser, String templateId, String url, Miniprogram miniprogram){
        this.data = data;
        this.touser = touser;
        this.template_id = templateId;
        //以下不需要跳转传 null
        this.url = url;
        this.miniprogram = miniprogram;
    };



}