@Scheduled(cron="0/60 * * * * ? ")
public void updateAccessToken() {
try {
if (toKenIP.equals(InetAddress.getLocalHost().getHostAddress())){
TokenInfo tokenInfo = tokenInfoDao.getTokenInfo("weixinserialNo");
if (tokenInfo.getExpireDate().compareTo(new Date()) <= 0){logger.info("定时刷新token");
Map<String,Object> tokenMap = accessTokenService.getAccessToken(appID,appSecret);
tokenInfo.setToken(tokenMap.get("access_token").toString());
int expireSin = Integer.parseInt(tokenMap.get("expires_in").toString())-300;
tokenInfo.setExpireSin(expireSin);
Calendar now = Calendar.getInstance();
tokenInfo.setOperateDate(now.getTime());
now.add(Calendar.SECOND,expireSin);
tokenInfo.setExpireDate(now.getTime());
tokenInfoDao.updateTokenInfo(tokenInfo);
logger.info("刷新token完成");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Scheduled(cron="0/60 * * * * ? ")
public void updateTicket(){
try {
if (toKenIP.equals(InetAddress.getLocalHost().getHostAddress())){
TokenInfo tokenInfo = tokenInfoDao.getTokenInfo("weixinserialNo"); //获取token
TokenInfo tocketInfo = tokenInfoDao.getTokenInfo("weixinTocket"); //获取token
if (tocketInfo.getExpireDate().compareTo(new Date()) <= 0){
logger.info("定时刷新token");
Map<String,Object> toketMap = accessTokenService.getTicket(tokenInfo.getToken());
tocketInfo.setToken(toketMap.get("ticket").toString());
int expireSin = Integer.parseInt(toketMap.get("expires_in").toString())-300;
tocketInfo.setExpireSin(expireSin);
Calendar now = Calendar.getInstance();
tocketInfo.setOperateDate(now.getTime());
now.add(Calendar.SECOND,expireSin);
tocketInfo.setExpireDate(now.getTime());
tokenInfoDao.updateTokenInfo(tocketInfo);
logger.info("刷新token完成");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}