Browse Source

修改微信支付和消息工具类

master
zhangye 3 years ago
parent
commit
628bf8f676
  1. 8
      util/src/main/java/com/ccsens/util/wx/WxGzhUtil.java
  2. 4
      wechatutil/src/main/java/com/ccsens/wechatutil/util/WxConstant.java
  3. 37
      wechatutil/src/main/java/com/ccsens/wechatutil/wxofficial/OfficialAccountMessageUtil.java

8
util/src/main/java/com/ccsens/util/wx/WxGzhUtil.java

@ -78,11 +78,9 @@ public class WxGzhUtil {
= "https://api.weixin.qq.com/sns/userinfo?access_token=%1$s&openid=%2$s";
public static final String MESSAGE_TEMPLATE_SEND = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=%1$s";
// private static final String APPID = "wx7af1bf1e14facf82";
// private static final String SECRET = "a6613fae11b497639c0224b820aaf6d9";
// TODO ;临时更换默认appId
private static final String APPID = "wxcb60fcfeaddeb3e3";
private static final String SECRET = "e6d27d1b2a0a89b16ec61fdb5e628034";
private static final String APPID = "wx7af1bf1e14facf82";
private static final String SECRET = "a6613fae11b497639c0224b820aaf6d9";
private static final String APPID_H5_TEST = "wxd1842e073e0e6d91";

4
wechatutil/src/main/java/com/ccsens/wechatutil/util/WxConstant.java

@ -20,8 +20,10 @@ public class WxConstant {
/*** 公众号获取accessToken */
public static final String URL_GET_OAUTH2_ACCESS_TOKEN = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=%1$s&secret=%2$s&code=%3$s&grant_type=authorization_code";
/*** 公众号发送订阅消息 */
/*** 公众号通过模板发送订阅消息 */
public static final String MESSAGE_TEMPLATE_SEND = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=%1$s";
/*** 公众号发送订阅消息 */
public static final String OFFICIAL_MESSAGE_SEND = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=%1$s";
/** 创建二维码 */
public static final String QR_CODE_CREATE = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={}";
/**根据openId获取用户信息*/

37
wechatutil/src/main/java/com/ccsens/wechatutil/wxofficial/OfficialAccountMessageUtil.java

@ -2,10 +2,12 @@ package com.ccsens.wechatutil.wxofficial;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.ccsens.util.*;
import com.ccsens.util.exception.BaseException;
import com.ccsens.wechatutil.bean.dto.WxTemplateMessage;
import com.ccsens.wechatutil.bean.po.WxBaseEntity;
import com.ccsens.wechatutil.bean.vo.wxmini.Custom;
import com.ccsens.wechatutil.util.WxCodeError;
import com.ccsens.wechatutil.util.WxConstant;
import com.ccsens.wechatutil.wxcommon.WxCommonUtil;
@ -120,4 +122,39 @@ public class OfficialAccountMessageUtil {
throw new BaseException(wxBaseEntity.getErrcode(), wxBaseEntity.getErrmsg());
}
}
public static WxBaseEntity send(String openId, Custom.Type type, Object data, String appId, String secret){
log.info("发送客服消息:{},{},{}", openId, type, data);
if (StrUtil.isEmpty(openId) || type == null || data == null) {
throw new BaseException(CodeError.PARAM_ERROR);
}
String url = String.format(WxConstant.OFFICIAL_MESSAGE_SEND, WxCommonUtil.getAccessToken(appId, secret));
Custom.Message message = new Custom.Message();
message.setTouser(openId);
message.setMsgtype(type.getType());
switch (type) {
case IMAGE:
message.setImage((Custom.Image) data);
break;
case TEXT:
message.setText((Custom.Text) data);
break;
case LINK:
message.setLink((Custom.Link) data);
break;
case MINI_PROGRAM_PAGE:
message.setMiniprogrampage((Custom.MiniProgramPage) data);
break;
default:
throw new BaseException(CodeError.PARAM_ERROR);
}
log.info("发送客服消息路径:{}, 请求:{}", url, message);
String result = RestTemplateUtil.postBody(url, message);
log.info("发送客服消息结果:{}", result);
WxBaseEntity wxBaseEntity = JSONObject.parseObject(result, WxBaseEntity.class);
return wxBaseEntity;
}
}

Loading…
Cancel
Save