微信发送模板消息

创建实体类
1:WxTemplate.java

import java.util.Map;
public class WxTemplate {
     /**
     * 模板消息id
     */
    private String template_id;
    /**
     * 用户openId
     */
    private String touser;
    /**
     * URL置空,则在发送后,点击模板消息会进入一个空白页面(ios),或无法点击(android)
     */
    private String url;
    /**
     * 标题颜色
     */
    private String topcolor;
    /**
     * 详细内容
     */
    private Map<String,TemplateData> data;

    public String getTemplate_id() {
        return template_id;
    }
    public void setTemplate_id(String template_id) {
        this.template_id = template_id;
    }
    public String getTouser() {
        return touser;
    }
    public void setTouser(String touser) {
        this.touser = touser;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getTopcolor() {
        return topcolor;
    }
    public void setTopcolor(String topcolor) {
        this.topcolor = topcolor;
    }
    public Map<String, TemplateData> getData() {
        return data;
    }
    public void setData(Map<String, TemplateData> data) {
        this.data = data;
    }
}

2:AccessToken.java

/**
 * 微信通用接口凭证
 */
public class AccessToken {
    // 获取到的凭证
    private String token;
    // 凭证有效时间,单位:秒
    private int expiresIn;

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public int getExpiresIn() {
        return expiresIn;
    }

    public void setExpiresIn(int expiresIn) {
        this.expiresIn = expiresIn;
    }
}

3:WxTemplate.java

import java.util.Map;
public class WxTemplate {
     /**
     * 模板消息id
     */
    private String template_id;
    /**
     * 用户openId
     */
    private String touser;
    /**
     * URL置空,则在发送后,点击模板消息会进入一个空白页面(ios),或无法点击(android)
     */
    private String url;
    /**
     * 标题颜色
     */
    private String topcolor;
    /**
     * 详细内容
     */
    private Map<String,TemplateData> data;

    public String getTemplate_id() {
        return template_id;
    }
    public void setTemplate_id(String template_id) {
        this.template_id = template_id;
    }
    public String getTouser() {
        return touser;
    }
    public void setTouser(String touser) {
        this.touser = touser;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getTopcolor() {
        return topcolor;
    }
    public void setTopcolor(String topcolor) {
        this.topcolor = topcolor;
    }
    public Map<String, TemplateData> getData() {
        return data;
    }
    public void setData(Map<String, TemplateData> data) {
        this.data = data;
    }
}

微信发送模板消息

import java.util.HashMap;
import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.szmsd.entity.AccessToken;
import com.szmsd.entity.TemplateData;
import com.szmsd.entity.WxTemplate;
import com.szmsd.platform.constants.Constants;

import net.sf.json.JSONObject;

public class WechatSendMsg {
    private static Log logger = LogFactory.getLog(WechatSendMsg.class);

    public static void main(String[] args) {
        AccessToken accessToken =  WeixinUtil.getAccessToken(Constants.APPID, Constants.APPSECRET);

        String token = accessToken.getToken();

        String openId = "oGCWx0dIKgkVtJgXidmjsExWZO38";

        String value1 = "123456789";

        String value2 = "【封丘县分拨中心】的派件员【刘先帅】正在派件";

        String v_remark = "操作时间:2017-01-16 15:43:53";

        String detailUrl = "https://www.baidu.com";

        send_track_message(token, openId, value1, value2, v_remark, detailUrl);
    }

    public static int send_track_message(String accessToken,String openId, String value1,String value2, String v_remark, String detailUrl) {
        String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken;
        WxTemplate temp = new WxTemplate();
        temp.setUrl(detailUrl);
        temp.setTouser(openId);
        temp.setTopcolor("#8B8682");
        temp.setTemplate_id(Constants.TEMPLATE_ID);

        Map<String, TemplateData> m = new HashMap<String, TemplateData>();

        TemplateData first = new TemplateData();
        first.setColor("#000000");
        first.setValue("尊敬的客户,您好");
        m.put("first", first);

        TemplateData keyword1 = new TemplateData();
        keyword1.setColor("#000000");
        keyword1.setValue(value1);
        m.put("keyword1", keyword1);

        TemplateData keyword2 = new TemplateData();
        keyword2.setColor("#01B468");
        keyword2.setValue(value2);
        m.put("keyword2", keyword2);

        TemplateData remark = new TemplateData();
        remark.setColor("#000000");
        remark.setValue(v_remark);
        m.put("remark", remark);

        temp.setData(m);
        String jsonString = JSONObject.fromObject(temp).toString();

        JSONObject jsonObject = WeixinUtil.httpRequest(url, "POST", jsonString);
        System.out.println(jsonObject);

        int result = 0;
        if (null != jsonObject) {
            if (0 != jsonObject.getInt("errcode")) {
                result = jsonObject.getInt("errcode");
                logger.info("错误 errcode:{} errmsg:{}" + jsonObject.getInt("errcode"));
            }
        }
        logger.info("模板消息发送结果:" + result);
        return result;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值