package com.bohuikeji.delivery.backstage.factory;

import com.alibaba.fastjson.JSONObject;
import com.bohuikeji.delivery.backstage.constants.WxTmplEm;

import java.util.Map;

/**
 * 微信模板消息工厂类
 * @author 孙劲辉
 */
public class WxTmplMsgFactory {

    /**
     * 创建一个模板消息
     * @param openId 接收人openid
     * @param tmpl 消息模板
     * @param params 参数
     * @return 返回消息体
     */
    public static JSONObject create(String openId, WxTmplEm tmpl, Map<String,Object> params){
        JSONObject msg=new JSONObject();
        msg.put("touser",openId);
        msg.put("template_id",tmpl.getTemplateId());
        msg.put("topcolor",tmpl.getTopColor());
        msg.put("url",tmpl.getUrl());
        JSONObject data=new JSONObject();
        params.forEach((k,v)->{
            JSONObject value=new JSONObject();
            value.put("value",v);
            value.put("color",tmpl.getParamColor());
            data.put(k,value);
        });
        msg.put("data",data);
        return msg;
    }
}
