package com.ynxbd.push.helper; import com.fasterxml.jackson.core.JsonProcessingException; import com.ynxbd.push.entity.tencent.SendMessageTemplate; import com.ynxbd.push.entity.tencent.TemplateJsonValue; import com.ynxbd.push.entity.tencent.TemplateRemark; /** * 模版消息发送第二步的流水线 * * @Project WebApi * @Name TemplateMessageDataHelper 得到json字符串的方法 * @Author 李进才 * @Date 2020/5/25 * @Version v1.0.0 * @Copyright @ 2017 云南新八达科技有限公司 All rights reserved. * Get1 排队叫号提醒 OPENTM417349950 * Get2 检验结果通知 OPENTM414005941 * Get3 预约挂号失败通知 OPENTM416881028 * Get4 缴费成功通知 OPENTM411327952 * Get5 住院押金不足提醒 OPENTM417724268 * Get6 挂号成功通知 OPENTM413793502 * Get7 缴费失败通知 OPENTM411721506 * Get8 退费通知 OPENTM207453484 * Get9 取消预约通知 OPENTM402119642 * Get10 预约医生停诊通知 OPENTM401974562 * Get11 挂号失败通知 OPENTM406437214 * Get12 预约挂号成功通知 TM00103 * Get13 检查报告提醒 OPENTM202187595 * Get14 信息完善提醒 OPENTM409876442 * Get15 健康卡成功升级通知 OPENTM417520543 */ public class TemplateJsonStringHelper { /** * 模版1 排队叫号提醒 已测试 * * @param key openId 用户id * url 跳转链接 * department:科室 * doctor:医生 * first:标题 * currentNumber:当前号码 * selfNumber:本人号码 * waitNumber:等待人数 * remark:备注 * template_id 模版id * @return */ public static String get1(SendMessageTemplate key) throws JsonProcessingException { // return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\""+key.getDepartment()+"\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\""+key.getDoctor()+"\"},\"first\":{\"color\":\"#173177\",\"value\":\""+key.getFirst()+"\"},\"keyword3\":{\"color\":\"#173177\",\"value\":\""+key.getCurrentNumber()+"\"},\"keyword4\":{\"color\":\"#173177\",\"value\":\""+key.getSelfNumber()+"\"},\"keyword5\":{\"color\":\"#173177\",\"value\":\""+key.getWaitNumber()+"\"},\"remark\":{\"color\":\"#173177\",\"value\":\""+key.getRemark()+"\"}},\"template_id\":\""+key.getTemplate_id()+"\",\"touser\":\""+key.getOpenId()+"\",\"url\":\""+key.getUrl()+"\"}"; return TemplateAllKeyWordJson.getTemplateJsonData(key.getTemplate_id(), key.getOpenId(), key.getUrl(), TemplateRemark.builder().value(key.getFirst()).color("#173177").build(), TemplateRemark.builder().value(key.getRemark()).color("#173177").build(), TemplateJsonValue.builder().value(key.getDepartment()).color("#173177").build(), TemplateJsonValue.builder().value(key.getDoctor()).color("#173177").build(), TemplateJsonValue.builder().value(key.getCurrentNumber()).color("#173177").build(), TemplateJsonValue.builder().value(key.getSelfNumber()).color("#173177").build(), TemplateJsonValue.builder().value(key.getWaitNumber()).color("#173177").build()); } /** * 模版2 检验结果通知 已测试 * * @param key * @return openId 用户id * url 跳转链接 * item 就诊项目 * patientName 病人姓名 * first 标题 * time 检验时间 * remark 备注 * template_id 模版id */ public static String get2(SendMessageTemplate key) throws JsonProcessingException { // return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\""+key.getItem()+"\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\""+key.getPatientName()+"\"},\"first\":{\"color\":\"#173177\",\"value\":\""+key.getFirst()+"\"},\"keyword3\":{\"color\":\"#173177\",\"value\":\""+key.getTime()+"\"},\"remark\":{\"color\":\"#173177\",\"value\":\""+key.getRemark()+"\"}},\"template_id\":\""+key.getTemplate_id()+"\",\"touser\":\""+key.getOpenId()+"\",\"url\":\""+key.getUrl()+"\"}"; return TemplateAllKeyWordJson.getTemplateJsonData(key.getTemplate_id(), key.getOpenId(), key.getUrl(), TemplateRemark.builder().value(key.getFirst()).color("#173177").build(), TemplateRemark.builder().value(key.getRemark()).color("#173177").build(), TemplateJsonValue.builder().value(key.getItem()).color("#173177").build(), TemplateJsonValue.builder().value(key.getPatientName()).color("#173177").build(), TemplateJsonValue.builder().value(key.getTime()).color("#173177").build()); } /** * 模版3 预约挂号失败通知 已测试 * * @param key * @return template_id 模版id * openId 用户id * url 跳转链接 * first 标题 * remark 备注 * department 科室 * doctor 医生 * patientName 病人 * time 预约时间 */ public static String get3(SendMessageTemplate key) throws JsonProcessingException { // return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\""+key.getDepartment()+"\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\""+key.getDoctor()+"\"},\"first\":{\"color\":\"#173177\",\"value\":\""+key.getFirst()+"\"},\"keyword3\":{\"color\":\"#173177\",\"value\":\""+key.getPatientName()+"\"},\"keyword4\":{\"color\":\"#173177\",\"value\":\""+key.getTime()+"\"},\"remark\":{\"color\":\"#173177\",\"value\":\""+key.getRemark()+"\"}},\"template_id\":\""+key.getTemplate_id()+"\",\"touser\":\""+key.getOpenId()+"\",\"url\":\""+key.getUrl()+"\"}"; return TemplateAllKeyWordJson.getTemplateJsonData(key.getTemplate_id(), key.getOpenId(), key.getUrl(), TemplateRemark.builder().value(key.getFirst()).color("#173177").build(), TemplateRemark.builder().value(key.getRemark()).color("#173177").build(), TemplateJsonValue.builder().value(key.getDepartment()).color("#173177").build(), TemplateJsonValue.builder().value(key.getDoctor()).color("#173177").build(), TemplateJsonValue.builder().value(key.getPatientName()).color("#173177").build(), TemplateJsonValue.builder().value(key.getTime()).color("#173177").build()); } /** * 模版4 缴费成功通知 已测试 * template_id 模版id * openId 用户id * url 跳转链接 * first 标题 * remark 备注 * patientName 缴费人姓名 * department 科室 * doctor 医生 * money 总金额 * time 缴费时间 * * @param key * @return */ public static String get4(SendMessageTemplate key) throws JsonProcessingException { // return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\""+key.getPatientName()+"\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\""+key.getDepartment()+"\"},\"first\":{\"color\":\"#173177\",\"value\":\""+key.getFirst()+"\"},\"keyword3\":{\"color\":\"#173177\",\"value\":\""+key.getDoctor()+"\"},\"keyword4\":{\"color\":\"#173177\",\"value\":\""+key.getMoney()+"\"},\"keyword5\":{\"color\":\"#173177\",\"value\":\""+key.getTime()+"\"},\"remark\":{\"color\":\"#173177\",\"value\":\""+key.getRemark()+"\"}},\"template_id\":\""+key.getTemplate_id()+"\",\"touser\":\""+key.getOpenId()+"\",\"url\":\""+key.getUrl()+"\"}"; return TemplateAllKeyWordJson.getTemplateJsonData(key.getTemplate_id(), key.getOpenId(), key.getUrl(), TemplateRemark.builder().value(key.getFirst()).color("#173177").build(), TemplateRemark.builder().value(key.getRemark()).color("#173177").build(), TemplateJsonValue.builder().value(key.getPatientName()).color("#173177").build(), TemplateJsonValue.builder().value(key.getDepartment()).color("#173177").build(), TemplateJsonValue.builder().value(key.getDoctor()).color("#173177").build(), TemplateJsonValue.builder().value(key.getMoney()).color("#173177").build(), TemplateJsonValue.builder().value(key.getTime()).color("#173177").build()); } /** * 模版5 住院押金不足提醒 已测试 * template_id 模版id * openId 用户id * url 跳转链接 * first 标题 * remark 备注 * patientName 就诊人 * seq 住院号 * bedNumber 床位号 * department 科室 * money 押金余额 * * @param key * @return */ public static String get5(SendMessageTemplate key) { return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\"" + key.getPatientName() + "\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\"" + key.getSeq() + "\"},\"first\":{\"color\":\"#173177\",\"value\":\"" + key.getFirst() + "\"},\"keyword3\":{\"color\":\"#173177\",\"value\":\"" + key.getBedNumber() + "\"},\"keyword4\":{\"color\":\"#173177\",\"value\":\"" + key.getDepartment() + "\"},\"keyword5\":{\"color\":\"#173177\",\"value\":\"" + key.getMoney() + "\"},\"remark\":{\"color\":\"#173177\",\"value\":\"" + key.getRemark() + "\"}},\"template_id\":\"" + key.getTemplate_id() + "\",\"touser\":\"" + key.getOpenId() + "\",\"url\":\"" + key.getUrl() + "\"}"; } /** * 模版6 挂号成功通知 已测试 * template_id 模版id * openId 用户id * url 跳转链接 * first 标题 * remark 备注 * patientName 就诊人 * hospitalName 医院名称 * department 科室 * doctor 医生 * time 就诊时间 * * @param key * @return */ public static String get6(SendMessageTemplate key) { return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\"" + key.getPatientName() + "\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\"" + key.getHospitalName() + "\"},\"first\":{\"color\":\"#173177\",\"value\":\"" + key.getFirst() + "\"},\"keyword3\":{\"color\":\"#173177\",\"value\":\"" + key.getDepartment() + "\"},\"keyword4\":{\"color\":\"#173177\",\"value\":\"" + key.getDoctor() + "\"},\"keyword5\":{\"color\":\"#173177\",\"value\":\"" + key.getTime() + "\"},\"remark\":{\"color\":\"#173177\",\"value\":\"" + key.getRemark() + "\"}},\"template_id\":\"" + key.getTemplate_id() + "\",\"touser\":\"" + key.getOpenId() + "\",\"url\":\"" + key.getUrl() + "\"}"; } /** * 模版7 缴费失败通知 已测试 * template_id 模版id * openId 用户id * url 跳转链接 * first 标题 * remark 备注 * patientName 就诊人 * seq 订单号 * department 科室 * doctor 医生 * money 金额 * * @param key * @return */ public static String get7(SendMessageTemplate key) { return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\"" + key.getPatientName() + "\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\"" + key.getSeq() + "\"},\"first\":{\"color\":\"#173177\",\"value\":\"" + key.getFirst() + "\"},\"keyword3\":{\"color\":\"#173177\",\"value\":\"" + key.getDepartment() + "\"},\"keyword4\":{\"color\":\"#173177\",\"value\":\"" + key.getDoctor() + "\"},\"keyword5\":{\"color\":\"#173177\",\"value\":\"" + key.getMoney() + "\"},\"remark\":{\"color\":\"#173177\",\"value\":\"" + key.getRemark() + "\"}},\"template_id\":\"" + key.getTemplate_id() + "\",\"touser\":\"" + key.getOpenId() + "\",\"url\":\"" + key.getUrl() + "\"}"; } /** * 模版8 退费通知 已测试 * template_id 模版id * openId 用户id * url 跳转链接 * first 标题 * remark 备注 * seq 订单号 * money 退款金额 * time 退费时间 * arrivalTime 到账时间 * * @param key * @return */ public static String get8(SendMessageTemplate key) { return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\"" + key.getSeq() + "\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\"" + key.getMoney() + "\"},\"first\":{\"color\":\"#173177\",\"value\":\"" + key.getFirst() + "\"},\"keyword3\":{\"color\":\"#173177\",\"value\":\"" + key.getTime() + "\"},\"keyword4\":{\"color\":\"#173177\",\"value\":\"" + key.getArrivalTime() + "\"},\"remark\":{\"color\":\"#173177\",\"value\":\"" + key.getRemark() + "\"}},\"template_id\":\"" + key.getTemplate_id() + "\",\"touser\":\"" + key.getOpenId() + "\",\"url\":\"" + key.getUrl() + "\"}"; } /** * 模版9 取消预约通知 已测试 * template_id 模版id * openId 用户id * url 跳转链接 * first 标题 * remark 备注 * hospitalName 医院名称 * department 科室 * doctor 医生 * time 就诊时间 * * @param key * @return */ public static String get9(SendMessageTemplate key) { return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\"" + key.getHospitalName() + "\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\"" + key.getDepartment() + "\"},\"first\":{\"color\":\"#173177\",\"value\":\"" + key.getFirst() + "\"},\"keyword3\":{\"color\":\"#173177\",\"value\":\"" + key.getDoctor() + "\"},\"keyword4\":{\"color\":\"#173177\",\"value\":\"" + key.getTime() + "\"},\"remark\":{\"color\":\"#173177\",\"value\":\"" + key.getRemark() + "\"}},\"template_id\":\"" + key.getTemplate_id() + "\",\"touser\":\"" + key.getOpenId() + "\",\"url\":\"" + key.getUrl() + "\"}"; } /** * 模版10 预约医生停诊通知 已测试 * template_id 模版id * openId 用户id * url 跳转链接 * first 标题 * remark 备注 * patientName 就诊人 * hospitalName 医院名称 * department 科室 * doctor 医生 * time 原定时间 * * @param key * @return */ public static String get10(SendMessageTemplate key) { return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\"" + key.getPatientName() + "\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\"" + key.getHospitalName() + "\"},\"first\":{\"color\":\"#173177\",\"value\":\"" + key.getFirst() + "\"},\"keyword3\":{\"color\":\"#173177\",\"value\":\"" + key.getDepartment() + "\"},\"keyword4\":{\"color\":\"#173177\",\"value\":\"" + key.getDoctor() + "\"},\"keyword5\":{\"color\":\"#173177\",\"value\":\"" + key.getTime() + "\"},\"remark\":{\"color\":\"#173177\",\"value\":\"" + key.getRemark() + "\"}},\"template_id\":\"" + key.getTemplate_id() + "\",\"touser\":\"" + key.getOpenId() + "\",\"url\":\"" + key.getUrl() + "\"}"; } /** * 模版11 挂号失败通知 已测试 * template_id 模版id * openId 用户id * url 跳转链接 * first 标题 * remark 备注 * hospitalName 医院名称 * department 科室 * doctor 医生 * time 就诊时间 * * @param key * @return */ public static String get11(SendMessageTemplate key) { return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\"" + key.getHospitalName() + "\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\"" + key.getDepartment() + "\"},\"first\":{\"color\":\"#173177\",\"value\":\"" + key.getFirst() + "\"},\"keyword3\":{\"color\":\"#173177\",\"value\":\"" + key.getDoctor() + "\"},\"keyword4\":{\"color\":\"#173177\",\"value\":\"" + key.getTime() + "\"},\"remark\":{\"color\":\"#173177\",\"value\":\"" + key.getRemark() + "\"}},\"template_id\":\"" + key.getTemplate_id() + "\",\"touser\":\"" + key.getOpenId() + "\",\"url\":\"" + key.getUrl() + "\"}"; } /** * 模版12 预约挂号成功通知 已测试(非keyword) * * @param key * @return template_id 模版id * openId 用户id * url 跳转链接 * first 标题 * patientName 病人姓名 * patientSex 病人性别 * hospitalName 医院名称 * department 科室 * doctor 医生 * seq 流水号 * remark 备注 */ public static String get12(SendMessageTemplate key) { return "{\"data\":{\"department\":{\"color\":\"#173177\",\"value\":\"" + key.getDepartment() + "\"},\"doctor\":{\"color\":\"#173177\",\"value\":\"" + key.getDoctor() + "\"},\"first\":{\"color\":\"#173177\",\"value\":\"" + key.getFirst() + "\"},\"hospitalName\":{\"color\":\"#173177\",\"value\":\"" + key.getHospitalName() + "\"},\"patientName\":{\"color\":\"#173177\",\"value\":\"" + key.getPatientName() + "\"},\"patientSex\":{\"color\":\"#173177\",\"value\":\"" + key.getPatientSex() + "\"},\"remark\":{\"color\":\""+key.getRemarkColor()+"\",\"value\":\"" + key.getRemark() + "\"},\"seq\":{\"color\":\"#173177\",\"value\":\"" + key.getSeq() + "\"}},\"template_id\":\"" + key.getTemplate_id() + "\",\"touser\":\"" + key.getOpenId() + "\",\"url\":\"" + key.getUrl() + "\"}"; } /** * 模版13 检查报告提醒 已测试 * * @param key * @return openId 用户id * url 跳转链接 * item 就诊项目 * patientName 病人姓名 * first 标题 * time 检验时间 * remark 备注 * template_id 模版id */ public static String get13(SendMessageTemplate key) { return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\"" + key.getItem() + "\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\"" + key.getPatientName() + "\"},\"first\":{\"color\":\"#173177\",\"value\":\"" + key.getFirst() + "\"},\"keyword3\":{\"color\":\"#173177\",\"value\":\"" + key.getTime() + "\"},\"remark\":{\"color\":\"#173177\",\"value\":\"" + key.getRemark() + "\"}},\"template_id\":\"" + key.getTemplate_id() + "\",\"touser\":\"" + key.getOpenId() + "\",\"url\":\"" + key.getUrl() + "\"}"; } /** * 模版14 信息完善提醒 已测试 * * @param key * @return openId 用户id * url 跳转链接 * messageType 信息类型 * hospitalName 医院 * first 标题 * time 检验时间 * remark 备注 * template_id 模版id */ public static String get14(SendMessageTemplate key) { if (key.getUrl().isEmpty()) { //健康卡链接 key.setUrl("https://mp.weixin.qq.com/insurance/card/creditjump?cityid=999999&from=1HPEm43YG0j6674z7Usu8Q.%3D#wechat_redirect"); } return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\"" + key.getMessageType() + "\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\"" + key.getHospitalName() + "\"},\"first\":{\"color\":\"#173177\",\"value\":\"" + key.getFirst() + "\"},\"remark\":{\"color\":\"#173177\",\"value\":\"" + key.getRemark() + "\"}},\"template_id\":\"" + key.getTemplate_id() + "\",\"touser\":\"" + key.getOpenId() + "\",\"url\":\"" + key.getUrl() + "\"}"; } /** * 模版15 健康卡成功升级通知 已测试 * * @param key * @return openId 用户id * url 跳转链接 * time 升级时间 * updateDescription 升级说明 * first 标题 * time 检验时间 * remark 备注 * template_id 模版id */ public static String get15(SendMessageTemplate key) { return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\"" + key.getTime() + "\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\"" + key.getUpdateDescription() + "\"},\"first\":{\"color\":\"#173177\",\"value\":\"" + key.getFirst() + "\"},\"remark\":{\"color\":\"#173177\",\"value\":\"" + key.getRemark() + "\"}},\"template_id\":\"" + key.getTemplate_id() + "\",\"touser\":\"" + key.getOpenId() + "\",\"url\":\"" + key.getUrl() + "\"}"; } public static String get16(SendMessageTemplate key) { return "{\"data\":{\"keyword1\":{\"color\":\"#173177\",\"value\":\"" + key.getDoctor() + "\"},\"keyword2\":{\"color\":\"#173177\",\"value\":\"" + key.getPatientName() + "\"},\"keyword3\":{\"color\":\"#173177\",\"value\":\"" + key.getFollowUpStaff() + "\"},\"first\":{\"color\":\"#173177\",\"value\":\"" + key.getFirst() + "\"},\"remark\":{\"color\":\"#173177\",\"value\":\"" + key.getRemark() + "\"}},\"template_id\":\"" + key.getTemplate_id() + "\",\"touser\":\"" + key.getOpenId() + "\",\"url\":\"" + key.getUrl() + "\"}"; } public static String getReportTip(SendMessageTemplate key) { return "{\"data\":{\"character_string12\":{\"color\":\"#173177\",\"value\":\"" + key.getKeyword1() + "\"},\"thing3\":{\"color\":\"#173177\",\"value\":\"" + key.getKeyword2() + "\"},\"first\":{\"color\":\"#173177\",\"value\":\"" + key.getFirst() + "\"},\"character_string9\":{\"color\":\"#173177\",\"value\":\"" + key.getKeyword3() + "\"},\"time14\":{\"color\":\"#173177\",\"value\":\"" + key.getKeyword4() + "\"},\"thing5\":{\"color\":\"#173177\",\"value\":\"" + key.getKeyword5() + "\"},\"remark\":{\"color\":\"#173177\",\"value\":\"" + key.getRemark() + "\"}},\"template_id\":\"" + key.getTemplate_id() + "\",\"touser\":\"" + key.getOpenId() + "\",\"url\":\"" + key.getUrl() + "\"}"; } public static String getUniversal(SendMessageTemplate key) { return "{\"data\":{\"time13\":{\"color\":\"#173177\",\"value\":\"" + key.getKeyword1() + "\"},\"thing16\":{\"color\":\"#173177\",\"value\":\"" + key.getKeyword2() + "\"},\"first\":{\"color\":\"#173177\",\"value\":\"" + key.getFirst() + "\"},\"remark\":{\"color\":\"#173177\",\"value\":\"" + key.getRemark() + "\"}},\"template_id\":\"" + key.getTemplate_id() + "\",\"touser\":\"" + key.getOpenId() + "\",\"url\":\"" + key.getUrl() + "\"}"; } public static String get(SendMessageTemplate key) throws JsonProcessingException { return TemplateAllKeyWordJson.getTemplateJsonData(key.getTemplate_id(), key.getOpenId(), key.getUrl(), key.getAppId(), key.getPagePath(), TemplateRemark.builder().value(key.getFirst()).color("#173177").build(), TemplateRemark.builder().value(key.getRemark()).color("#173177").build(), TemplateJsonValue.builder().value(key.getKeyword1()).color(key.getKeyword1Color()).build(), TemplateJsonValue.builder().value(key.getKeyword2()).color(key.getKeyword2Color()).build(), TemplateJsonValue.builder().value(key.getKeyword3()).color(key.getKeyword3Color()).build(), TemplateJsonValue.builder().value(key.getKeyword4()).color(key.getKeyword4Color()).build(), TemplateJsonValue.builder().value(key.getKeyword5()).color(key.getKeyword5Color()).build()); } }