|
@@ -2,6 +2,8 @@ package vip.xiaonuo.coldchain.modular.push.utils;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
+import cn.hutool.http.HttpUtil;
|
|
|
|
+import cn.hutool.json.JSONObject;
|
|
import me.chanjar.weixin.mp.api.WxMpService;
|
|
import me.chanjar.weixin.mp.api.WxMpService;
|
|
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
|
|
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
|
|
import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
|
|
import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
|
|
@@ -9,15 +11,27 @@ import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
|
|
import me.chanjar.weixin.mp.config.WxMpConfigStorage;
|
|
import me.chanjar.weixin.mp.config.WxMpConfigStorage;
|
|
import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
|
|
import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
|
|
import vip.xiaonuo.coldchain.modular.push.config.PushConfigure;
|
|
import vip.xiaonuo.coldchain.modular.push.config.PushConfigure;
|
|
|
|
+import vip.xiaonuo.coldchain.modular.push.entity.WeChatUser;
|
|
import vip.xiaonuo.coldchain.modular.push.param.PushParam;
|
|
import vip.xiaonuo.coldchain.modular.push.param.PushParam;
|
|
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
|
+import java.util.Map;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 推送类
|
|
* 推送类
|
|
*/
|
|
*/
|
|
public class PushUtil {
|
|
public class PushUtil {
|
|
|
|
+ private final static String TOKEN = "abcd1234";
|
|
|
|
+ private final static String ENCODING = "UTF-8";
|
|
|
|
+ private final static String ACCESS_TOKEN = "access_token";
|
|
|
|
+ private final static String REFRESH_TOKEN = "refresh_token";
|
|
|
|
+ private final static String OPEN_ID = "openid";
|
|
|
|
+ private final static String NICK_NAME = "nickname";
|
|
|
|
+ private final static String SEX = "sex";
|
|
|
|
+ private final static String HEAD_IMG_URL = "headimgurl";
|
|
|
|
+
|
|
private static WxMpConfigStorage wxMpConfigStorage() {
|
|
private static WxMpConfigStorage wxMpConfigStorage() {
|
|
WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl();
|
|
WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl();
|
|
config.setAppId(PushConfigure.getAppId());
|
|
config.setAppId(PushConfigure.getAppId());
|
|
@@ -81,4 +95,24 @@ public class PushUtil {
|
|
}
|
|
}
|
|
return pushCode;
|
|
return pushCode;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public static WeChatUser getUserInfo(String code) {
|
|
|
|
+ Map<?, ?> result = WeChatUtil.getAccessToken(code);
|
|
|
|
+ String accessToken = result.get(ACCESS_TOKEN).toString();
|
|
|
|
+ String openid = result.get(OPEN_ID).toString();
|
|
|
|
+ String userInfoJsom = WeChatUtil.getUserInfo(accessToken, openid);
|
|
|
|
+ // 解析JSON数据
|
|
|
|
+ JSONObject jsonObject = new JSONObject(userInfoJsom);
|
|
|
|
+
|
|
|
|
+ // 设置相关实体属性
|
|
|
|
+ WeChatUser weChatUser = new WeChatUser();
|
|
|
|
+ weChatUser.setAccessToken(accessToken);
|
|
|
|
+ weChatUser.setCreateDate(LocalDateTime.now());
|
|
|
|
+ weChatUser.setUpdateDate(LocalDateTime.now());
|
|
|
|
+ weChatUser.setOpenid(openid);
|
|
|
|
+ weChatUser.setNickname(jsonObject.getStr(NICK_NAME));
|
|
|
|
+ weChatUser.setSex(jsonObject.getStr(SEX));
|
|
|
|
+ weChatUser.setAvatar(jsonObject.getStr(HEAD_IMG_URL));
|
|
|
|
+ return weChatUser;
|
|
|
|
+ }
|
|
}
|
|
}
|