mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 16:03:25 +08:00
【优化】定时任务处理微信交互accesstoken时,如果缓存不存在,也从数据库再去拿一份最新的进行缓存。
This commit is contained in:
@@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user