微信发送模板信息代码

 @Override
    public void sendWechatShort(Integer memberId, String url, String templateId, String value1, String value2, String value3, String remark) throws Exception {
        WeChatBean w = new WeChatBean();
        w.setUrl(url);
        Map map = new HashMap();
        map.put("appid", "");
        map.put("pagepath", "");
        w.setMiniprogram(map);
        w.setTemplate_id(templateId);
        DataForm dataform = new DataForm();
        ValueNaturn v = new ValueNaturn(value1, "");
        dataform.setFirst(v);
        ValueNaturn v1 = new ValueNaturn(value2, "");
        dataform.setKeyword1(v1);
        ValueNaturn v2 = new ValueNaturn(value3, "");
        dataform.setKeyword2(v2);
        ValueNaturn v3 = new ValueNaturn(remark, "");
        dataform.setRemark(v3);
        w.setData(dataform);
        List<WechatInfo> wechatInfos = wechatInfoMapper.selectWechatInfoByMemberId(memberId);
        if (wechatInfos.size() <= 0) {
            throw new BusinessException("未找到此用户微信信息");
        }
        String urlFirst = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
        urlFirst = urlFirst.replace("APPID", apppId);
        urlFirst = urlFirst.replace("APPSECRET", appSecret);
        String str = HttpClientUtils.doGet(urlFirst);
        JSONObject parseObject = JSONArray.parseObject(str);
        String accessToken = parseObject.getString("access_token");
        for (WechatInfo wechatInfo : wechatInfos) {
            w.setTouser(wechatInfo.getopenid());
            String urlSecond = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN";
            urlSecond = urlSecond.replace("ACCESS_TOKEN", accessToken);
            Object tokenJson = JSONArray.toJSON(w);
            String flag = HttpClientUtils.sendHttpPost(urlSecond, tokenJson.toString());
            if (flag.contains(":43004")) {
                throw new BusinessException("该用户未关注公众号");
            }
            if (!flag.contains("ok")) {
                throw new BusinessException("发送信息失败");
            }
        }
    }
import java.io.Serializable;
import java.util.Map;

public class WeChatBean implements Serializable {
	
	private String touser;
	
	private String template_id;
	
	private String url;
	
	private Map<String, String> miniprogram; 
	
	private DataForm data;

	public String getTouser() {
		return touser;
	}

	public void setTouser(String touser) {
		this.touser = touser;
	}

	public String getTemplate_id() {
		return template_id;
	}

	public void setTemplate_id(String template_id) {
		this.template_id = template_id;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public Map<String, String> getMiniprogram() {
		return miniprogram;
	}

	public void setMiniprogram(Map<String, String> miniprogram) {
		this.miniprogram = miniprogram;
	}

	public DataForm getData() {
		return data;
	}

	public void setData(DataForm data) {
		this.data = data;
	}

	@Override
	public String toString() {
		return "WeChatBean [touser=" + touser + ", template_id=" + template_id + ", url=" + url + ", miniprogram="
				+ miniprogram + ", data=" + data + "]";
	}
}
public class DataForm  implements Serializable {

	private ValueNaturn first;

	private ValueNaturn keyword1;

	private ValueNaturn keyword2;

	private ValueNaturn keyword3;

	private ValueNaturn remark;

	@Override
	public String toString() {
		return "DataForm [first=" + first + ", keyword1=" + keyword1 + ", keyword2=" + keyword2 + ", keyword3="
				+ keyword3 + ", remark=" + remark + "]";
	}

	public ValueNaturn getFirst() {
		return first;
	}

	public void setFirst(ValueNaturn first) {
		this.first = first;
	}

	public ValueNaturn getKeyword1() {
		return keyword1;
	}

	public void setKeyword1(ValueNaturn keyword1) {
		this.keyword1 = keyword1;
	}

	public ValueNaturn getKeyword2() {
		return keyword2;
	}

	public void setKeyword2(ValueNaturn keyword2) {
		this.keyword2 = keyword2;
	}

	public ValueNaturn getKeyword3() {
		return keyword3;
	}

	public void setKeyword3(ValueNaturn keyword3) {
		this.keyword3 = keyword3;
	}

	public ValueNaturn getRemark() {
		return remark;
	}

	public void setRemark(ValueNaturn remark) {
		this.remark = remark;
	}

}
public class ValueNaturn implements Serializable {

	private String value;
	
	private String color;

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}

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

	@Override
	public String toString() {
		return "ValueNaturn [value=" + value + ", color=" + color + "]";
	}
	
	
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值