微信模板通知JAVA开发

一、登陆公众号,添加模板消息

二、 复制模板ID,写程序

/**
     * 预约咨询
     * 
     * @param
     * @return ModelAndView
     * @throws Exception
     * @exception
     * @since 1.0.0
     */
    @RequestMapping(value = "/appoint")
    @ResponseBody
    @DateTimeFormat
    public Object appoint()
            throws Exception {
        logBefore(logger, "预约咨询");
        Map<String, Object> map = new HashMap<String, Object>();
        String result = "0";    
        PageData pd = new PageData();
        pd = this.getPageData();
        pd.put("CONSULT_ID", this.get32UUID());    //主键
        pd.put("CREATETIME", DateUtil.getTime()); // 创建时间
        pd.put("UPDATETIME", DateUtil.getTime()); // 修改时间
        String appid=pd.getString("appid");
        String NAME=pd.getString("NAME");
        String APPOINTTIME=pd.getString("APPOINTTIME");
        String[] APPOINT = APPOINTTIME.split(";");
        String PHONE=pd.getString("PHONE");
        String AGE=pd.getString("AGE");
        String SEX=pd.getString("SEX");if(SEX.equals("1"))SEX="女";else SEX="男";
        String CONSULTDESC=pd.getString("CONSULTDESC");
        try{
        consultService.save(pd);
        /* 发送通知开始 */  
        // 根据wxid查询模板id    
        PageData templatepd = new PageData();
        templatepd.put("WEIXINID", "4185af6a4b014a55f938e7daccc");
        templatepd.put("TYPE", 2);   
        templatepd = templateService.findByWxIdAndType(templatepd);
        
        if (templatepd != null) {
            wxInterface = this.getWxInterface(appid);
            wxMpService = wxInterface.getWxMpService();
            List<PageData> pdList = null;
            // 查询审核人员
            PageData tpd = new PageData();
            tpd.put("TEACHERID", pd.getString("TEACHERID"));
            List<PageData> teacherList = teacherService.listAll(tpd);
            if (null != teacherList && teacherList.size() > 0) {
                for (PageData pageData : teacherList) {
                    if (null == pageData) {
                        continue;
                    }
                    String openidz = pageData.getString("OPENID");
                    System.out.println("openidz"+openidz);
                    PageData pdcommon = new PageData();
                    pdcommon.put("TITLE", "【社区事务通】咨询预约:");
                    pdcommon.put("keyword1","客户"+NAME+
                            "\n年龄为:"+AGE+
                            "\n性别:"+SEX+
                            "\n预约咨询日期:"+APPOINT[0]+";时间段:"+APPOINT[1]+
                            "\n请您尽快安排!");
                    pdcommon.put("keyword2", "联系电话"+PHONE);
                    pdcommon.put(
                            "remark","需要的服务:"+CONSULTDESC);
                    pdcommon.put("url", "");
                    pdList = TemplateUtils.sendAppointBySub(openidz, "预约导师",
                            pdcommon, templatepd, wxMpService);
                    // 保存发送通知记录
                }
            }
        }
        /* 发送通知结束 */     
        result="1";
         }catch(Exception e){
         }   
        map.put(FinalUtil.RESULT, result);
    return AppUtil.returnObject(new PageData(), map);
    }

 

三、TemplateUtils工具类
    /**
     * 发送部分信息--预约通知
     * 
     * @param openIds
     * @param names
     * @param pdcommon
     * @param pdtemp
     * @param wxMpService
     * @return
     * @throws Exception
     */
    public static List<PageData> sendAppointBySub(String openId, String name,
            PageData pdcommon, PageData pdtemp, WxMpService wxMpService)
            throws Exception {
        List<PageData> pdList = new ArrayList<PageData>();
        WxMpTemplateMessage templateMessage = null;
        String templateId = pdtemp.getString("TEMPLATEID");
        String title = pdcommon.getString("TITLE");
        String keyword1 = pdcommon.get("keyword1").toString();
        String keyword2 = pdcommon.getString("keyword2");
        String remark = pdcommon.getString("remark");
        String url = pdcommon.getString("url");
        PageData pdret = new PageData();
        try {
            pdret.put("OPENID", openId);
            pdret.put("NAME", name);
            pdret.put("CREATETIME", new Date());
            templateMessage = WxMpTemplateMessage.builder().toUser(openId)
                    .templateId(templateId).build();
            templateMessage.addWxMpTemplateData(new WxMpTemplateData("first",
                    title, "#173177"));
            templateMessage.addWxMpTemplateData(new WxMpTemplateData(
                    "keyword1", keyword1, "#173177"));
            templateMessage.addWxMpTemplateData(new WxMpTemplateData(
                    "keyword2", keyword2, "#173177"));
            templateMessage.addWxMpTemplateData(new WxMpTemplateData("remark",
                    remark, "#000000"));
            templateMessage.setUrl(url);
            wxMpService.getTemplateMsgService()
                    .sendTemplateMsg(templateMessage);
            pdret.put("STATUS", 1);
        } catch (WxErrorException e) {
            logger.error(e.toString(), e);
            pdret.put("STATUS", 2);
        }
        pdList.add(pdret);
        return pdList;
    }
}

4、jar包为

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值