diff --git a/CoreCms.Net.Task/RefreshWeChatAccessTokenJob.cs b/CoreCms.Net.Task/RefreshWeChatAccessTokenJob.cs index e416d73b..8b1cf25f 100644 --- a/CoreCms.Net.Task/RefreshWeChatAccessTokenJob.cs +++ b/CoreCms.Net.Task/RefreshWeChatAccessTokenJob.cs @@ -10,6 +10,7 @@ using System; +using CoreCms.Net.Caching.AccressToken; using CoreCms.Net.Caching.AutoMate.RedisCache; using CoreCms.Net.Configuration; using CoreCms.Net.IServices; @@ -113,7 +114,7 @@ namespace CoreCms.Net.Task await _redisOperationRepository.SetAsync(GlobalEnumVars.JsApiTicketEnum.WeiXinJsApiTicket.ToString(), responseJsTicket, TimeSpan.FromMinutes(120)); } - + //插入日志 var model = new SysTaskLog { @@ -127,6 +128,17 @@ namespace CoreCms.Net.Task } else { + var accessToken = WeChatCacheAccessTokenHelper.GetWeChatAccessToken(); + if (accessToken == null) + { + // 将时间戳转换为DateTime + var expireTime = DateTimeOffset.FromUnixTimeSeconds(entity.expireTimestamp).DateTime; + // 计算两个时间的时间差 + var timeDifference = expireTime - DateTime.Now; + + await _redisOperationRepository.SetAsync(GlobalEnumVars.AccessTokenEnum.WeiXinAccessToken.ToString(), entity, TimeSpan.FromMinutes(timeDifference.TotalMinutes)); + } + //插入日志 var model = new SysTaskLog { @@ -174,9 +186,7 @@ namespace CoreCms.Net.Task await _weChatAccessTokenServices.UpdateAsync(entity); } - await _redisOperationRepository.SetAsync( - GlobalEnumVars.AccessTokenEnum.WxOpenAccessToken.ToString(), entity, - TimeSpan.FromMinutes(120)); + await _redisOperationRepository.SetAsync(GlobalEnumVars.AccessTokenEnum.WxOpenAccessToken.ToString(), entity, TimeSpan.FromMinutes(120)); //插入日志 var model = new SysTaskLog @@ -203,6 +213,17 @@ namespace CoreCms.Net.Task } else { + var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken(); + if (accessToken == null) + { + // 将时间戳转换为DateTime + var expireTime = DateTimeOffset.FromUnixTimeSeconds(entity.expireTimestamp).DateTime; + // 计算两个时间的时间差 + var timeDifference = expireTime - DateTime.Now; + + await _redisOperationRepository.SetAsync(GlobalEnumVars.AccessTokenEnum.WxOpenAccessToken.ToString(), entity, TimeSpan.FromMinutes(timeDifference.TotalMinutes)); + } + //插入日志 var model = new SysTaskLog {