|
@@ -18,8 +18,11 @@
|
|
|
*/
|
|
|
package com.wxmp.wxapi.process;
|
|
|
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
+import com.wxmp.wxcms.domain.Account;
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.log4j.LogManager;
|
|
|
import org.apache.log4j.Logger;
|
|
@@ -31,25 +34,24 @@ import com.wxmp.core.util.CacheUtils;
|
|
|
* 目前使用 服务器内存的方式;
|
|
|
*
|
|
|
* 1、开发者可以根据自己的需求使用不同的缓存方式,比如memcached
|
|
|
- * 2、系统默认使用单个公众账号的缓存处理,如果有多个账号,请开发者自行处理
|
|
|
*
|
|
|
*/
|
|
|
public class WxMemoryCacheClient {
|
|
|
|
|
|
|
|
|
- private static Logger log = LogManager.getLogger(WxMemoryCacheClient.class);
|
|
|
public static final String SESSION_ACCOUNT= "session_account";
|
|
|
|
|
|
- public static void addMpAccount(MpAccount account){
|
|
|
+ public static void addMpAccount(List<Account> accounts){
|
|
|
Map<String,MpAccount> mpAccountMap = (Map<String, MpAccount>) CacheUtils.get("mpAccountMap");
|
|
|
if(mpAccountMap==null){
|
|
|
mpAccountMap=Maps.newHashMap();
|
|
|
}
|
|
|
- if(account != null){
|
|
|
- mpAccountMap.put(account.getAccount(), account);
|
|
|
- CacheUtils.put("mpAccountMap", mpAccountMap);
|
|
|
- setAccount(account.getAccount());
|
|
|
+ if (CollectionUtils.isNotEmpty(accounts)) {
|
|
|
+ for (MpAccount account:accounts) {
|
|
|
+ mpAccountMap.put(account.getAccount(), account);
|
|
|
+ }
|
|
|
}
|
|
|
+ CacheUtils.put("mpAccountMap", mpAccountMap);
|
|
|
}
|
|
|
//
|
|
|
public static MpAccount getMpAccount(){
|
|
@@ -62,20 +64,6 @@ public class WxMemoryCacheClient {
|
|
|
return mpAccountMap.get(accout);
|
|
|
}
|
|
|
|
|
|
-// //获取唯一的公众号,如果需要多账号,请自行处理
|
|
|
-// public static MpAccount getSingleMpAccount(){
|
|
|
-// Map<String,MpAccount> mpAccountMap = (Map<String, MpAccount>) CacheUtils.get("mpAccountMap");
|
|
|
-// if(mpAccountMap==null){
|
|
|
-// mpAccountMap=Maps.newHashMap();
|
|
|
-// }
|
|
|
-// MpAccount sigleAccount = null;
|
|
|
-// for(String key : mpAccountMap.keySet()){
|
|
|
-// sigleAccount = mpAccountMap.get(key);
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// return sigleAccount;
|
|
|
-// }
|
|
|
-
|
|
|
public static AccessToken addAccessToken(String account ,AccessToken token){
|
|
|
Map<String,AccessToken> accountAccessTokenMap = (Map<String, AccessToken>) CacheUtils.get("accountAccessTokenMap");
|
|
|
if(accountAccessTokenMap==null){
|
|
@@ -103,24 +91,6 @@ public class WxMemoryCacheClient {
|
|
|
return accountAccessTokenMap.get(getAccount());
|
|
|
}
|
|
|
|
|
|
-// /**
|
|
|
-// * 获取唯一的公众号的accessToken,如果需要多账号,请自行处理
|
|
|
-// * accessToken的获取,绝对不要从缓存中直接获取,请从WxApiClient中获取;
|
|
|
-// * @return
|
|
|
-// */
|
|
|
-// public static AccessToken getSingleAccessToken(){
|
|
|
-// Map<String,AccessToken> accountAccessTokenMap = (Map<String, AccessToken>) CacheUtils.get("accountAccessTokenMap");
|
|
|
-// if(accountAccessTokenMap==null){
|
|
|
-// accountAccessTokenMap=Maps.newHashMap();
|
|
|
-// }
|
|
|
-// AccessToken accessToken = null;
|
|
|
-// for(String key : accountAccessTokenMap.keySet()){
|
|
|
-// accessToken = accountAccessTokenMap.get(key);
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// return accessToken;
|
|
|
-// }
|
|
|
-
|
|
|
/**
|
|
|
* 添加JSTicket到缓存
|
|
|
* @param account
|
|
@@ -151,25 +121,6 @@ public class WxMemoryCacheClient {
|
|
|
return accountJSTicketMap.get(getAccount());
|
|
|
}
|
|
|
|
|
|
-// /**
|
|
|
-// * 获取唯一的公众号的JSTicket,如果需要多账号,请自行处理
|
|
|
-// * JSTicket的获取,绝对不要从缓存中直接获取,请从WxApiClient中获取;
|
|
|
-// * @return
|
|
|
-// */
|
|
|
-// public static JSTicket getSingleJSTicket(){
|
|
|
-// Map<String,JSTicket> accountJSTicketMap = (Map<String, JSTicket>) CacheUtils.get("accountJSTicketMap");
|
|
|
-// if(null==accountJSTicketMap){
|
|
|
-// accountJSTicketMap=Maps.newHashMap();
|
|
|
-// }
|
|
|
-// JSTicket jsTicket = null;
|
|
|
-// for(String key : accountJSTicketMap.keySet()){
|
|
|
-// jsTicket = accountJSTicketMap.get(key);
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// return jsTicket;
|
|
|
-// }
|
|
|
-
|
|
|
-
|
|
|
//处理openid缓存
|
|
|
public static String getOpenid(String sessionid){
|
|
|
Map<String,String> sessionOpenIdMap = (Map<String,String>) CacheUtils.get("sessionOpenIdMap");
|
|
@@ -219,24 +170,6 @@ public class WxMemoryCacheClient {
|
|
|
return accountOAuthTokenMap.get(getAccount());
|
|
|
}
|
|
|
|
|
|
-// /**
|
|
|
-// * 获取唯一的公众号的accessToken,如果需要多账号,请自行处理
|
|
|
-// * OAuthAccessToken的获取,绝对不要从缓存中直接获取,请从WxApiClient中获取;
|
|
|
-// * @return
|
|
|
-// */
|
|
|
-// public static OAuthAccessToken getSingleOAuthAccessToken(){
|
|
|
-// Map<String,OAuthAccessToken> accountOAuthTokenMap = (Map<String, OAuthAccessToken>) CacheUtils.get("accountOAuthTokenMap");
|
|
|
-// if(null==accountOAuthTokenMap){
|
|
|
-// accountOAuthTokenMap=Maps.newHashMap();
|
|
|
-// }
|
|
|
-// OAuthAccessToken token = null;
|
|
|
-// for(String key : accountOAuthTokenMap.keySet()){
|
|
|
-// token = accountOAuthTokenMap.get(key);
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// return token;
|
|
|
-// }
|
|
|
-
|
|
|
/**
|
|
|
* 设置公众号信息 缓存中
|
|
|
* @param account
|