package com.yihu.wlyy.task; import com.fasterxml.jackson.databind.ObjectMapper; import com.yihu.wlyy.entity.wechat.WechatTemplate; import com.yihu.wlyy.entity.wechat.WechatTemplateData; import com.yihu.wlyy.util.HttpUtil; import org.apache.commons.lang3.StringUtils; import org.json.JSONArray; import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import java.util.HashMap; import java.util.Map; import java.util.concurrent.LinkedBlockingQueue; @Component public class PushMsgTask { private static Logger logger = LoggerFactory.getLogger(PushMsgTask.class); // 最大容量为50的数组堵塞队列 private static LinkedBlockingQueue queue = new LinkedBlockingQueue(); @Autowired private HttpUtil httpUtil; @Value("${server.server_url}") private String server_url; @Value("${wechat.message.template_consult_notice}") private String template_consult_notice; @Value("${wechat.message.template_sign_success}") private String template_sign_success; @Value("${wechat.message.template_sign_failed}") private String template_sign_failed; @Value("${wechat.message.template_health_notice}") private String template_health_notice; @Value("${wechat.message.template_termination}") private String template_termination; @Value("${wechat.message.template_appoint_success}") private String template_appoint_success; @Value("${wechat.message.template_appoint_failed}") private String template_appoint_failed; @Value("${wechat.message.template_expenses_remind}") private String template_expenses_remind; @Value("${wechat.message.template_healthy_article}") private String template_healthy_article; @Value("${wechat.message.template_doctor_change}") private String template_doctor_change; @Value("${wechat.message.template_doctor_survey}") private String template_doctor_survey; @Value("${wechat.message.template_doctor_audit}") private String template_doctor_audit;//审核结果通知 @Value("${wechat.message.template_doctor_service}") private String template_doctor_service;//服务结果通知 @Value("${pushMes.method}") private String putMesMethod; @Value("${pushMes.redis_prescription_title}") private String redisQueue; @Value("${putMesType.wechat}") private String putMesType; @Autowired private StringRedisTemplate redisTemplate; /** * 添加一条推送消息 * * @param receiver 接收人 * @param type 消息类型 * @param title 消息标题 * @param msg 消息内容 * @param data 消息数据 */ public void put(String receiver, String type, String title, String msg, String data) { try { JSONObject json = new JSONObject(); json.put("receiver", receiver); json.put("type", type); json.put("title", title); json.put("msg", msg); json.put("data", data); queue.put(json); } catch (Exception e) { logger.error("添加到消息队列失败!", e); e.printStackTrace(); } } /** * 添加微信消息 * * @param type * @param data */ public void putWxMsg(String access_token, int type, String openid, String name, JSONObject data) { try { JSONObject json = new JSONObject(); json.put("wx", true); json.put("access_token", access_token); json.put("type", type); json.put("openid", openid); json.put("name", name); json.put("data", data); //如果是内网推送到redis,如果是外网推送到内存队列 if(putMesMethod.equals("1")){ JSONObject mes = new JSONObject(); mes.put("title",putMesType); mes.put("value",json.toString()); redisTemplate.opsForList().leftPush(redisQueue,mes.toString()); }else{ queue.put(json); } } catch (Exception e) { logger.error("添加到微信消息列队列失败!", e); e.printStackTrace(); } } public void put(JSONArray array) { if (array == null || array.length() == 0) { return; } for (int i = 0; i < array.length(); i++) { JSONObject json = array.getJSONObject(i); if (json == null) { continue; } try { queue.put(json); } catch (Exception e) { logger.error("批量添加到消息队列失败!", e); } } } @PostConstruct private void run() { new Thread(new ConsumerTask(httpUtil)).start(); } // 消费者 class ConsumerTask implements Runnable { private HttpUtil httpUtil; public ConsumerTask(HttpUtil httpUtil) { this.httpUtil = httpUtil; } @Override public void run() { while (true) { try { // 如果queue为空,则当前线程会堵塞,直到有新数据加入 JSONObject json = queue.take(); boolean wx = json.has("wx") ? json.getBoolean("wx") : false; if (wx) { // 推送微信消息 JSONObject data = json.has("data") ? json.getJSONObject("data") : null; if (data == null) { continue; } // 消息类型:1:签约成功 2:签约失败 3:咨询回复通知 4:健康指导提醒 int type = json.has("type") ? json.getInt("type") : -1; if (type == -1) { continue; } String access_token = json.has("access_token") ? json.getString("access_token") : ""; String openid = json.has("openid") ? json.getString("openid") : ""; String name = json.has("name") ? json.getString("name") : ""; // String name = data.has("name") ? json.getString("name") : ""; // 发送消息到微信端 sendWeixinMessage(access_token, type, openid, name, data); } else { // 推送平台消息 String receiver = json.has("receiver") ? json.getString("receiver") : ""; String type = json.has("type") ? json.getString("type") : ""; String title = json.has("title") ? json.getString("title") : ""; String msg = json.has("msg") ? json.getString("msg") : ""; String data = json.has("data") ? json.getString("data") : ""; boolean res = httpUtil.pushMessage(receiver, type, title, msg, data); if (res) { logger.info("消息推送成功!"); } else { logger.error("消息推送失败!"); } } } catch (Exception ex) { ex.printStackTrace(); } } } } // private static final String signSuccess = "0D2vYZVRzFz15p9Y_pkZ1DKutDq8UOsks79FXUKS0tA"; // private static final String signFalied = "My2VNERjJt4NXR4Ibh42pdrP6B6ka8rQxZeWinQh99s"; // private static final String consultNotice = "0mF_vHj-ILx8EH8DwzmAi7LqzjqYiU9IrSRRmziTZyc"; // private static final String healthNotice = "uv31ES_VCmq3tBYtyGmEQvIwU_zh9LDhF3bFpbIUt5g"; // private static final String termination = "C0tdXtA_8k-Cy4a1EkzQuI877vqaqAtRkc-e_Gsd7sk"; // private static final String appointmentSuccess = "FY3Pqa66tHIE1Fv-irbFBPOh5cYP71fkOzfZKH4S-Fo"; // private static final String appointmentCancel = "tldWEb9AN7p_RoHoD8ml0GxWW3V1V_mpEEhp2v6p56s"; // private static final String url = "http://www.xmtyw.cn/wlyy/wx/html/"; /** * 发送微信模板消息 * * @param type 1:签约成功 2:签约失败 3:咨询回复通知 4:健康指导提醒 5:解约申请通知 6:预约挂号成功通知 7:预约取消通知 8 缴费提醒 9 健康教育 10 签约医生变更(信息变更通知) * 18 产检提醒和产检就诊提醒 19:续方审核结果通知(0.不通过 1.通过 2。调整处方并通过) 20:服务结果通知 11.代办事项通知 * @param json 当type==1||type==2时:{"first":"消息主题",”doctor":"医生code","doctorName":"医生名","date":"签约时间","content":"签约内容","remark":"消息备注"} * type==3时:{"first":"消息主题","consult":"医生咨询编号","consultcontent":"咨询内容","replycontent":"回复内容","doctorName":"医生名","remark":"消息备注"} * type==4时:{"first":"消息主题","date":"指导时间","orgName":"指导机构","doctorName":"指导医生名","content":"指导内容","remark":"消息备注"} * type==5时:{"first":"消息主题","date":"解约时间",”doctor":"医生code","doctorName":"医生名","orgName":"解约机构","remark":"消息备注"} * type==6时:{"first":"消息主题","date":"预约时间",”id":"预约ID","doctorName":"医生名","orgName":"预约医院","deptName":"预约科室","remark":"消息备注"} * type==7时:{"first":"消息主题","name":"就诊人名","date":"预约时间","doctorName":"医生名","orgName":"预约医院","remark":"消息备注"} * type==9时:{"first":"消息主题","name":"患教标题","doctorName":"医生名","date":"发送时间","remark":"消息备注"} * type==10时:{"first":"消息主题","name":"患教标题","doctorName":"医生名","date":"发送时间","remark":"消息备注"} *

* type==11时:{"first":"消息主题","name":"患教标题","doctorName":"医生名","date":"发送时间","remark":"消息备注"} * type==19时:{"first":"消息主题","keyword1":"审核结果","keyword2":"审核医生","remark":"消息备注"} * type==20时:{"first":"消息主题","keyword1":"服务项目","keyword2":"操作医生","keyword3":"服务时间","remark":"消息备注"} * @return */ // private boolean sendWeixinMessage(String access_token, int type, String openid, String name, JSONObject json) { public boolean sendWeixinMessage(String access_token, int type, String openid, String name, JSONObject json) { try { if (StringUtils.isEmpty(openid)) { logger.error("send wechat message failed:openid is empty"); return false; } if (access_token != null) { String token_url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + access_token; String params = typeMsg(type, openid, name, json); if (params == "") { logger.error("参数错误!error"); return false; } String result = httpUtil.sendPost(token_url, params); JSONObject jsonResult = new JSONObject(result); if (Integer.parseInt(jsonResult.get("errcode").toString()) == 0) { logger.info("微信信息推送成功!success"); return true; } else { logger.error("错误编码:" + jsonResult.get("errcode").toString() + " 错误提示:" + jsonResult.get("errmsg").toString()); return false; } } else { logger.error("获取access_token失败!"); return false; } } catch (Exception e) { e.printStackTrace(); logger.error("微信信息推送失败!"); return false; } } /** * 拼接参数 * * @param type * @return */ public String typeMsg(int type, String openid, String name, JSONObject json) { try { String url = server_url + "wx/html/"; WechatTemplate temp = new WechatTemplate(); temp.setTouser(openid); temp.setTopcolor("#000000"); Map m = new HashMap(); WechatTemplateData first = new WechatTemplateData(); first.setColor("#000000"); first.setValue(json.getString("first")); m.put("first", first); WechatTemplateData remark = new WechatTemplateData(); remark.setColor("#000000"); remark.setValue(json.getString("remark")); m.put("remark", remark); String temp_id = ""; if (type == 3) { if (json.has("isPublic") && json.getInt("isPublic") == 1) { temp.setUrl(url + "jbsq/html/public-consult-detail.html?openid=" + openid + "&code=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented")); } else { temp.setUrl(url + "yszx/html/consulting-doctor.html?openid=" + openid + "&consult=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented")); } temp_id = template_consult_notice; temp.setTemplate_id(temp_id); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("consultcontent")); m.put("keyword1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("replycontent")); m.put("keyword2", keyword2); WechatTemplateData keyword3 = new WechatTemplateData(); keyword3.setColor("#000000"); keyword3.setValue(json.getString("doctorName")); m.put("keyword3", keyword3); } else if (type == 1 || type == 2) { if (type == 1) { temp_id = template_sign_success; } else { temp_id = template_sign_failed; } String isRenew = "0"; if (json.has("isRenew")) { isRenew = "1"; } String signState = "0"; if (json.has("signState")) { signState = (String) json.get("signState"); } if (json.has("isRenew") && type == 2) { //如果续签失败,不发送详情 } else { if (json.has("agent") && ("1".equals(json.getString("agent")))) { // 发送给授权代理人 temp.setUrl(url + "ssgg/html/doctor-homepage-new.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&isRenew=" + isRenew + "&signState=" + signState + "&represented=" + json.getString("represented") + "&signCode=" + json.getString("signCode")); } else if (json.has("agent") && ("0".equals(json.getString("agent")))) { // 发送给自己 temp.setUrl(url + "qygl/html/pay_flow.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&isRenew=" + isRenew + "&signState=" + signState + "&represented=" + json.getString("represented") + "&signCode=" + json.getString("signCode")); } } temp.setTouser(openid); temp.setTopcolor("#000000"); temp.setTemplate_id(temp_id); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("doctorName")); m.put("keyword1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(name); m.put("keyword2", keyword2); WechatTemplateData keyword3 = new WechatTemplateData(); keyword3.setColor("#000000"); keyword3.setValue(json.getString("date")); m.put("keyword3", keyword3); WechatTemplateData keyword4 = new WechatTemplateData(); keyword4.setColor("#000000"); keyword4.setValue(json.getString("content")); m.put("keyword4", keyword4); } else if (type == 4) { temp.setUrl(url + "yszd/html/guidance-detail.html?openid=" + openid + "&toUser=" + json.getString("toUser") + "&id=" + String.valueOf(json.get("id")) + "&toName=" + name + "&represented=" + json.getString("represented")); temp_id = template_health_notice; temp.setTemplate_id(temp_id); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("date")); m.put("keyword1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("orgName")); m.put("keyword2", keyword2); WechatTemplateData keyword3 = new WechatTemplateData(); keyword3.setColor("#000000"); keyword3.setValue(json.getString("doctorName")); m.put("keyword3", keyword3); WechatTemplateData keyword4 = new WechatTemplateData(); keyword4.setColor("#000000"); keyword4.setValue(name); m.put("keyword4", keyword4); WechatTemplateData keyword5 = new WechatTemplateData(); keyword5.setColor("#000000"); keyword5.setValue(json.getString("content")); m.put("keyword5", keyword5); } else if (type == 5) { temp.setUrl(url + "ssgg/html/doctor-homepage-new.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented")); temp_id = template_termination; temp.setTemplate_id(temp_id); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("doctorName")); m.put("keyword1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(name); m.put("keyword2", keyword2); WechatTemplateData keyword3 = new WechatTemplateData(); keyword3.setColor("#000000"); keyword3.setValue(json.getString("orgName")); m.put("keyword3", keyword3); WechatTemplateData keyword4 = new WechatTemplateData(); keyword4.setColor("#000000"); keyword4.setValue(json.getString("date")); m.put("keyword4", keyword4); } else if (type == 6) { temp.setUrl(url + "wdyy/html/detail-appointment.html?openid=" + openid + "&orgCode=" + json.get("orgCode") + "&id=" + json.getString("id") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented")); temp_id = template_appoint_success; temp.setTemplate_id(temp_id); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("orgName")); m.put("hospitalname", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("deptName")); m.put("deptname", keyword2); WechatTemplateData keyword3 = new WechatTemplateData(); keyword3.setColor("#000000"); keyword3.setValue(json.getString("doctorName")); m.put("doctorname", keyword3); WechatTemplateData keyword4 = new WechatTemplateData(); keyword4.setColor("#000000"); keyword4.setValue(json.getString("date")); m.put("planstarttime", keyword4); } else if (type == 7) { temp.setUrl(url + "wdyy/html/my-appointment.html?openid=" + openid + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented")); temp_id = template_appoint_failed; temp.setTemplate_id(temp_id); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("name")); m.put("keynote1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("date")); m.put("keynote2", keyword2); WechatTemplateData keyword3 = new WechatTemplateData(); keyword3.setColor("#000000"); keyword3.setValue(json.getString("doctorName")); m.put("keynote3", keyword3); WechatTemplateData keyword4 = new WechatTemplateData(); keyword4.setColor("#000000"); keyword4.setValue(json.getString("orgName")); m.put("keynote4", keyword4); } else if (type == 8) { //temp.setUrl(url + "wdyy/html/my-appointment.html?openid=" + openid + "&toUser=" + json.getString("toUser")); temp_id = template_expenses_remind; temp.setTemplate_id(temp_id); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("doctorName")); m.put("first", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue("以协议为准"); m.put("keyword1", keyword2); WechatTemplateData keyword3 = new WechatTemplateData(); keyword3.setColor("#000000"); keyword3.setValue("家庭医生签约"); m.put("keyword2", keyword3); WechatTemplateData keyword4 = new WechatTemplateData(); keyword4.setColor("#000000"); keyword4.setValue(json.getString("content")); m.put("remark", keyword4); } else if (type == 9) { temp.setUrl(url + "jkjy/html/article.html?openid=" + openid + "&dataId=" + json.getString("article") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented")); temp_id = template_healthy_article; temp.setTemplate_id(temp_id); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("first")); m.put("first", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("title")); m.put("keyword1", keyword2); WechatTemplateData keyword3 = new WechatTemplateData(); keyword3.setColor("#000000"); keyword3.setValue(json.getString("doctorName")); m.put("keyword2", keyword3); WechatTemplateData keyword4 = new WechatTemplateData(); keyword4.setColor("#000000"); keyword4.setValue(json.getString("date")); m.put("keyword3", keyword4); WechatTemplateData keyword5 = new WechatTemplateData(); keyword5.setColor("#000000"); keyword5.setValue(json.getString("remark")); m.put("remark", keyword5); } else if (type == 10) { if (json.has("url")) { temp.setUrl(url + json.getString("url")); }else { temp.setUrl(url + "qygl/html/signing-doctors.html?openid=" + openid + "&state=" + openid + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented")); } temp.setTemplate_id(template_doctor_change); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("keyword1")); m.put("keyword1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("keyword2")); m.put("keyword2", keyword2); WechatTemplateData keyword3 = new WechatTemplateData(); keyword3.setColor("#000000"); keyword3.setValue(json.getString("keyword3")); m.put("keyword3", keyword3); } else if (type == 11) { if (json.has("url")) { temp.setUrl(url + json.getString("url")); } else { String xinurl = url + "survey/html/survey_info.html?openid=" + openid + "&state=" + openid + "&survey_id=" + json.getString("survey_id") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented"); // temp.setUrl(url + "survey/html/survey_info.html?openid=" + openid + "&state=" + openid + "&survey_id=" + json.getString("survey_id") + "&toUser=" + json.getString("toUser") + "&toName=" + name); temp.setUrl(xinurl); } temp.setTemplate_id(template_doctor_survey); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("keyword1")); m.put("keyword1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("keyword2")); m.put("keyword2", keyword2); logger.info("type=====>openId " + openid); } else if (type == 12) { temp.setUrl(url + "jtgx/html/application-msg-list.html?openid=" + openid + "&member=" + json.getString("member") + "&toUser=" + json.getString("member") + "&toName=" + name); temp.setTemplate_id(template_doctor_survey); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("keyword1")); m.put("keyword1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("keyword2")); m.put("keyword2", keyword2); // WechatTemplateData keyword3= new WechatTemplateData(); // keyword3.setColor("#000000"); // keyword3.setValue(json.getString("keyword3")); // m.put("keyword3", keyword3); // // WechatTemplateData keyword4= new WechatTemplateData(); // keyword4.setColor("#000000"); // keyword4.setValue(json.getString("keyword4")); // m.put("keyword4", keyword4); } else if (type == 13) { temp.setUrl(url + "jtgx/html/family.html?openid=" + openid); temp.setTemplate_id(template_doctor_survey); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("keyword1")); m.put("keyword1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("keyword2")); m.put("keyword2", keyword2); // WechatTemplateData keyword3= new WechatTemplateData(); // keyword3.setColor("#000000"); // keyword3.setValue(json.getString("keyword3")); // m.put("keyword3", keyword3); // // WechatTemplateData keyword4= new WechatTemplateData(); // keyword4.setColor("#000000"); // keyword4.setValue(json.getString("keyword4")); // m.put("keyword4", keyword4); } else if (type == 14) { temp.setTemplate_id(template_doctor_survey); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("keyword1")); m.put("keyword1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("keyword2")); m.put("keyword2", keyword2); } else if (type == 15) { temp.setTemplate_id(template_doctor_survey); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("keyword1")); m.put("keyword1", keyword1); } else if (type == 16) { temp.setUrl(url + "xuqian/html/information.html?openid=" + openid + "&changeDoctor=" + 1 + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented")); temp.setTemplate_id(template_doctor_survey); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("keyword1")); m.put("keyword1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("keyword2")); m.put("keyword2", keyword2); } else if (type == 17) { temp.setUrl(url + "yszx/html/manyidu.html?openid=" + openid + "&consult=" + json.getString("consult") + "&toUser=" + json.getString("toUser") + "&toName=" + name + "&represented=" + json.getString("represented")); temp.setTemplate_id(template_doctor_survey); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("keyword1")); m.put("keyword1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("keyword2")); m.put("keyword2", keyword2); } else if (type == 18) { temp.setUrl(url + json.getString("url")); temp.setTemplate_id(template_doctor_survey); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("keyword1")); m.put("keyword1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("keyword2")); m.put("keyword2", keyword2); } else if (type == 19) { temp.setUrl(url + json.getString("url")); temp.setTemplate_id(template_doctor_audit); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("keyword1")); m.put("keyword1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("keyword2")); m.put("keyword2", keyword2); } else if (type == 20) { temp.setUrl(url + json.getString("url")); temp.setTemplate_id(template_doctor_service); WechatTemplateData keyword1 = new WechatTemplateData(); keyword1.setColor("#000000"); keyword1.setValue(json.getString("keyword1")); m.put("keyword1", keyword1); WechatTemplateData keyword2 = new WechatTemplateData(); keyword2.setColor("#000000"); keyword2.setValue(json.getString("keyword2")); m.put("keyword2", keyword2); WechatTemplateData keyword3 = new WechatTemplateData(); keyword3.setColor("#000000"); keyword3.setValue(json.getString("keyword3")); m.put("keyword3", keyword3); } temp.setData(m); ObjectMapper mapper = new ObjectMapper(); String strJson = mapper.writeValueAsString(temp); //System.out.println("send message================>" + strJson); logger.error("send message================>" + strJson); return strJson; } catch (Exception e) { e.printStackTrace(); return ""; } } }