|
@@ -35,50 +35,26 @@ namespace molilian.core
|
|
|
internal static async Task CallsIncrByAsync(TkChannelEnum channel, int accountId, string flag, int expire = 259200)
|
|
internal static async Task CallsIncrByAsync(TkChannelEnum channel, int accountId, string flag, int expire = 259200)
|
|
|
{
|
|
{
|
|
|
string key = $"{channel}:{accountId}:{flag}";
|
|
string key = $"{channel}:{accountId}:{flag}";
|
|
|
- if (_calls.ContainsKey(key))
|
|
|
|
|
|
|
+ if (_calls.TryGetValue(key, out int value))
|
|
|
{
|
|
{
|
|
|
- _calls[key] += 1;
|
|
|
|
|
|
|
+ _calls[key] = ++value;
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
_calls[key] = 1;
|
|
_calls[key] = 1;
|
|
|
}
|
|
}
|
|
|
- string cache_key = $"RiskControl:{key}:calls:{flag}";
|
|
|
|
|
|
|
+ string cache_key = $":RiskControl:calls:{key}";
|
|
|
await RedisKit.IncrByAsync(cache_key);
|
|
await RedisKit.IncrByAsync(cache_key);
|
|
|
await RedisKit.ExpireAsync(cache_key, expire);
|
|
await RedisKit.ExpireAsync(cache_key, expire);
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
- internal static async Task CallsIncrByAsync(TkChannelEnum channel, int accountId, string flag, double expire)
|
|
|
|
|
- {
|
|
|
|
|
- string key = $"{channel}:{accountId}:{flag}";
|
|
|
|
|
- if (_calls.ContainsKey(key))
|
|
|
|
|
- {
|
|
|
|
|
- _calls[key] += 1;
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- _calls[key] = 1;
|
|
|
|
|
- }
|
|
|
|
|
- string cache_key = $"RiskControl:{key}:calls:{flag}";
|
|
|
|
|
- await RedisKit.IncrByAsync(cache_key);
|
|
|
|
|
- await RedisKit.ExpireAsync(cache_key, expire);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
internal static async Task SetCallsAsync(TkChannelEnum channel, int accountId, string flag, int val)
|
|
internal static async Task SetCallsAsync(TkChannelEnum channel, int accountId, string flag, int val)
|
|
|
{
|
|
{
|
|
|
string key = $"{channel}:{accountId}:{flag}";
|
|
string key = $"{channel}:{accountId}:{flag}";
|
|
|
- if (_calls.ContainsKey(key))
|
|
|
|
|
- {
|
|
|
|
|
- _calls[key] = val;
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- _calls[key] = val;
|
|
|
|
|
- }
|
|
|
|
|
- string cache_key = $"RiskControl:{key}:calls:{flag}";
|
|
|
|
|
- await RedisHelper.IncrByAsync(cache_key);
|
|
|
|
|
|
|
+ _calls.TryAdd(key, val);
|
|
|
|
|
+ string cache_key = $":RiskControl:calls:{key}";
|
|
|
|
|
+ await RedisHelper.SetAsync(cache_key, val);
|
|
|
await RedisHelper.ExpireAsync(cache_key, 3 * 86400);
|
|
await RedisHelper.ExpireAsync(cache_key, 3 * 86400);
|
|
|
}
|
|
}
|
|
|
public static async Task<int> GetAllNodesCallsAsync(TkChannelEnum channel, int accountId, string flag)
|
|
public static async Task<int> GetAllNodesCallsAsync(TkChannelEnum channel, int accountId, string flag)
|
|
@@ -95,7 +71,7 @@ namespace molilian.core
|
|
|
var redisServer = EndPointCore.GetRedisServer(node);
|
|
var redisServer = EndPointCore.GetRedisServer(node);
|
|
|
if (string.IsNullOrEmpty(redisServer)) return 0;
|
|
if (string.IsNullOrEmpty(redisServer)) return 0;
|
|
|
|
|
|
|
|
- var cacheKey = $"RiskControl:{key}:calls:{flag}";
|
|
|
|
|
|
|
+ var cacheKey = $":RiskControl:calls:{key}";
|
|
|
using var scope = await RedisClientFactory.CreateScopeAsync(redisServer);
|
|
using var scope = await RedisClientFactory.CreateScopeAsync(redisServer);
|
|
|
int count = await scope.Client.GetAsync<int>(cacheKey);
|
|
int count = await scope.Client.GetAsync<int>(cacheKey);
|
|
|
return count;
|
|
return count;
|
|
@@ -128,7 +104,7 @@ namespace molilian.core
|
|
|
{
|
|
{
|
|
|
_calls[key] = val;
|
|
_calls[key] = val;
|
|
|
}
|
|
}
|
|
|
- string cache_key = $"RiskControl:{key}:calls:{flag}";
|
|
|
|
|
|
|
+ string cache_key = $":RiskControl:calls:{key}";
|
|
|
await RedisHelper.IncrByAsync(cache_key);
|
|
await RedisHelper.IncrByAsync(cache_key);
|
|
|
await RedisHelper.ExpireAsync(cache_key, 3 * 86400);
|
|
await RedisHelper.ExpireAsync(cache_key, 3 * 86400);
|
|
|
}
|
|
}
|
|
@@ -148,7 +124,7 @@ namespace molilian.core
|
|
|
var redisServer = EndPointCore.GetRedisServer(node);
|
|
var redisServer = EndPointCore.GetRedisServer(node);
|
|
|
if (string.IsNullOrEmpty(redisServer)) return 0;
|
|
if (string.IsNullOrEmpty(redisServer)) return 0;
|
|
|
|
|
|
|
|
- string cacheKey = $"RiskControl:{key}:calls:{flag}";
|
|
|
|
|
|
|
+ string cacheKey = $":RiskControl:calls:{key}";
|
|
|
using var scope = await RedisClientFactory.CreateScopeAsync(redisServer);
|
|
using var scope = await RedisClientFactory.CreateScopeAsync(redisServer);
|
|
|
return await scope.Client.GetAsync<int>(cacheKey);
|
|
return await scope.Client.GetAsync<int>(cacheKey);
|
|
|
}
|
|
}
|
|
@@ -175,7 +151,7 @@ namespace molilian.core
|
|
|
string key = $"{channel}:{accountId}:{flag}";
|
|
string key = $"{channel}:{accountId}:{flag}";
|
|
|
if (_calls.ContainsKey(key)) return _calls[key];
|
|
if (_calls.ContainsKey(key)) return _calls[key];
|
|
|
|
|
|
|
|
- string cache_key = $"RiskControl:{key}:calls:{flag}";
|
|
|
|
|
|
|
+ string cache_key = $"RiskControl:calls:{key}";
|
|
|
int num = RedisHelper.Get<int>(cache_key);
|
|
int num = RedisHelper.Get<int>(cache_key);
|
|
|
_calls.TryAdd(key, num);
|
|
_calls.TryAdd(key, num);
|
|
|
return num;
|
|
return num;
|
|
@@ -228,7 +204,7 @@ namespace molilian.core
|
|
|
string key = $"{channel}:{accountName}:{DateTime.Now:yyyyMMdd}";
|
|
string key = $"{channel}:{accountName}:{DateTime.Now:yyyyMMdd}";
|
|
|
if (_incomeAmt.ContainsKey(key)) return _incomeAmt[key];
|
|
if (_incomeAmt.ContainsKey(key)) return _incomeAmt[key];
|
|
|
|
|
|
|
|
- string cache_key = $"RiskControl:{key}:income_amt";
|
|
|
|
|
|
|
+ string cache_key = $":RiskControl:{key}:income_amt";
|
|
|
return RedisHelper.Get<decimal>(cache_key);
|
|
return RedisHelper.Get<decimal>(cache_key);
|
|
|
}
|
|
}
|
|
|
catch (Exception ex) { return 0; }
|
|
catch (Exception ex) { return 0; }
|