|
@ -26,140 +26,142 @@ import com.yihu.wlyy.util.HttpUtil;
|
|
|
@Api(description = "消息推送")
|
|
|
public class PushMsgTask {
|
|
|
|
|
|
private static Logger logger = LoggerFactory.getLogger(PushMsgTask.class);
|
|
|
// 最大容量为50的数组堵塞队列
|
|
|
private static LinkedBlockingQueue<JSONObject> queue = new LinkedBlockingQueue<JSONObject>();
|
|
|
private static Logger logger = LoggerFactory.getLogger(PushMsgTask.class);
|
|
|
// 最大容量为50的数组堵塞队列
|
|
|
private static LinkedBlockingQueue<JSONObject> queue = new LinkedBlockingQueue<JSONObject>();
|
|
|
|
|
|
private static PushMsgTask instance;
|
|
|
private static PushMsgTask instance;
|
|
|
|
|
|
private static Object lock = new Object();
|
|
|
private static Object lock = new Object();
|
|
|
|
|
|
public static PushMsgTask getInstance() {
|
|
|
synchronized (lock) {
|
|
|
if (instance == null) {
|
|
|
instance = new PushMsgTask();
|
|
|
instance.run();
|
|
|
}
|
|
|
}
|
|
|
return instance;
|
|
|
}
|
|
|
public static PushMsgTask getInstance() {
|
|
|
synchronized (lock) {
|
|
|
if (instance == null) {
|
|
|
instance = new PushMsgTask();
|
|
|
instance.run();
|
|
|
}
|
|
|
}
|
|
|
return instance;
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "aa")
|
|
|
@ResponseBody
|
|
|
public String test() {
|
|
|
return "1111";
|
|
|
}
|
|
|
@RequestMapping(value = "aa")
|
|
|
@ResponseBody
|
|
|
public String test() {
|
|
|
return "1111";
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 添加一条推送消息
|
|
|
* @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 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);
|
|
|
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);
|
|
|
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);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
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);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void run() {
|
|
|
new Thread(new ConsumerTask()).start();
|
|
|
}
|
|
|
private void run() {
|
|
|
new Thread(new ConsumerTask()).start();
|
|
|
}
|
|
|
|
|
|
// 消费者
|
|
|
class ConsumerTask implements Runnable {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
try {
|
|
|
while (true) {
|
|
|
// 如果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") : "";
|
|
|
// 发送消息到微信端
|
|
|
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();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
// 消费者
|
|
|
class ConsumerTask implements Runnable {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
try {
|
|
|
while (true) {
|
|
|
// 如果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") : "";
|
|
|
// 发送消息到微信端
|
|
|
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";
|
|
@ -170,201 +172,203 @@ public class PushMsgTask {
|
|
|
// 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:预约取消通知
|
|
|
* @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":"消息备注"}
|
|
|
* @return
|
|
|
*/
|
|
|
private boolean sendWeixinMessage(String access_token, int type, String openid, String name, JSONObject json) {
|
|
|
try {
|
|
|
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("参数错误!");
|
|
|
return false;
|
|
|
}
|
|
|
String result = HttpUtil.sendPost(token_url, params);
|
|
|
JSONObject jsonResult = new JSONObject(result);
|
|
|
if (Integer.parseInt(jsonResult.get("errcode").toString()) == 0) {
|
|
|
logger.info("微信信息推送成功!");
|
|
|
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 1:签约成功 2:签约失败 3:咨询回复通知 4:健康指导提醒 5:解约申请通知 6:预约挂号成功通知 7:预约取消通知
|
|
|
* @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":"消息备注"}
|
|
|
* @return
|
|
|
*/
|
|
|
private boolean sendWeixinMessage(String access_token, int type, String openid, String name, JSONObject json) {
|
|
|
try {
|
|
|
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("参数错误!");
|
|
|
return false;
|
|
|
}
|
|
|
String result = HttpUtil.sendPost(token_url, params);
|
|
|
JSONObject jsonResult = new JSONObject(result);
|
|
|
if (Integer.parseInt(jsonResult.get("errcode").toString()) == 0) {
|
|
|
logger.info("微信信息推送成功!");
|
|
|
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 = SystemConf.getInstance().getSystemProperties().getProperty("server_url") + "wx/html/";
|
|
|
WechatTemplate temp = new WechatTemplate();
|
|
|
temp.setTouser(openid);
|
|
|
temp.setTopcolor("#000000");
|
|
|
Map<String, WechatTemplateData> m = new HashMap<String, WechatTemplateData>();
|
|
|
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) {
|
|
|
temp.setUrl(url + "yszx/html/consulting-doctor.html?openid=" + openid + "&consult=" + json.getString("consult"));
|
|
|
temp_id = SystemConf.getInstance().getSystemProperties().getProperty("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 = SystemConf.getInstance().getSystemProperties().getProperty("template_sign_success");
|
|
|
else
|
|
|
temp_id = SystemConf.getInstance().getSystemProperties().getProperty("template_sign_failed");
|
|
|
temp.setUrl(url + "ssgg/html/doctor-homepage-new.html?openid=" + openid + "&state=" + json.getString("doctor"));
|
|
|
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/doctor-guidance.html?openid=" + openid);
|
|
|
temp_id = SystemConf.getInstance().getSystemProperties().getProperty("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"));
|
|
|
temp_id = SystemConf.getInstance().getSystemProperties().getProperty("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 +"&id=" + json.getLong("id"));
|
|
|
temp_id = SystemConf.getInstance().getSystemProperties().getProperty("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);
|
|
|
temp_id = SystemConf.getInstance().getSystemProperties().getProperty("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);
|
|
|
}
|
|
|
temp.setData(m);
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
String strJson = mapper.writeValueAsString(temp);
|
|
|
return strJson;
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return "";
|
|
|
}
|
|
|
}
|
|
|
/**
|
|
|
* 拼接参数
|
|
|
*
|
|
|
* @param type
|
|
|
* @return
|
|
|
*/
|
|
|
public String typeMsg(int type, String openid, String name, JSONObject json) {
|
|
|
try {
|
|
|
String url = SystemConf.getInstance().getSystemProperties().getProperty("server_url") + "wx/html/";
|
|
|
WechatTemplate temp = new WechatTemplate();
|
|
|
temp.setTouser(openid);
|
|
|
temp.setTopcolor("#000000");
|
|
|
Map<String, WechatTemplateData> m = new HashMap<String, WechatTemplateData>();
|
|
|
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) {
|
|
|
temp.setUrl(url + "yszx/html/consulting-doctor.html?openid=" + openid + "&consult=" + json.getString("consult") + "&toUser=" + json.getString("toUser"));
|
|
|
temp_id = SystemConf.getInstance().getSystemProperties().getProperty("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 = SystemConf.getInstance().getSystemProperties().getProperty("template_sign_success");
|
|
|
else
|
|
|
temp_id = SystemConf.getInstance().getSystemProperties().getProperty("template_sign_failed");
|
|
|
temp.setUrl(url + "ssgg/html/doctor-homepage-new.html?openid=" + openid + "&state=" + json.getString("doctor") + "&toUser=" + json.getString("toUser"));
|
|
|
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/doctor-guidance.html?openid=" + openid + "&toUser=" + json.getString("toUser"));
|
|
|
temp_id = SystemConf.getInstance().getSystemProperties().getProperty("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"));
|
|
|
temp_id = SystemConf.getInstance().getSystemProperties().getProperty("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 + "&id=" + json.getLong("id") + "&toUser=" + json.getString("toUser"));
|
|
|
temp_id = SystemConf.getInstance().getSystemProperties().getProperty("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"));
|
|
|
temp_id = SystemConf.getInstance().getSystemProperties().getProperty("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);
|
|
|
}
|
|
|
temp.setData(m);
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
String strJson = mapper.writeValueAsString(temp);
|
|
|
return strJson;
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return "";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|