| 
					
				 | 
			
			
				@@ -1,61 +0,0 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-package com.gree.mall.manager.config.wx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.gree.mall.manager.constant.Constant; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.gree.mall.manager.utils.RedisUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import me.chanjar.weixin.cp.config.impl.WxCpDefaultConfigImpl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.apache.commons.lang3.ObjectUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-public class WxCpLettuceRedisConfig extends WxCpDefaultConfigImpl { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private RedisUtil redisUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private String accessTokenKey; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public WxCpLettuceRedisConfig(RedisUtil redisUtil){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.redisUtil = redisUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void setAgentId(Integer agentId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        super.setAgentId(agentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.accessTokenKey = Constant.RedisPrefix.WORK_MINI_ACCESS_TOKEN+":"+agentId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public String getAccessToken() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return redisUtil.get(accessTokenKey).toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public boolean isAccessTokenExpired() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Long expireTime = redisUtil.getExpire(accessTokenKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (ObjectUtils.isEmpty(expireTime)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 到期时间小于100秒就算作过期了,就重新调用接口获取 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return expireTime < 100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public synchronized void updateAccessToken(String accessToken, int expiresInSeconds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        redisUtil.set(accessTokenKey, accessToken, expiresInSeconds - 200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void expireAccessToken() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        redisUtil.expire(accessTokenKey, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public long getExpiresTime() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Long expire = redisUtil.getExpire(accessTokenKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return expire == null ? 0 : expire; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void setExpiresTime(long expiresTime) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        redisUtil.expire(accessTokenKey, expiresTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 |