优化定时任务更新accessToken机制

This commit is contained in:
jianweie code
2024-06-27 10:34:44 +08:00
parent 836f72f4c6
commit a8509601f9

View File

@@ -129,7 +129,7 @@ namespace CoreCms.Net.Task
else else
{ {
var accessToken = WeChatCacheAccessTokenHelper.GetWeChatAccessToken(); var accessToken = WeChatCacheAccessTokenHelper.GetWeChatAccessToken();
if (string.IsNullOrEmpty(accessToken)) if (string.IsNullOrEmpty(accessToken) && entity.expireTimestamp > DateTimeOffset.Now.ToUnixTimeSeconds())
{ {
// 将时间戳转换为DateTime // 将时间戳转换为DateTime
var expireTime = DateTimeOffset.FromUnixTimeSeconds(entity.expireTimestamp).DateTime; var expireTime = DateTimeOffset.FromUnixTimeSeconds(entity.expireTimestamp).DateTime;
@@ -137,17 +137,19 @@ namespace CoreCms.Net.Task
var timeDifference = expireTime - DateTime.Now; var timeDifference = expireTime - DateTime.Now;
await _redisOperationRepository.SetAsync(GlobalEnumVars.AccessTokenEnum.WeiXinAccessToken.ToString(), entity, TimeSpan.FromMinutes(timeDifference.TotalMinutes)); await _redisOperationRepository.SetAsync(GlobalEnumVars.AccessTokenEnum.WeiXinAccessToken.ToString(), entity, TimeSpan.FromMinutes(timeDifference.TotalMinutes));
}
//插入日志 //插入日志
var model = new SysTaskLog var model = new SysTaskLog
{ {
createTime = DateTime.Now, createTime = DateTime.Now,
isSuccess = true, isSuccess = true,
name = "定时刷新获取微信AccessToken", name = "Redis无缓存",
parameters = "无需刷新AccessToken,AccessToken 未过期" parameters = "重新根据数据库有效数据更新缓存"
}; };
await _taskLogServices.InsertAsync(model); await _taskLogServices.InsertAsync(model);
}
} }
} }
//微信小程序也刷新 //微信小程序也刷新
@@ -214,7 +216,7 @@ namespace CoreCms.Net.Task
else else
{ {
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken(); var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
if (string.IsNullOrEmpty(accessToken)) if (string.IsNullOrEmpty(accessToken) && entity.expireTimestamp > DateTimeOffset.Now.ToUnixTimeSeconds())
{ {
// 将时间戳转换为DateTime // 将时间戳转换为DateTime
var expireTime = DateTimeOffset.FromUnixTimeSeconds(entity.expireTimestamp).DateTime; var expireTime = DateTimeOffset.FromUnixTimeSeconds(entity.expireTimestamp).DateTime;
@@ -222,18 +224,20 @@ namespace CoreCms.Net.Task
var timeDifference = expireTime - DateTime.Now; var timeDifference = expireTime - DateTime.Now;
await _redisOperationRepository.SetAsync(GlobalEnumVars.AccessTokenEnum.WxOpenAccessToken.ToString(), entity, TimeSpan.FromMinutes(timeDifference.TotalMinutes)); await _redisOperationRepository.SetAsync(GlobalEnumVars.AccessTokenEnum.WxOpenAccessToken.ToString(), entity, TimeSpan.FromMinutes(timeDifference.TotalMinutes));
}
//插入日志 //插入日志
var model = new SysTaskLog var model = new SysTaskLog
{ {
createTime = DateTime.Now, createTime = DateTime.Now,
isSuccess = true, isSuccess = true,
name = "定时刷新获取微信AccessToken", name = "Redis无缓存",
parameters = "无需刷新AccessToken,AccessToken 未过期" parameters = "重新根据数据库有效数据更新缓存"
}; };
await _taskLogServices.InsertAsync(model); await _taskLogServices.InsertAsync(model);
} }
}
} }
} }
catch (Exception ex) catch (Exception ex)