From eda58e0e6d4abdd2b060e28867d103045845aa69 Mon Sep 17 00:00:00 2001 From: 罗元桥 <2376770955@qq.com> Date: 星期一, 30 八月 2021 13:13:18 +0800 Subject: [PATCH] Merge branch 'test' into 'yuyue_dev' --- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxUtil.java | 413 +++++++++++++++++++++++++++++++++------------------------- 1 files changed, 235 insertions(+), 178 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxUtil.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxUtil.java index 0a33353..ed34ba8 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxUtil.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxUtil.java @@ -1,306 +1,363 @@ package com.panzhihua.common.utlis; -import cn.hutool.http.HttpUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.panzhihua.common.constants.WxSubscribeConstants; -import com.panzhihua.common.model.dtos.wx.TemplateParam; -import com.panzhihua.common.model.dtos.wx.WxSubscribeDTO; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.fileupload.FileItem; -import org.apache.commons.fileupload.FileItemFactory; -import org.apache.commons.fileupload.disk.DiskFileItemFactory; -import org.apache.http.entity.ContentType; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.commons.CommonsMultipartFile; - -import java.io.*; import java.math.BigDecimal; -import java.net.HttpURLConnection; -import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.panzhihua.common.constants.WxSubscribeConstants; +import com.panzhihua.common.model.dtos.wx.TemplateParam; +import com.panzhihua.common.model.dtos.wx.WxSubscribeDTO; + +import lombok.extern.slf4j.Slf4j; + @Slf4j public class WxUtil { - //客服消息推送地址 + // 客服消息推送地址 public final static String kf_url = "https://api.weixin.qq.com/cgi-bin/message/custom/send"; - public static String sendKfLinkMessage(String openid,String url,String thumbUrl,String access_token)throws Exception{ - Map<String,Object> map_content = new HashMap<>(); - map_content.put("title","社区福利一分购"); - map_content.put("description","点击参与社区一分钱抢购活动"); - map_content.put("url",url);//跳转地址 - map_content.put("thumb_url",thumbUrl);//图片地址 - Map<String,Object> map = new HashMap<>(); - map.put("touser",openid); - map.put("msgtype","link"); - map.put("link",map_content); + public static String sendKfLinkMessage(String openid, String url, String thumbUrl, String access_token) + throws Exception { + Map<String, Object> map_content = new HashMap<>(); + map_content.put("title", "社区福利一分购"); + map_content.put("description", "点击参与社区一分钱抢购活动"); + map_content.put("url", url);// 跳转地址 + map_content.put("thumb_url", thumbUrl);// 图片地址 + Map<String, Object> map = new HashMap<>(); + map.put("touser", openid); + map.put("msgtype", "link"); + map.put("link", map_content); String content = JSON.toJSONString(map); - return HttpClientUtil.httpPost(kf_url+"?access_token="+access_token,content); + return HttpClientUtil.httpPost(kf_url + "?access_token=" + access_token, content); } - public static String sendKfConetntMessage(String openid,String access_token)throws Exception{ - Map<String,Object> map_content = new HashMap<>(); - map_content.put("content","社区福利一分购"); - Map<String,Object> map = new HashMap<>(); - map.put("touser",openid); - map.put("msgtype","text"); - map.put("text",map_content); + public static String sendKfConetntMessage(String openid, String access_token) throws Exception { + Map<String, Object> map_content = new HashMap<>(); + map_content.put("content", "社区福利一分购"); + Map<String, Object> map = new HashMap<>(); + map.put("touser", openid); + map.put("msgtype", "text"); + map.put("text", map_content); String content = JSON.toJSONString(map); - return HttpClientUtil.httpPost(kf_url+"?access_token="+access_token,content); + return HttpClientUtil.httpPost(kf_url + "?access_token=" + access_token, content); } - public static String sendKfImagesMessage(String openid,String access_token,String mediaId)throws Exception{ - Map<String,Object> map_content = new HashMap<>(); - map_content.put("media_id",mediaId); - Map<String,Object> map = new HashMap<>(); - map.put("touser",openid); - map.put("msgtype","image"); - map.put("image",map_content); + public static String sendKfImagesMessage(String openid, String access_token, String mediaId) throws Exception { + Map<String, Object> map_content = new HashMap<>(); + map_content.put("media_id", mediaId); + Map<String, Object> map = new HashMap<>(); + map.put("touser", openid); + map.put("msgtype", "image"); + map.put("image", map_content); String content = JSON.toJSONString(map); - return HttpClientUtil.httpPost(kf_url+"?access_token="+access_token,content); + return HttpClientUtil.httpPost(kf_url + "?access_token=" + access_token, content); } /** * 订阅消息推送 - * @param accessToken 获取会话token - * @return 消息推送结果 + * + * @param accessToken + * 获取会话token + * @return 消息推送结果 */ - static void sendSubscribe(String accessToken,WxSubscribeDTO subscribeDTO) throws Exception{ - String resultString = HttpUtils.wxMessageModeSendUrl(accessToken,subscribeDTO); + static void sendSubscribe(String accessToken, WxSubscribeDTO subscribeDTO) throws Exception { + String resultString = HttpUtils.wxMessageModeSendUrl(accessToken, subscribeDTO); JSONObject jsonResult = JSON.parseObject(resultString); - if(jsonResult!=null){ + if (jsonResult != null) { log.info("订阅消息推送返回参数" + jsonResult.toJSONString()); int errorCode = jsonResult.getIntValue("errcode"); String errorMessage = jsonResult.getString("errmsg"); - if(errorCode==0){ + if (errorCode == 0) { log.info("订阅消息推送成功,openId:" + subscribeDTO.getTouser()); - }else{ - log.error("订阅消息发送失败,错误码:"+errorCode+",错误信息:"+errorMessage + "用户openid:" + subscribeDTO.getTouser()); + } else { + log.error( + "订阅消息发送失败,错误码:" + errorCode + ",错误信息:" + errorMessage + "用户openid:" + subscribeDTO.getTouser()); } } } /** * 随手拍奖励到账订阅消息推送 - * @param openId 用户openid - * @param accessToken token会话标识 - * @param name 随手拍活动标题 - * @param amount 奖励金额 - * @param remark 备注说明 + * + * @param openId + * 用户openid + * @param accessToken + * token会话标识 + * @param name + * 随手拍活动标题 + * @param amount + * 奖励金额 + * @param remark + * 备注说明 */ - public static void sendSubscribeJLDZ(String openId, String accessToken, String name, BigDecimal amount,String remark){ + public static void sendSubscribeJLDZ(String openId, String accessToken, String name, BigDecimal amount, + String remark) { WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); subscribeDTO.setTouser(openId); subscribeDTO.setTemplate_id(WxSubscribeConstants.JLFF_ID); - List<TemplateParam> paras=new ArrayList<TemplateParam>(); - paras.add(new TemplateParam("thing1",name));//活动名称 - paras.add(new TemplateParam("amount3",amount.toString()));//奖励金额 - paras.add(new TemplateParam("thing7",remark));//备注说明 + List<TemplateParam> paras = new ArrayList<TemplateParam>(); + paras.add(new TemplateParam("thing1", name));// 活动名称 + paras.add(new TemplateParam("amount3", amount.toString()));// 奖励金额 + paras.add(new TemplateParam("thing7", remark));// 备注说明 subscribeDTO.setTemplateParamList(paras); try { - sendSubscribe(accessToken,subscribeDTO); - }catch (Exception e){ + sendSubscribe(accessToken, subscribeDTO); + } catch (Exception e) { log.error("随手拍奖励到账订阅消息推送失败,失败原因:" + e.getMessage()); } } /** * 活动报名成功订阅消息推送 - * @param openId 用户openid - * @param accessToken token会话标识 - * @param name 活动名称 - * @param address 活动地址 - * @param activityTime 活动时间 - * @param signTime 报名时间 + * + * @param openId + * 用户openid + * @param accessToken + * token会话标识 + * @param name + * 活动名称 + * @param address + * 活动地址 + * @param activityTime + * 活动时间 + * @param signTime + * 报名时间 */ - public static void sendSubscribeSQHD(String openId, String accessToken, String name, String address,String activityTime,String signTime){ + public static void sendSubscribeSQHD(String openId, String accessToken, String name, String address, + String activityTime, String signTime) { WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); subscribeDTO.setTouser(openId); subscribeDTO.setTemplate_id(WxSubscribeConstants.BMCG_ID); - List<TemplateParam> paras=new ArrayList<TemplateParam>(); - paras.add(new TemplateParam("thing1",name));//活动名称 - paras.add(new TemplateParam("thing2",address));//活动地址 - paras.add(new TemplateParam("date3",activityTime));//活动时间 - paras.add(new TemplateParam("time8",signTime));//报名时间 + List<TemplateParam> paras = new ArrayList<TemplateParam>(); + paras.add(new TemplateParam("thing1", name));// 活动名称 + paras.add(new TemplateParam("thing2", address));// 活动地址 + paras.add(new TemplateParam("date3", activityTime));// 活动时间 + paras.add(new TemplateParam("time8", signTime));// 报名时间 subscribeDTO.setTemplateParamList(paras); try { - sendSubscribe(accessToken,subscribeDTO); - }catch (Exception e){ + sendSubscribe(accessToken, subscribeDTO); + } catch (Exception e) { log.error("活动报名成功订阅消息推送失败,失败原因:" + e.getMessage()); } } /** * 新问卷调查订阅消息通知 - * @param openId 用户openid - * @param accessToken token会话标识 - * @param name 活动名称 - * @param questionnaireName 问卷名称 + * + * @param openId + * 用户openid + * @param accessToken + * token会话标识 + * @param name + * 活动名称 + * @param questionnaireName + * 问卷名称 */ - public static void sendSubscribeDYWJ(String openId, String accessToken, String name, String questionnaireName){ + public static void sendSubscribeDYWJ(String openId, String accessToken, String name, String questionnaireName) { WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); subscribeDTO.setTouser(openId); subscribeDTO.setTemplate_id(WxSubscribeConstants.DYWJ_ID); - List<TemplateParam> paras=new ArrayList<TemplateParam>(); - paras.add(new TemplateParam("thing1",name));//活动名称 - paras.add(new TemplateParam("thing2",questionnaireName));//问卷名称 + List<TemplateParam> paras = new ArrayList<TemplateParam>(); + paras.add(new TemplateParam("thing1", name));// 活动名称 + paras.add(new TemplateParam("thing2", questionnaireName));// 问卷名称 subscribeDTO.setTemplateParamList(paras); try { - sendSubscribe(accessToken,subscribeDTO); - }catch (Exception e){ + sendSubscribe(accessToken, subscribeDTO); + } catch (Exception e) { log.error("新问卷调查订阅消息推送失败,失败原因:" + e.getMessage()); } } /** * 认证审核订阅消息通知 - * @param openId 用户openid - * @param accessToken token会话标识 - * @param name 认证内容 - * @param applyTime 申请时间 - * @param result 审核结果 + * + * @param openId + * 用户openid + * @param accessToken + * token会话标识 + * @param name + * 认证内容 + * @param applyTime + * 申请时间 + * @param result + * 审核结果 */ - public static void sendSubscribeRZSH(String openId, String accessToken, String name, String applyTime,String result){ + public static void sendSubscribeRZSH(String openId, String accessToken, String name, String applyTime, + String result) { WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); subscribeDTO.setTouser(openId); subscribeDTO.setTemplate_id(WxSubscribeConstants.EZSH_ID); - List<TemplateParam> paras=new ArrayList<TemplateParam>(); - paras.add(new TemplateParam("thing2",name));//认证内容 - paras.add(new TemplateParam("phrase1",result));//审核结果 - paras.add(new TemplateParam("date3",applyTime));//申请时间 + List<TemplateParam> paras = new ArrayList<TemplateParam>(); + paras.add(new TemplateParam("thing2", name));// 认证内容 + paras.add(new TemplateParam("phrase1", result));// 审核结果 + paras.add(new TemplateParam("date3", applyTime));// 申请时间 subscribeDTO.setTemplateParamList(paras); try { - sendSubscribe(accessToken,subscribeDTO); - }catch (Exception e){ + sendSubscribe(accessToken, subscribeDTO); + } catch (Exception e) { log.error("认证审核订阅消息推送失败,失败原因:" + e.getMessage()); } } /** - * 随手拍、邻里圈、微心愿、房源审核状态进度通知 - * @param openId 用户openid - * @param accessToken token会话标识 - * @param name 审核项目 - * @param applyTime 审核状态 - * @param result 审核时间 + * 随手拍、邻里圈、微心愿、房源审核状态进度通知 + * + * @param openId + * 用户openid + * @param accessToken + * token会话标识 + * @param name + * 审核项目 + * @param applyTime + * 审核状态 + * @param result + * 审核时间 */ - public static void sendSubscribeSHZT(String openId, String accessToken, String name, String applyTime,String result){ + public static void sendSubscribeSHZT(String openId, String accessToken, String name, String applyTime, + String result) { WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); subscribeDTO.setTouser(openId); subscribeDTO.setTemplate_id(WxSubscribeConstants.SHZT_ID); - List<TemplateParam> paras=new ArrayList<TemplateParam>(); - paras.add(new TemplateParam("thing1",name));//审核项目 - paras.add(new TemplateParam("phrase2",result));//审核状态 - paras.add(new TemplateParam("time3",applyTime));//审核时间 + List<TemplateParam> paras = new ArrayList<TemplateParam>(); + paras.add(new TemplateParam("thing1", name));// 审核项目 + paras.add(new TemplateParam("phrase2", result));// 审核状态 + paras.add(new TemplateParam("time3", applyTime));// 审核时间 subscribeDTO.setTemplateParamList(paras); try { - sendSubscribe(accessToken,subscribeDTO); - }catch (Exception e){ + sendSubscribe(accessToken, subscribeDTO); + } catch (Exception e) { log.error("审核状态订阅消息推送失败,失败原因:" + e.getMessage()); } } /** * 社区活动取消通知 - * @param openId 用户openid - * @param accessToken token会话标识 - * @param name 活动名称 - * @param time 活动时间 + * + * @param openId + * 用户openid + * @param accessToken + * token会话标识 + * @param name + * 活动名称 + * @param time + * 活动时间 */ - public static void sendSubscribeHDQX(String openId, String accessToken, String name, String time){ + public static void sendSubscribeHDQX(String openId, String accessToken, String name, String time) { WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); subscribeDTO.setTouser(openId); subscribeDTO.setTemplate_id(WxSubscribeConstants.HDQX_ID); - List<TemplateParam> paras=new ArrayList<TemplateParam>(); - paras.add(new TemplateParam("thing1",name));//活动标题 - paras.add(new TemplateParam("date2",time));//活动时间 + List<TemplateParam> paras = new ArrayList<TemplateParam>(); + paras.add(new TemplateParam("thing1", name));// 活动标题 + paras.add(new TemplateParam("date2", time));// 活动时间 subscribeDTO.setTemplateParamList(paras); try { - sendSubscribe(accessToken,subscribeDTO); - }catch (Exception e){ + sendSubscribe(accessToken, subscribeDTO); + } catch (Exception e) { log.error("活动取消订阅消息推送失败,失败原因:" + e.getMessage()); } } /** * 留言回复订阅消息通知 - * @param openId 用户openid - * @param accessToken token会话标识 - * @param name 回复人名称 - * @param time 回复时间 - * @param content 回复内容 + * + * @param openId + * 用户openid + * @param accessToken + * token会话标识 + * @param name + * 回复人名称 + * @param time + * 回复时间 + * @param content + * 回复内容 */ - public static void sendSubscribeLYHF(String openId, String accessToken, String name, String time,String content){ + public static void sendSubscribeLYHF(String openId, String accessToken, String name, String time, String content) { WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); subscribeDTO.setTouser(openId); subscribeDTO.setTemplate_id(WxSubscribeConstants.LYHF_ID); - List<TemplateParam> paras=new ArrayList<TemplateParam>(); - paras.add(new TemplateParam("thing3",content));//回复内容 - paras.add(new TemplateParam("name1",name));//回复者 - paras.add(new TemplateParam("date2",time));//回复时间 + List<TemplateParam> paras = new ArrayList<TemplateParam>(); + paras.add(new TemplateParam("thing3", content));// 回复内容 + paras.add(new TemplateParam("name1", name));// 回复者 + paras.add(new TemplateParam("date2", time));// 回复时间 subscribeDTO.setTemplateParamList(paras); try { - sendSubscribe(accessToken,subscribeDTO); - }catch (Exception e){ + sendSubscribe(accessToken, subscribeDTO); + } catch (Exception e) { log.error("留言回复订阅消息推送失败,失败原因:" + e.getMessage()); } } /** - * 活动变更订阅消息通知 - * @param openId 用户openid - * @param accessToken token会话标识 - * @param name 活动名称 - * @param changeTime 活动时间变更 - * @param changeAddress 活动地点变更 - * @param time 活动时间 - * @param address 活动地点 + * 活动变更订阅消息通知 + * + * @param openId + * 用户openid + * @param accessToken + * token会话标识 + * @param name + * 活动名称 + * @param changeTime + * 活动时间变更 + * @param changeAddress + * 活动地点变更 + * @param time + * 活动时间 + * @param address + * 活动地点 */ - public static void sendSubscribeHDBG(String openId, String accessToken, String name, String changeTime,String changeAddress,String time,String address){ + public static void sendSubscribeHDBG(String openId, String accessToken, String name, String changeTime, + String changeAddress, String time, String address) { WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); subscribeDTO.setTouser(openId); subscribeDTO.setTemplate_id(WxSubscribeConstants.HDBG_ID); - List<TemplateParam> paras=new ArrayList<TemplateParam>(); - paras.add(new TemplateParam("thing1",name));//活动名称 - paras.add(new TemplateParam("time2",changeTime));//活动时间变更 - paras.add(new TemplateParam("thing3",changeAddress));//地址变更 - paras.add(new TemplateParam("time5",time));//活动时间 - paras.add(new TemplateParam("thing6",address));//活动地点 + List<TemplateParam> paras = new ArrayList<TemplateParam>(); + paras.add(new TemplateParam("thing1", name));// 活动名称 + paras.add(new TemplateParam("time2", changeTime));// 活动时间变更 + paras.add(new TemplateParam("thing3", changeAddress));// 地址变更 + paras.add(new TemplateParam("time5", time));// 活动时间 + paras.add(new TemplateParam("thing6", address));// 活动地点 subscribeDTO.setTemplateParamList(paras); try { - sendSubscribe(accessToken,subscribeDTO); - }catch (Exception e){ + sendSubscribe(accessToken, subscribeDTO); + } catch (Exception e) { log.error("留言回复订阅消息推送失败,失败原因:" + e.getMessage()); } } /** - * 活动即将开始订阅消息通知 - * @param openId 用户openid - * @param accessToken token会话标识 - * @param name 活动名称 - * @param time 活动时间 - * @param address 活动地点 - * @param num 活动参加人数 + * 活动即将开始订阅消息通知 + * + * @param openId + * 用户openid + * @param accessToken + * token会话标识 + * @param name + * 活动名称 + * @param time + * 活动时间 + * @param address + * 活动地点 + * @param num + * 活动参加人数 */ - public static void sendSubscribeHDJJKS(String openId, String accessToken, String name, String time,String address,String num){ + public static void sendSubscribeHDJJKS(String openId, String accessToken, String name, String time, String address, + String num) { WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); subscribeDTO.setTouser(openId); subscribeDTO.setTemplate_id(WxSubscribeConstants.HDJJKS_ID); - List<TemplateParam> paras=new ArrayList<TemplateParam>(); - paras.add(new TemplateParam("thing1",name));//活动名称 - paras.add(new TemplateParam("date2",time));//活动时间 - paras.add(new TemplateParam("number3",num));//参与人数 - paras.add(new TemplateParam("thing4",address));//活动地点 + List<TemplateParam> paras = new ArrayList<TemplateParam>(); + paras.add(new TemplateParam("thing1", name));// 活动名称 + paras.add(new TemplateParam("date2", time));// 活动时间 + paras.add(new TemplateParam("number3", num));// 参与人数 + paras.add(new TemplateParam("thing4", address));// 活动地点 subscribeDTO.setTemplateParamList(paras); try { - sendSubscribe(accessToken,subscribeDTO); - }catch (Exception e){ + sendSubscribe(accessToken, subscribeDTO); + } catch (Exception e) { log.error("活动即将开始订阅消息推送失败,失败原因:" + e.getMessage()); } } @@ -309,17 +366,17 @@ WxXCXTempSend util = new WxXCXTempSend(); try { -// String openId = "oMIR-5S9rpsWAVUUrNKoVDQbn5Mw";//zj的openid - String openId = "oMIR-5dWyNyWCCKMl7-kYzvyHOjs";//lyq的openid + // String openId = "oMIR-5S9rpsWAVUUrNKoVDQbn5Mw";//zj的openid + String openId = "oMIR-5dWyNyWCCKMl7-kYzvyHOjs";// lyq的openid String accessToken = util.getAppAccessToken(); -// sendSubscribeHDJJKS(openId,accessToken,"测试活动即将开始标题","2021-08-04 13:00:00","成都市","50");//活动即将开始 -// sendSubscribeHDQX(openId,accessToken,"取消活动测试标题","2021-08-04 13:00:00");//活动取消 -// sendSubscribeHDBG(openId,accessToken,"活动名称","2021-08-05","活动变更地址","2021-08-06","活动地址");//活动变更 -// sendSubscribeRZSH(openId,accessToken,"用户认证审核通知","2021-08-04","通过");//认证审核 -// sendSubscribeJLDZ(openId,accessToken,"随手拍活动DDD",BigDecimal.TEN,"用户参加随手拍活动奖励");//奖励到账 -// sendSubscribeLYHF(openId,accessToken,"社区管理员","2021-08-04 11:26:20","勇敢牛牛 不怕困难!");//留言回复 -// sendSubscribeSHZT(openId,accessToken,"随手拍审核!!","2021-08-04 11:20:00","通过了");//审核状态 - }catch (Exception e){ + // sendSubscribeHDJJKS(openId,accessToken,"测试活动即将开始标题","2021-08-04 13:00:00","成都市","50");//活动即将开始 + // sendSubscribeHDQX(openId,accessToken,"取消活动测试标题","2021-08-04 13:00:00");//活动取消 + // sendSubscribeHDBG(openId,accessToken,"活动名称","2021-08-05","活动变更地址","2021-08-06","活动地址");//活动变更 + // sendSubscribeRZSH(openId,accessToken,"用户认证审核通知","2021-08-04","通过");//认证审核 + // sendSubscribeJLDZ(openId,accessToken,"随手拍活动DDD",BigDecimal.TEN,"用户参加随手拍活动奖励");//奖励到账 + // sendSubscribeLYHF(openId,accessToken,"社区管理员","2021-08-04 11:26:20","勇敢牛牛 不怕困难!");//留言回复 + // sendSubscribeSHZT(openId,accessToken,"随手拍审核!!","2021-08-04 11:20:00","通过了");//审核状态 + } catch (Exception e) { System.out.println("错误错误!!!"); } } -- Gitblit v1.7.1