| | |
| | | package com.panzhihua.common.utlis; |
| | | |
| | | import cn.hutool.http.HttpUtil; |
| | | import java.math.BigDecimal; |
| | | 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; |
| | | 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 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{ |
| | | 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","点击参与社区一分钱抢购活动"); |
| | |
| | | |
| | | /** |
| | | * 订阅消息推送 |
| | | * @param accessToken 获取会话token |
| | | * |
| | | * @param accessToken |
| | | * 获取会话token |
| | | * @return 消息推送结果 |
| | | */ |
| | | static void sendSubscribe(String accessToken,WxSubscribeDTO subscribeDTO) throws Exception{ |
| | |
| | | if(errorCode==0){ |
| | | log.info("订阅消息推送成功,openId:" + subscribeDTO.getTouser()); |
| | | }else{ |
| | | log.error("订阅消息发送失败,错误码:"+errorCode+",错误信息:"+errorMessage + "用户openid:" + subscribeDTO.getTouser()); |
| | | 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); |
| | |
| | | |
| | | /** |
| | | * 活动报名成功订阅消息推送 |
| | | * @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); |
| | |
| | | |
| | | /** |
| | | * 新问卷调查订阅消息通知 |
| | | * @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){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | |
| | | |
| | | /** |
| | | * 认证审核订阅消息通知 |
| | | * @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); |
| | |
| | | |
| | | /** |
| | | * 随手拍、邻里圈、微心愿、房源审核状态进度通知 |
| | | * @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); |
| | |
| | | |
| | | /** |
| | | * 社区活动取消通知 |
| | | * @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){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | |
| | | |
| | | /** |
| | | * 留言回复订阅消息通知 |
| | | * @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){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | |
| | | |
| | | /** |
| | | * 活动变更订阅消息通知 |
| | | * @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); |
| | |
| | | |
| | | /** |
| | | * 活动即将开始订阅消息通知 |
| | | * @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); |