WechatTemplateUtil.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package com.hssx.cloudmodel.util;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.hssx.cloudmodel.constant.Constant;
  5. import com.hssx.cloudmodel.entity.vo.MouldEquipmentVO;
  6. import org.apache.commons.lang3.StringEscapeUtils;
  7. import java.text.SimpleDateFormat;
  8. import java.util.Date;
  9. import java.util.HashMap;
  10. import java.util.Map;
  11. /**
  12. * Author: 吴涛涛 cuiyi@itany.com
  13. * Date : 2019 - 08 - 29 14:46
  14. * Description:<描述>
  15. * Version: 1.0
  16. */
  17. public class WechatTemplateUtil {
  18. /**
  19. * 云模盒告警模板
  20. * touserOpenId 被推送者的openId
  21. * firstData 推送标题
  22. * equipmentName 设备名称,emergencyType 告警类型,emergencyContent 内容,newAccessToken token
  23. */
  24. public static void sendEmergencyTemplateMessage(String touserOpenId,String equipmentName,String emergencyType,String emergencyContent,String newAccessToken) throws Exception {
  25. HttpRespMsg msg = new HttpRespMsg();
  26. String url1 = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="
  27. + newAccessToken;
  28. WechatTemplateMessage wechat = new WechatTemplateMessage();
  29. wechat.setTemplate_id(Constant.WARNING_NOTICE_TEMPLATE_ID);
  30. wechat.setTouser(touserOpenId);
  31. wechat.setAppid(Constant.WECHAT_APPID);
  32. Map<String, Map<String, String>> data = new HashMap<>();
  33. Map<String, String> first = new HashMap<>();
  34. Map<String, String> value1 = new HashMap<>();
  35. Map<String, String> value2 = new HashMap<>();
  36. Map<String, String> value3 = new HashMap<>();
  37. Map<String, String> value4 = new HashMap<>();
  38. Map<String, String> remark = new HashMap<>();
  39. // 推送信息主体
  40. first.put("value", "告警通知");//firstData推送标题
  41. data.put("first", first);
  42. value1.put("value", equipmentName);
  43. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  44. data.put("keyword1", value1);
  45. value2.put("value", emergencyType);
  46. data.put("keyword2", value2);
  47. value3.put("value", sdf.format(new Date()));
  48. data.put("keyword3", value3);
  49. value4.put("value", emergencyContent);
  50. data.put("keyword4", value4);
  51. remark.put("value", "请尽快检查该设备");
  52. data.put("remark", remark);
  53. wechat.setData(data);
  54. String jsonString = JSONObject.toJSONString(wechat);
  55. // System.out.println("jsonString"+jsonString);
  56. String resp = HttpKit.post(url1, jsonString);
  57. // System.out.println("resp0"+resp);
  58. resp = StringEscapeUtils.unescapeJava(resp);
  59. // System.out.println("resp"+resp);
  60. JSONObject json = (JSONObject) JSON.parse(resp);
  61. }
  62. /**
  63. * 模具保养
  64. * templateId 模板id,touserOpenId 被推送者的openId,appId微信公众号的appId
  65. * firstData 推送标题
  66. * mouldName 模具名称,maintain 方式(保养),maintainCause 保养原因,newAccessToken token
  67. */
  68. public static void sendMaintainTemplateMessage( String touserOpenId,String mouldName,String maintain,String maintainCause,String newAccessToken) throws Exception {
  69. // 获取值赋值给全局变量
  70. String url1 = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="
  71. + newAccessToken;
  72. WechatTemplateMessage wechat = new WechatTemplateMessage();
  73. wechat.setTemplate_id(Constant.MAINTAIN_NOTICE_TEMPLATE_ID);
  74. wechat.setTouser(touserOpenId);
  75. wechat.setAppid(Constant.WECHAT_APPID );
  76. Map<String, Map<String, String>> data = new HashMap<>();
  77. Map<String, String> first = new HashMap<>();
  78. Map<String, String> value1 = new HashMap<>();
  79. Map<String, String> value2 = new HashMap<>();
  80. Map<String, String> value3 = new HashMap<>();
  81. Map<String, String> value4 = new HashMap<>();
  82. Map<String, String> remark = new HashMap<>();
  83. // 推送信息主体
  84. first.put("value", "你好,你有新的保养通知");//firstData推送标题
  85. data.put("first", first);
  86. value1.put("value", mouldName);
  87. SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
  88. data.put("keyword1", value1);
  89. value2.put("value","暂无");
  90. data.put("keyword2", value2);
  91. value3.put("value", sdf.format(new Date()));
  92. data.put("keyword3", value3);
  93. value4.put("value", maintain);
  94. data.put("keyword4", value4);
  95. remark.put("value", maintainCause);
  96. data.put("remark", remark);
  97. wechat.setData(data);
  98. String jsonString = JSONObject.toJSONString(wechat);
  99. // System.out.println("jsonString"+jsonString);
  100. String resp = HttpKit.post(url1, jsonString);
  101. // System.out.println("resp0"+resp);
  102. resp = StringEscapeUtils.unescapeJava(resp);
  103. // System.out.println("resp"+resp);
  104. JSONObject json = (JSONObject) JSON.parse(resp);
  105. }
  106. }