微信的服务号消息推送

官网:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html

需要注意 订阅消息参数值内容限制说明,下图只是一部分:

在这里插入图片描述

 public String sendNews(String orderId) {
        String accesstoken = wxService.getAccesstoken();
        TicketOrder ticketOrder = ticketOrderDao.findTicketOrderByOrderId(orderId);
        String errcode = null;
        String errmsg = null;
        if (ticketOrder != null) {
            // 调用接口
            String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + accesstoken;
            JSONObject params = new JSONObject();
            JSONObject dataJson = new JSONObject();
            JSONObject phraseJson = new JSONObject();
            phraseJson.put("value", "出票成功");
            JSONObject thingJson = new JSONObject();
            thingJson.put("value", ticketOrder.getStartStateName() + "一" + ticketOrder.getEndStateName());
            JSONObject timeJson = new JSONObject();
            Date departDateTime = ticketOrder.getDepartDateTime();
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
            timeJson.put("value", simpleDateFormat.format(departDateTime));
            JSONObject thing5Json = new JSONObject();
            thing5Json.put("value", "请凭有效身份证到车站取票,祝您乘车愉快");

            dataJson.put("phrase1", phraseJson);
            dataJson.put("thing2", thingJson);
            dataJson.put("time3", timeJson);
            dataJson.put("thing5", thing5Json);
            params.put("access_token ", accesstoken);
            params.put("touser",  userMapper.getUserByUserid(ticketOrder.getUserId()).getOpenid()); // openid
            params.put("template_id", "21PCGCTlRMYE-wx4SVucVEngyNFBG7iw9sgZ6dCpeQA"); // 模板id
            params.put("data", dataJson);
            try {
                HttpHeaders headers = new HttpHeaders();
                headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
                headers.add("Accept", MediaType.APPLICATION_JSON.toString());
                String s = restTemplate.postForEntity(url, params, String.class).getBody();
                if (s != null) {
                    JSONObject jsonObject = JSONObject.parseObject(s);
                    errcode = jsonObject.getString("errcode");
                    errmsg = jsonObject.getString("errmsg");
                }
            } catch (Exception e) {
                log.error("服务号消息接口失败:{} " + e);
            }
            if (!errcode.equals("0")) {
                log.error("服务号消息发送失败:code=" + errcode + "msg=" + errmsg);
            }
        }
        return errcode;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LC超人在良家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值