From 8c6961de071537cc97f1e5a664df743406bad25f Mon Sep 17 00:00:00 2001 From: liupopo Date: Wed, 13 Sep 2023 11:25:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=A8=A1=E6=9D=BF=E6=B6=88?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../用章申请流程流转主要逻.png | Bin 0 -> 66099 bytes .../report/wx/SuperviseWxMessSender.java | 2 +- .../yxt/supervise/report/wx/WxMessage.java | 94 ++++++++++-------- 3 files changed, 53 insertions(+), 43 deletions(-) create mode 100644 docs/kaifa/用章申请流程流转主要逻.png diff --git a/docs/kaifa/用章申请流程流转主要逻.png b/docs/kaifa/用章申请流程流转主要逻.png new file mode 100644 index 0000000000000000000000000000000000000000..6a20c9c5edb9bcd9486b8045ac1649c4505b81a1 GIT binary patch literal 66099 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

M{rE*@ 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 q2Q_GP^PjV^*uh)a;sIpFE|=){{_@N2<>-H}_F1 data) { String wxUrl = MP_URL_MESSAGE_SEND.replace("ACCESS_TOKEN", WxConfig.mpAccessToken()); + Map mp_template_msg = buildMsg(template_id, pagepath, data); + Map sendBody = new HashMap<>(); + sendBody.put("mp_template_msg", mp_template_msg); sendBody.put("touser", touser); + ResponseEntity forEntity = new RestTemplate().postForEntity(wxUrl, sendBody, RespMessReturn.class); + return forEntity.getBody(); + } + + private static Map buildMsg(String template_id, Map data) { //拼接base参数 Map mp_template_msg = new HashMap<>(); mp_template_msg.put("appid", WxConfig.WX_APPID); mp_template_msg.put("template_id", template_id);// 模板Id - mp_template_msg.put("url", ""); // 点击模板信息跳转地址 - - Map miniprogram = new HashMap<>(); - miniprogram.put("appid", WxConfig.MP_APPID); - miniprogram.put("pagepath", pagepath); - mp_template_msg.put("miniprogram", miniprogram); +// mp_template_msg.put("url", ""); // 点击模板信息跳转地址 Map sendData = new HashMap<>(); data.forEach((key, val) -> { sendData.put(key, new TemplateDataValue(val)); }); mp_template_msg.put("data", sendData); - - sendBody.put("mp_template_msg", mp_template_msg); - ResponseEntity forEntity = new RestTemplate().postForEntity(wxUrl, sendBody, RespMessReturn.class); - return forEntity.getBody(); + return mp_template_msg; } - public static RespMessReturn sendMessages(String template_id, String touser, String pagepath, Map data) { - String wxUrl = MP_URL_MESSAGE_SEND.replace("ACCESS_TOKEN", WxConfig.mpAccessToken()); - - Map sendBody = new HashMap<>(); - sendBody.put("touser", touser); + private static Map buildMsg(String template_id, String pagepath, Map data) { //拼接base参数 - Map mp_template_msg = new HashMap<>(); - mp_template_msg.put("appid", WxConfig.WX_APPID); - mp_template_msg.put("template_id", template_id);// 模板Id - mp_template_msg.put("url", ""); // 点击模板信息跳转地址 + Map mp_template_msg = buildMsg(template_id, data); -// Map miniprogram = new HashMap<>(); -// miniprogram.put("appid", WxConfig.MP_APPID); -// miniprogram.put("pagepath", pagepath); -// mp_template_msg.put("miniprogram", miniprogram); + Map miniprogram = new HashMap<>(); + miniprogram.put("appid", WxConfig.MP_APPID); + miniprogram.put("pagepath", pagepath); + mp_template_msg.put("miniprogram", miniprogram); - Map sendData = new HashMap<>(); - data.forEach((key, val) -> { - sendData.put(key, new TemplateDataValue(val)); - }); - mp_template_msg.put("data", sendData); + return mp_template_msg; + } + public static RespMessReturn sendMessage(String template_id, String touser, Map data) { + String wxUrl = MP_URL_MESSAGE_SEND.replace("ACCESS_TOKEN", WxConfig.mpAccessToken()); + + Map mp_template_msg = buildMsg(template_id, data); + Map sendBody = new HashMap<>(); sendBody.put("mp_template_msg", mp_template_msg); + sendBody.put("touser", touser); + ResponseEntity forEntity = new RestTemplate().postForEntity(wxUrl, sendBody, RespMessReturn.class); return forEntity.getBody(); } + /** * 向多个用户推送同一模板消息 * @@ -80,22 +78,34 @@ public class WxMessage { */ public static Map sendMessages(String template_id, List tousers, String pagepath, Map data) { String wxUrl = MP_URL_MESSAGE_SEND.replace("ACCESS_TOKEN", WxConfig.mpAccessToken()); - //拼接base参数 - Map mp_template_msg = new HashMap<>(); - mp_template_msg.put("appid", WxConfig.WX_APPID); - mp_template_msg.put("template_id", template_id);// 模板Id - mp_template_msg.put("url", ""); // 点击模板信息跳转地址 - Map miniprogram = new HashMap<>(); - miniprogram.put("appid", WxConfig.MP_APPID); - miniprogram.put("pagepath", pagepath); - mp_template_msg.put("miniprogram", miniprogram); + Map mp_template_msg = buildMsg(template_id, pagepath, data); - Map sendData = new HashMap<>(); - data.forEach((key, val) -> { - sendData.put(key, new TemplateDataValue(val)); - }); - mp_template_msg.put("data", sendData); + Map ret = new HashMap<>(); + for (String touser : tousers) { + Map sendBody = new HashMap<>(); + sendBody.put("touser", touser); + sendBody.put("mp_template_msg", mp_template_msg); + ResponseEntity forEntity = new RestTemplate().postForEntity(wxUrl, sendBody, RespMessReturn.class); + RespMessReturn body = forEntity.getBody(); + ret.put(touser, body); + } + + return ret; + } + + /** + * 向多个用户推送同一模板消息,不跳转到小程序 + * + * @param template_id + * @param tousers + * @param data + * @return + */ + public static Map sendMessages(String template_id, List tousers, Map data) { + String wxUrl = MP_URL_MESSAGE_SEND.replace("ACCESS_TOKEN", WxConfig.mpAccessToken()); + + Map mp_template_msg = buildMsg(template_id, data); Map ret = new HashMap<>(); for (String touser : tousers) {