Compare commits
No commits in common. "9cda1af5fcb63f6612fac5656d5d0b3f4fc9044b" and "0b13cce47b02a10e4cb594659883ea0aaa737d69" have entirely different histories.
9cda1af5fc
...
0b13cce47b
@ -4,41 +4,12 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using JiShe.CollectBus.Common.Consts;
|
||||
using JiShe.CollectBus.EnergySystems.TableViews;
|
||||
using JiShe.CollectBus.FreeSql;
|
||||
using Volo.Abp.Domain.Repositories;
|
||||
using JiShe.CollectBus.IotSystems.PrepayModel;
|
||||
|
||||
namespace JiShe.CollectBus.EnergySystem
|
||||
{
|
||||
public class CacheAppService: CollectBusAppService,ICacheAppService
|
||||
{
|
||||
//public async Task<V_FocusAmmeter> GetHashByKey(string key)
|
||||
//{
|
||||
// await FreeRedisProvider.Instance.HGetAsync<V_FocusAmmeter>(key,);
|
||||
//}
|
||||
|
||||
public async Task SetHashByKey(string key)
|
||||
{
|
||||
var data = await SqlProvider.Instance.Change(DbEnum.EnergyDB).Select<V_FocusAmmeter>().ToListAsync();
|
||||
|
||||
var groupData = data.GroupBy(a => $"{a.FocusAreaCode}{a.FocusAddress}").ToList();
|
||||
|
||||
foreach (var group in groupData)
|
||||
{
|
||||
try
|
||||
{
|
||||
var aa = group.ToDictionary(a => $"{a.ID}_{a.Address}" , b => b);
|
||||
await FreeRedisProvider.Instance.HSetAsync($"{RedisConst.CacheAmmeterFocusKey}:{group.Key}", aa);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,7 +5,6 @@ using System.Linq;
|
||||
using System.Net;
|
||||
using System.Threading.Tasks;
|
||||
using DotNetCore.CAP;
|
||||
using FreeSql;
|
||||
using JiShe.CollectBus.Ammeters;
|
||||
using JiShe.CollectBus.Common;
|
||||
using JiShe.CollectBus.Common.BuildSendDatas;
|
||||
@ -25,7 +24,6 @@ using MassTransit;
|
||||
using MassTransit.Internals.GraphValidation;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Volo.Abp.Domain.Repositories;
|
||||
using Volo.Abp.Uow;
|
||||
|
||||
namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
{
|
||||
@ -37,18 +35,16 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
private readonly ILogger<BasicScheduledMeterReadingService> _logger;
|
||||
private readonly ICapPublisher _capBus;
|
||||
private readonly IRepository<ScheduledMeterReadingIssuedEventMessage, Guid> _meterReadingIssuedRepository;
|
||||
private readonly IUnitOfWorkManager _unitOfWorkManager;
|
||||
|
||||
|
||||
public BasicScheduledMeterReadingService(
|
||||
ILogger<BasicScheduledMeterReadingService> logger,
|
||||
ICapPublisher capBus,
|
||||
IRepository<ScheduledMeterReadingIssuedEventMessage, Guid> meterReadingIssuedRepository, IUnitOfWorkManager unitOfWorkManager)
|
||||
IRepository<ScheduledMeterReadingIssuedEventMessage, Guid> meterReadingIssuedRepository)
|
||||
{
|
||||
_capBus = capBus;
|
||||
_logger = logger;
|
||||
_meterReadingIssuedRepository = meterReadingIssuedRepository;
|
||||
_unitOfWorkManager = unitOfWorkManager;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -120,7 +116,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
continue;
|
||||
}
|
||||
|
||||
var redisCacheKey = $"{string.Format(RedisConst.CacheAmmeterInfoKey, SystemTypeConst.Energy, itemTimeDensity.Key)}{item.Key}";
|
||||
var redisCacheKey = $"{string.Format(FreeRedisConst.CacheAmmeterInfoKey, SystemTypeConst.Energy, itemTimeDensity.Key)}{item.Key}";
|
||||
Dictionary<string, AmmeterInfo> keyValuePairs = new Dictionary<string, AmmeterInfo>();
|
||||
foreach (var ammeter in item)
|
||||
{
|
||||
@ -182,7 +178,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
public virtual async Task AmmeterScheduledMeterOneMinuteReading()
|
||||
{
|
||||
//获取缓存中的电表信息
|
||||
var redisKeyList = $"{string.Format(RedisConst.CacheAmmeterInfoKey, SystemTypeConst.Energy, 1)}*";
|
||||
var redisKeyList = $"{string.Format(FreeRedisConst.CacheAmmeterInfoKey, SystemTypeConst.Energy, 1)}*";
|
||||
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
||||
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
||||
{
|
||||
@ -211,7 +207,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
public virtual async Task AmmeterScheduledMeterFiveMinuteReading()
|
||||
{
|
||||
//获取缓存中的电表信息
|
||||
var redisKeyList = $"{string.Format(RedisConst.CacheAmmeterInfoKey, SystemTypeConst.Energy, 5)}*";
|
||||
var redisKeyList = $"{string.Format(FreeRedisConst.CacheAmmeterInfoKey, SystemTypeConst.Energy, 5)}*";
|
||||
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
||||
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
||||
{
|
||||
@ -238,7 +234,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
public virtual async Task AmmeterScheduledMeterFifteenMinuteReading()
|
||||
{
|
||||
//获取缓存中的电表信息
|
||||
var redisKeyList = $"{string.Format(RedisConst.CacheAmmeterInfoKey, SystemTypeConst.Energy, 15)}*";
|
||||
var redisKeyList = $"{string.Format(FreeRedisConst.CacheAmmeterInfoKey, SystemTypeConst.Energy, 15)}*";
|
||||
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
||||
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
||||
{
|
||||
@ -311,7 +307,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
continue;
|
||||
}
|
||||
|
||||
var redisCacheKey = $"{string.Format(RedisConst.CacheWatermeterInfoKey, SystemTypeConst.Energy, itemTimeDensity.Key)}{item.Key}";
|
||||
var redisCacheKey = $"{string.Format(FreeRedisConst.CacheWatermeterInfoKey, SystemTypeConst.Energy, itemTimeDensity.Key)}{item.Key}";
|
||||
Dictionary<string, WatermeterInfo> keyValuePairs = new Dictionary<string, WatermeterInfo>();
|
||||
foreach (var subItem in item)
|
||||
{
|
||||
@ -331,7 +327,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
public virtual async Task WatermeterScheduledMeterOneMinuteReading()
|
||||
{
|
||||
//获取缓存中的水表信息
|
||||
var redisKeyList = $"{string.Format(RedisConst.CacheWatermeterInfoKey, SystemTypeConst.Energy, 1)}*";
|
||||
var redisKeyList = $"{string.Format(FreeRedisConst.CacheWatermeterInfoKey, SystemTypeConst.Energy, 1)}*";
|
||||
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
||||
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
||||
{
|
||||
@ -358,7 +354,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
{
|
||||
|
||||
//获取缓存中的水表信息
|
||||
var redisKeyList = $"{string.Format(RedisConst.CacheWatermeterInfoKey, SystemTypeConst.Energy, 5)}*";
|
||||
var redisKeyList = $"{string.Format(FreeRedisConst.CacheWatermeterInfoKey, SystemTypeConst.Energy, 5)}*";
|
||||
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
||||
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
||||
{
|
||||
@ -384,7 +380,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
public virtual async Task WatermeterScheduledMeterFifteenMinuteReading()
|
||||
{
|
||||
//获取缓存中的水表信息
|
||||
var redisKeyList = $"{string.Format(RedisConst.CacheWatermeterInfoKey, SystemTypeConst.Energy, 15)}*";
|
||||
var redisKeyList = $"{string.Format(FreeRedisConst.CacheWatermeterInfoKey, SystemTypeConst.Energy, 15)}*";
|
||||
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
||||
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
||||
{
|
||||
@ -438,7 +434,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
{
|
||||
string key = (string)item[0];//集中器地址对应的Redis缓存Key
|
||||
object[] fieldsAndValues = (object[])item[1];//缓存Key对应的Hash表数据集合
|
||||
var redisCacheKey = $"{string.Format(RedisConst.CacheAmmeterInfoKey, SystemTypeConst.Energy, minute)}";
|
||||
var redisCacheKey = $"{string.Format(FreeRedisConst.CacheAmmeterInfoKey, SystemTypeConst.Energy, minute)}";
|
||||
string focusAddress = key.Replace(redisCacheKey, "");//集中器地址
|
||||
|
||||
var meterHashs = new Dictionary<string, T>();
|
||||
@ -519,16 +515,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
foreach (var group in focusHashGroups)
|
||||
{
|
||||
//TODO _meterReadingIssuedRepository 需要优化
|
||||
|
||||
await Task.Factory.StartNew(async () =>
|
||||
{
|
||||
using var uow = _unitOfWorkManager.Begin();
|
||||
await CreatePublishTask(eventName, group.Value);
|
||||
await uow.SaveChangesAsync();
|
||||
});
|
||||
|
||||
|
||||
//await Task.Run(async () => { await CreatePublishTask(eventName, group.Value); });
|
||||
//_ = Task.Run(async () => { await CreatePublishTask(eventName, group.Value); });
|
||||
await CreatePublishTask(eventName, group.Value);
|
||||
}
|
||||
|
||||
|
||||
@ -11,7 +11,6 @@ using JiShe.CollectBus.IotSystems.Watermeter;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Volo.Abp.Domain.Repositories;
|
||||
using Volo.Abp.Uow;
|
||||
|
||||
namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
{
|
||||
@ -23,10 +22,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
public class EnergySystemScheduledMeterReadingService : BasicScheduledMeterReadingService
|
||||
{
|
||||
|
||||
public EnergySystemScheduledMeterReadingService(ILogger<EnergySystemScheduledMeterReadingService> logger,
|
||||
ICapPublisher capBus,
|
||||
IRepository<ScheduledMeterReadingIssuedEventMessage, Guid> meterReadingIssuedRepository,
|
||||
IUnitOfWorkManager unitOfWorkManager) :base(logger, capBus, meterReadingIssuedRepository, unitOfWorkManager)
|
||||
public EnergySystemScheduledMeterReadingService(ILogger<EnergySystemScheduledMeterReadingService> logger, ICapPublisher capBus, IRepository<ScheduledMeterReadingIssuedEventMessage, Guid> meterReadingIssuedRepository) :base(logger, capBus, meterReadingIssuedRepository)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@ -6,41 +6,36 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace JiShe.CollectBus.Common.Consts
|
||||
{
|
||||
public class RedisConst
|
||||
public class FreeRedisConst
|
||||
{
|
||||
/// <summary>
|
||||
/// 缓存基础目录
|
||||
/// </summary>
|
||||
public const string CacheBasicDirectoryKey = "CollectBus";
|
||||
public const string CacheBasicDirectoryKey = "CollectBus:";
|
||||
|
||||
/// <summary>
|
||||
/// 1分钟采集间隔
|
||||
/// </summary>
|
||||
public const string OneMinuteAcquisitionTimeInterval = "One";
|
||||
public const string OneMinuteAcquisitionTimeInterval = $"one";
|
||||
|
||||
/// <summary>
|
||||
/// 5分钟采集间隔
|
||||
/// </summary>
|
||||
public const string FiveMinuteAcquisitionTimeInterval = "Five";
|
||||
public const string FiveMinuteAcquisitionTimeInterval = $"Five";
|
||||
|
||||
/// <summary>
|
||||
/// 15分钟采集间隔
|
||||
/// </summary>
|
||||
public const string FifteenMinuteAcquisitionTimeInterval = "Fifteen";
|
||||
public const string FifteenMinuteAcquisitionTimeInterval = $"Fifteen";
|
||||
|
||||
/// <summary>
|
||||
/// 缓存电表信息
|
||||
/// </summary>
|
||||
public const string CacheAmmeterInfoKey = $"{CacheBasicDirectoryKey}:{"{0}"}:{"{1}"}:AmmeterInfo:";
|
||||
public const string CacheAmmeterInfoKey = $"{CacheBasicDirectoryKey}{"{0}"}:{"{1}"}:AmmeterInfo:";
|
||||
|
||||
/// <summary>
|
||||
/// 缓存水表信息
|
||||
/// </summary>
|
||||
public const string CacheAmmeterFocusKey = $"{CacheBasicDirectoryKey}:AmmeterFocus";
|
||||
|
||||
/// <summary>
|
||||
/// 缓存水表信息
|
||||
/// </summary>
|
||||
public const string CacheWatermeterInfoKey = $"{CacheBasicDirectoryKey}:{"{0}"}:{"{1}"}:WatermeterInfo:";
|
||||
public const string CacheWatermeterInfoKey = $"{CacheBasicDirectoryKey}{"{0}"}:{"{1}"}:WatermeterInfo:";
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using FreeSql.DataAnnotations;
|
||||
|
||||
namespace JiShe.CollectBus.EnergySystems.Entities
|
||||
{
|
||||
@ -23,7 +22,6 @@ namespace JiShe.CollectBus.EnergySystems.Entities
|
||||
/// <summary>
|
||||
/// 区域名
|
||||
/// </summary>
|
||||
[Column(IsIgnore = true)]
|
||||
public string AreaName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@ -148,7 +146,6 @@ namespace JiShe.CollectBus.EnergySystems.Entities
|
||||
/// <summary>
|
||||
/// 集中器名称(扩展字段)
|
||||
/// </summary>
|
||||
[Column(IsIgnore = true)]
|
||||
public string FocusName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@ -171,13 +168,11 @@ namespace JiShe.CollectBus.EnergySystems.Entities
|
||||
/// 机械表1(德力西机械电表-Code)
|
||||
/// (原有数据都默认:电子电表)
|
||||
/// </summary>
|
||||
[Column(IsIgnore = true)]
|
||||
public int MeterKind { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 采集方案ID
|
||||
/// </summary>
|
||||
[Column(IsIgnore = true)]
|
||||
public int GatherPlanID { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -23,7 +23,6 @@
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\JiShe.CollectBus.Common\JiShe.CollectBus.Common.csproj" />
|
||||
<ProjectReference Include="..\JiShe.CollectBus.Domain.Shared\JiShe.CollectBus.Domain.Shared.csproj" />
|
||||
<ProjectReference Include="..\JiShe.CollectBus.FreeSql\JiShe.CollectBus.FreeSql.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@ -40,7 +40,7 @@
|
||||
"EnergyDB": "server=118.190.144.92;database=db_energy;uid=sa;pwd=admin@2023;Encrypt=False;Trust Server Certificate=False"
|
||||
},
|
||||
"Redis": {
|
||||
"Configuration": "192.168.111.248:6379,password=123456abcD,syncTimeout=30000,abortConnect=false,connectTimeout=30000,allowAdmin=true",
|
||||
"Configuration": "118.190.144.92:6379,syncTimeout=30000,abortConnect=false,connectTimeout=30000,allowAdmin=true",
|
||||
"DefaultDB": "14",
|
||||
"HangfireDB": "15"
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user