diff --git a/docs/kaifa/用章申请流程流转主要逻.png b/docs/kaifa/用章申请流程流转主要逻.png new file mode 100644 index 00000000..6a20c9c5 Binary files /dev/null and b/docs/kaifa/用章申请流程流转主要逻.png differ diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java index 10089f43..4a2687cc 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java @@ -109,7 +109,7 @@ public class SuperviseWxMessSender { data.put("thing2", name); data.put("time5", reportTime); for(String touser:tousers){ - respMessReturn = WxMessage.sendMessages("A1u0HdEegfdJl3_MndronKahtvwkAa5IFDSy2NRHu8U", touser, pagepath, data); + respMessReturn = WxMessage.sendMessage("A1u0HdEegfdJl3_MndronKahtvwkAa5IFDSy2NRHu8U", touser, pagepath, data); } return respMessReturn; } diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/WxMessage.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/WxMessage.java index c6a3d22d..b8360790 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/WxMessage.java +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/WxMessage.java @@ -18,57 +18,55 @@ public class WxMessage { public static RespMessReturn sendMessage(String template_id, String touser, String pagepath, Map 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) {