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