lixiaojun
2024-03-26 3e14440cb203d28923ba9cfec39ceff15f2c35e7
版本大更新
已删除4个文件
已重命名22个文件
已复制3个文件
已修改12个文件
已添加28个文件
1176 ■■■■ 文件已修改
Yw.Application.Run.Core/00-core/2-extensions/ConfigHelper.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Run.Core/00-core/2-extensions/Extensions.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Run.Core/00-core/Mapper.cs 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Run.Core/01-configure/RunAnalyConfigure_Controller.cs 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Run.Core/01-configure/RunAnalyConfigure_StdController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Run.Core/02-record/RunRealRecord_Controller.cs 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Run.Core/02-record/RunRealRecord_StdController.cs 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Run.Core/GlobalUsings.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Run.Core/Properties/PublishProfiles/FolderProfile.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Run.Core/Yw.Application.Run.Core.csproj 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Run.Core/01-configure/AddRunAnalyConfigureInput.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Run.Core/01-configure/RunAnalyConfigureDto.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Run.Core/01-configure/RunAnalyConfigureStdDto.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Run.Core/01-configure/SetRunAnalyConfigureInput.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Run.Core/01-configure/UpdateRunAnalyConfigureInput.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Run.Core/02-record/AddRunRealLastRecordInput.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Run.Core/02-record/RunRealRecordStdDto.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Run.Core/GlobalUsings.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Run.Core/Properties/PublishProfiles/FolderProfile.pubxml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Run.Core/Properties/PublishProfiles/FolderProfile.pubxml.user 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Run.Core/Yw.Dto.Run.Core.csproj 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Run.Core/Yw.Dto.Run.Core.csproj.user 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Run.Core.sln 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/00-core/ConfigHelper.cs 125 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/03-settings/paras/Paras_Run.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/03-settings/paras/Paras_Run_DataBase.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/03-settings/paras/Paras_Run_DataBase_Factory.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/03-settings/paras/Paras_Run_DataBase_PostgreSql.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/03-settings/paras/Paras_Run_DataBase_SQLite.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/03-settings/paras/Paras_Run_Exchange.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/03-settings/paras/Paras_Run_Exchange_Factory.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/03-settings/paras/Paras_Run_LCache.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/03-settings/paras/Paras_Run_LCache_Factory.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/03-settings/paras/Paras_Run_Queue.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/03-settings/paras/Paras_Run_Queue_Factory.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/03-settings/paras/Paras_Run_RedisCache.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/04-dal/01-interface/IRunAnalyConfigure.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/04-dal/01-interface/IRunRealRecord.cs 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/04-dal/02-postgresql/RunAnalyConfigure.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/04-dal/02-postgresql/RunRealRecord.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/04-dal/03-sqlite/RunAnalyConfigure.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/04-dal/03-sqlite/RunRealRecord.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/05-cache/0-helper/RedisKeyHelper.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/05-lcache/00-helper/CacheKeyHelper.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/05-lcache/01-interface/IRunRealLastRecordCacheHelper.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/05-lcache/02-redis/RunRealLastRecordCacheHelper.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/05-lcache/03-medis/RunRealLastRecordCacheHelper.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/06-exchange/00-helper/RunExchangeNameHelper.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/06-exchange/01-interface/IRunRealRecordExchangeHelper.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/06-exchange/02-rabbitmq/RunRealRecordExchangeHelper.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/06-exchange/03-memory/RunRealRecordExchangeHelper.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/07-service/00-helper/01-create/DALCreateHelper.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/07-service/00-helper/01-create/ExchangeCreateHelper.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/07-service/00-helper/01-create/LCacheCreateHelper.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/07-service/00-helper/01-create/QueueCreateHelper.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/07-service/00-helper/02-cache/CacheHelper.cs 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/07-service/00-helper/03-extensions/Extensions.cs 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/07-service/01-configure/Cache/RunAnalyConfigureCacheHelper.cs 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/07-service/01-configure/RunAnalyConfigure.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/07-service/01-configure/RunAnalyConfigure_Instance.cs 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/07-service/02-record/RunRealRecord.cs 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/07-service/02-record/RunRealRecord_Instance.cs 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/07-service/03-lcache/RunRealLastRecordCacheHelper.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/07-service/04-exchange/RunRealRecordExchangeHelper.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/GlobalUsings.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/Properties/PublishProfiles/FolderProfile.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/Yw.Service.Run.Core.csproj 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Run.Core/paras_run_settings.json 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.WebApi.Run.Core/Yw.WebApi.Run.Core.csproj 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Run.Core/00-core/2-extensions/ConfigHelper.cs
ÎļþÒÑɾ³ý
Yw.Application.Run.Core/00-core/2-extensions/Extensions.cs
ÎļþÒÑɾ³ý
Yw.Application.Run.Core/00-core/Mapper.cs
Yw.Application.Run.Core/01-configure/RunAnalyConfigure_Controller.cs
Yw.Application.Run.Core/01-configure/RunAnalyConfigure_StdController.cs
ÎļþÃû´Ó Yw.Application.Run.Core/01-configure/2-std/RunAnalyConfigure_StdController.cs ÐÞ¸Ä
@@ -24,7 +24,7 @@
                Service.RunAnalyConfigure.PublishCache(cacheKey);
                var vmList = allList?.Select(x => new RunAnalyConfigureStdDto(x)).ToList();
                return vmList;
            }, CacheHelper.CacheLevel5);
            }, Yw.Service.ConfigHelper.CacheLevel5);
            return vm_list;
        }
Yw.Application.Run.Core/02-record/RunRealRecord_Controller.cs
Yw.Application.Run.Core/02-record/RunRealRecord_StdController.cs
Yw.Application.Run.Core/GlobalUsings.cs
@@ -8,3 +8,5 @@
global using Yw.Untity;
global using Yw.Application.Run;
global using Yw.JWT;
global using Yw.Dto;
Yw.Application.Run.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,6 +4,6 @@
-->
<Project>
  <PropertyGroup>
    <History>True|2024-02-01T07:13:33.2518157Z;True|2024-01-27T11:05:20.5193198+08:00;True|2024-01-21T14:54:51.3939785+08:00;True|2024-01-08T17:00:51.0941947+08:00;True|2023-12-16T15:43:21.8065953+08:00;True|2023-12-11T11:56:46.3121435+08:00;True|2023-12-11T11:27:23.3317604+08:00;True|2023-12-11T11:27:14.6709240+08:00;True|2023-07-13T12:10:11.2591498+08:00;True|2023-05-25T18:02:16.3580168+08:00;True|2023-05-25T15:44:32.4909866+08:00;</History>
    <History>True|2024-03-26T01:54:08.7672773Z;True|2024-02-01T15:13:33.2518157+08:00;True|2024-01-27T11:05:20.5193198+08:00;True|2024-01-21T14:54:51.3939785+08:00;True|2024-01-08T17:00:51.0941947+08:00;True|2023-12-16T15:43:21.8065953+08:00;True|2023-12-11T11:56:46.3121435+08:00;True|2023-12-11T11:27:23.3317604+08:00;True|2023-12-11T11:27:14.6709240+08:00;True|2023-07-13T12:10:11.2591498+08:00;True|2023-05-25T18:02:16.3580168+08:00;True|2023-05-25T15:44:32.4909866+08:00;</History>
  </PropertyGroup>
</Project>
Yw.Application.Run.Core/Yw.Application.Run.Core.csproj
@@ -7,7 +7,7 @@
    <RootNamespace>Yw.Application</RootNamespace>
    <GenerateDocumentationFile>True</GenerateDocumentationFile>
    <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
    <Version>1.0.6</Version>
    <Version>3.0.0</Version>
  </PropertyGroup>
  <ItemGroup>
@@ -26,12 +26,8 @@
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Yw.Application.Core" Version="1.4.1" />
    <PackageReference Include="Yw.Service.Run.Core" Version="1.0.4" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="00-core\3-dto\" />
    <PackageReference Include="Yw.Application.Core" Version="3.0.1" />
    <PackageReference Include="Yw.Dto.Run.Core" Version="3.0.0" />
  </ItemGroup>
</Project>
Yw.Dto.Run.Core/01-configure/AddRunAnalyConfigureInput.cs
ÎļþÃû´Ó Yw.Application.Run.Core/01-configure/1-mgr/dto/AddRunAnalyConfigureInput.cs ÐÞ¸Ä
@@ -1,4 +1,4 @@
namespace Yw.Application
namespace Yw.Dto
{
    /// <summary>
    /// 
Yw.Dto.Run.Core/01-configure/RunAnalyConfigureDto.cs
ÎļþÃû´Ó Yw.Application.Run.Core/01-configure/1-mgr/dto/RunAnalyConfigureDto.cs ÐÞ¸Ä
@@ -1,4 +1,4 @@
namespace Yw.Application
namespace Yw.Dto
{
    /// <summary>
    /// 
Yw.Dto.Run.Core/01-configure/RunAnalyConfigureStdDto.cs
ÎļþÃû´Ó Yw.Application.Run.Core/01-configure/2-std/dto/RunAnalyConfigureStdDto.cs ÐÞ¸Ä
@@ -1,4 +1,4 @@
namespace Yw.Application
namespace Yw.Dto
{
    /// <summary>
    /// 
Yw.Dto.Run.Core/01-configure/SetRunAnalyConfigureInput.cs
ÎļþÃû´Ó Yw.Application.Run.Core/01-configure/1-mgr/dto/SetRunAnalyConfigureInput.cs ÐÞ¸Ä
@@ -1,4 +1,4 @@
namespace Yw.Application
namespace Yw.Dto
{
    /// <summary>
    /// 
Yw.Dto.Run.Core/01-configure/UpdateRunAnalyConfigureInput.cs
ÎļþÃû´Ó Yw.Application.Run.Core/01-configure/1-mgr/dto/UpdateRunAnalyConfigureInput.cs ÐÞ¸Ä
@@ -1,4 +1,4 @@
namespace Yw.Application
namespace Yw.Dto
{
    /// <summary>
    /// 
Yw.Dto.Run.Core/02-record/AddRunRealLastRecordInput.cs
ÎļþÃû´Ó Yw.Application.Run.Core/02-record/1-mgr/dto/AddRunRealLastRecordInput.cs ÐÞ¸Ä
@@ -1,4 +1,4 @@
namespace Yw.Application
namespace Yw.Dto
{
    /// <summary>
    /// 
Yw.Dto.Run.Core/02-record/RunRealRecordStdDto.cs
ÎļþÃû´Ó Yw.Application.Run.Core/02-record/2-std/dto/RunRealRecordStdDto.cs ÐÞ¸Ä
@@ -1,4 +1,4 @@
namespace Yw.Application
namespace Yw.Dto
{
    /// <summary>
    /// 
Yw.Dto.Run.Core/GlobalUsings.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
global using System.ComponentModel.DataAnnotations;
global using System.Text;
global using Yw.Untity;
global using Yw.Run;
global using Yw.Service.Run;
Yw.Dto.Run.Core/Properties/PublishProfiles/FolderProfile.pubxml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project>
  <PropertyGroup>
    <Configuration>Release</Configuration>
    <Platform>Any CPU</Platform>
    <PublishDir>bin\Release\net6.0\publish\</PublishDir>
    <PublishProtocol>FileSystem</PublishProtocol>
  </PropertyGroup>
</Project>
Yw.Dto.Run.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project>
  <PropertyGroup>
    <History>True|2024-03-26T01:51:34.4055575Z;</History>
  </PropertyGroup>
</Project>
Yw.Dto.Run.Core/Yw.Dto.Run.Core.csproj
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>disable</Nullable>
    <Version>3.0.0</Version>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Yw.Dto.Core" Version="3.0.1" />
    <PackageReference Include="Yw.Service.Run.Core" Version="3.0.0" />
  </ItemGroup>
</Project>
Yw.Dto.Run.Core/Yw.Dto.Run.Core.csproj.user
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <_LastSelectedProfileId>D:\WorkData\模块\Code\Run\Yw.Dto.Run.Core\Properties\PublishProfiles\FolderProfile.pubxml</_LastSelectedProfileId>
  </PropertyGroup>
</Project>
Yw.Run.Core.sln
@@ -11,6 +11,8 @@
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yw.Entry.Run.Core", "Yw.Entry.Run.Core\Yw.Entry.Run.Core.csproj", "{B5BCA833-E9A4-46B8-B7CF-40D1EF66B989}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yw.Dto.Run.Core", "Yw.Dto.Run.Core\Yw.Dto.Run.Core.csproj", "{E953B3D9-5F8A-4119-B519-B9A87EAA55A9}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
@@ -33,6 +35,10 @@
        {B5BCA833-E9A4-46B8-B7CF-40D1EF66B989}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {B5BCA833-E9A4-46B8-B7CF-40D1EF66B989}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {B5BCA833-E9A4-46B8-B7CF-40D1EF66B989}.Release|Any CPU.Build.0 = Release|Any CPU
        {E953B3D9-5F8A-4119-B519-B9A87EAA55A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {E953B3D9-5F8A-4119-B519-B9A87EAA55A9}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {E953B3D9-5F8A-4119-B519-B9A87EAA55A9}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {E953B3D9-5F8A-4119-B519-B9A87EAA55A9}.Release|Any CPU.Build.0 = Release|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
Yw.Service.Run.Core/00-core/ConfigHelper.cs
@@ -3,7 +3,6 @@
    internal class ConfigHelper
    {
        /// <summary>
        /// é»˜è®¤è¿žæŽ¥é…ç½®
        /// </summary>
@@ -15,7 +14,7 @@
                return new ConnectionConfig()
                {
                    DbType = SqlSugar.DbType.PostgreSQL,//数据库类型
                    ConnectionString = RunParasHelper.Run.DataBase.ConnectString,
                    ConnectionString = RunParasHelper.Run.DataBase.PostgreSql.ConnectString,
                    IsAutoCloseConnection = true,//是否自动关闭
                    MoreSettings = new ConnMoreSettings()
                    {
@@ -25,7 +24,8 @@
                    {
                        OnLogExecuting = (sql, p) =>
                        {
                            LogHelper.Debug(sql);
                            // var sqlString = UtilMethods.GetNativeSql(sql, p);
                            //LogHelper.Debug(sqlString);
                            // Console.WriteLine(sql);
                        }
                    }
@@ -34,9 +34,9 @@
        }
        /// <summary>
        /// è®°å½•连接配置
        /// PostgreSql连接配置
        /// </summary>
        internal static ConnectionConfig RecordConnectionConfig
        internal static ConnectionConfig PostgreSqlConnectionConfig
        {
            get
            {
@@ -44,7 +44,7 @@
                return new ConnectionConfig()
                {
                    DbType = SqlSugar.DbType.PostgreSQL,//数据库类型
                    ConnectionString = RunParasHelper.Run.DataBase.RecordConnectString,
                    ConnectionString = RunParasHelper.Run.DataBase.PostgreSql.ConnectString,
                    IsAutoCloseConnection = true,//是否自动关闭
                    MoreSettings = new ConnMoreSettings()
                    {
@@ -54,7 +54,8 @@
                    {
                        OnLogExecuting = (sql, p) =>
                        {
                            LogHelper.Debug(sql);
                            // var sqlString = UtilMethods.GetNativeSql(sql, p);
                            //LogHelper.Debug(sqlString);
                            // Console.WriteLine(sql);
                        }
                    }
@@ -62,29 +63,125 @@
            }
        }
        /// <summary>
        /// ç¼“存保持时间 ï¼ˆåˆ†é’Ÿï¼‰
        /// SQLite连接配置
        /// </summary>
        public static int CacheKeepTime
        internal static ConnectionConfig SQLiteConnectionConfig
        {
            get
            {
                return MemoryCacheParasHelper.MemoryCache.KeepTime;
                //SnowFlakeSingle.WorkId = Settings.SqlSugar.SnowFlakeWorkId; ä¸åŒæœºå™¨é…ç½®çš„唯一数字; // å•服务器不需要指定
                return new ConnectionConfig()
                {
                    DbType = SqlSugar.DbType.Sqlite,//数据库类型
                    ConnectionString = RunParasHelper.Run.DataBase.SQLite.ConnectString,
                    IsAutoCloseConnection = true,//是否自动关闭
                    MoreSettings = new ConnMoreSettings()
                    {
                        //PgSqlIsAutoToLower = false //数据库存在大写字段的 ï¼Œéœ€è¦æŠŠè¿™ä¸ªè®¾ä¸ºfalse ï¼Œå¹¶ä¸”实体和字段名称要一样
                    },
                    AopEvents = new AopEvents
                    {
                        OnLogExecuting = (sql, p) =>
                        {
                            // var sqlString = UtilMethods.GetNativeSql(sql, p);
                            //LogHelper.Debug(sqlString);
                            // Console.WriteLine(sql);
                        }
                    }
                };
            }
        }
        /// <summary>
        /// ç¼“存随机时间 ï¼ˆç§’)
        /// é»˜è®¤è®°å½•连接配置
        /// </summary>
        public static int CacheRandomTime
        internal static ConnectionConfig DefaultRecordConnectionConfig
        {
            get
            {
                return RandomHelper.Random(0, MemoryCacheParasHelper.MemoryCache.RandomTime);
                //SnowFlakeSingle.WorkId = Settings.SqlSugar.SnowFlakeWorkId; ä¸åŒæœºå™¨é…ç½®çš„唯一数字; // å•服务器不需要指定
                return new ConnectionConfig()
                {
                    DbType = SqlSugar.DbType.PostgreSQL,//数据库类型
                    ConnectionString = RunParasHelper.Run.DataBase.PostgreSql.RecordConnectString,
                    IsAutoCloseConnection = true,//是否自动关闭
                    MoreSettings = new ConnMoreSettings()
                    {
                        //PgSqlIsAutoToLower = false //数据库存在大写字段的 ï¼Œéœ€è¦æŠŠè¿™ä¸ªè®¾ä¸ºfalse ï¼Œå¹¶ä¸”实体和字段名称要一样
                    },
                    AopEvents = new AopEvents
                    {
                        OnLogExecuting = (sql, p) =>
                        {
                            //var sqlString = UtilMethods.GetNativeSql(sql, p);
                            // LogHelper.Debug(sqlString);
                            // Console.WriteLine(sql);
                        }
                    }
                };
            }
        }
        /// <summary>
        /// PostgreSql记录连接配置
        /// </summary>
        internal static ConnectionConfig PostgreSqlRecordConnectionConfig
        {
            get
            {
                //SnowFlakeSingle.WorkId = Settings.SqlSugar.SnowFlakeWorkId; ä¸åŒæœºå™¨é…ç½®çš„唯一数字; // å•服务器不需要指定
                return new ConnectionConfig()
                {
                    DbType = SqlSugar.DbType.PostgreSQL,//数据库类型
                    ConnectionString = RunParasHelper.Run.DataBase.PostgreSql.RecordConnectString,
                    IsAutoCloseConnection = true,//是否自动关闭
                    MoreSettings = new ConnMoreSettings()
                    {
                        //PgSqlIsAutoToLower = false //数据库存在大写字段的 ï¼Œéœ€è¦æŠŠè¿™ä¸ªè®¾ä¸ºfalse ï¼Œå¹¶ä¸”实体和字段名称要一样
                    },
                    AopEvents = new AopEvents
                    {
                        OnLogExecuting = (sql, p) =>
                        {
                            //var sqlString = UtilMethods.GetNativeSql(sql, p);
                            // LogHelper.Debug(sqlString);
                            // Console.WriteLine(sql);
                        }
                    }
                };
            }
        }
        /// <summary>
        /// SQLite记录连接配置
        /// </summary>
        internal static ConnectionConfig SQLiteRecordConnectionConfig
        {
            get
            {
                //SnowFlakeSingle.WorkId = Settings.SqlSugar.SnowFlakeWorkId; ä¸åŒæœºå™¨é…ç½®çš„唯一数字; // å•服务器不需要指定
                return new ConnectionConfig()
                {
                    DbType = SqlSugar.DbType.Sqlite,//数据库类型
                    ConnectionString = RunParasHelper.Run.DataBase.SQLite.RecordConnectString,
                    IsAutoCloseConnection = true,//是否自动关闭
                    MoreSettings = new ConnMoreSettings()
                    {
                        //PgSqlIsAutoToLower = false //数据库存在大写字段的 ï¼Œéœ€è¦æŠŠè¿™ä¸ªè®¾ä¸ºfalse ï¼Œå¹¶ä¸”实体和字段名称要一样
                    },
                    AopEvents = new AopEvents
                    {
                        OnLogExecuting = (sql, p) =>
                        {
                            //var sqlString = UtilMethods.GetNativeSql(sql, p);
                            // LogHelper.Debug(sqlString);
                            // Console.WriteLine(sql);
                        }
                    }
                };
            }
        }
Yw.Service.Run.Core/03-settings/paras/Paras_Run.cs
@@ -12,9 +12,19 @@
        public Paras_Run_DataBase DataBase { get; set; }
        /// <summary>
        /// Redis ç¼“å­˜
        ///  æœ€è¿‘缓存
        /// </summary>
        public Paras_Run_RedisCache RedisCache { get; set; }
        public Paras_Run_LCache LCache { get; set; }
        /// <summary>
        /// é€šé“
        /// </summary>
        public Paras_Run_Queue Queue { get; set; }
        /// <summary>
        /// äº¤æ¢æœº
        /// </summary>
        public Paras_Run_Exchange Exchange { get; set; }
        /// <summary>
        /// è¿è¡Œ
Yw.Service.Run.Core/03-settings/paras/Paras_Run_DataBase.cs
@@ -6,14 +6,24 @@
    public class Paras_Run_DataBase
    {
        /// <summary>
        /// è¿žæŽ¥å­—符串
        /// æ•°æ®åº“类型
        /// </summary>
        public string ConnectString { get; set; }
        public string DbType { get; set; }
        /// <summary>
        /// è®°å½•连接字符串
        /// å·¥åŽ‚
        /// </summary>
        public string RecordConnectString { get; set; }
        public Paras_Run_DataBase_Factory Factory { get; set; }
        /// <summary>
        /// PostgreSql
        /// </summary>
        public Paras_Run_DataBase_PostgreSql PostgreSql { get; set; }
        /// <summary>
        /// SQLite
        /// </summary>
        public Paras_Run_DataBase_SQLite SQLite { get; set; }
    }
Yw.Service.Run.Core/03-settings/paras/Paras_Run_DataBase_Factory.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
namespace Yw.Settings
{
    /// <summary>
    ///
    /// </summary>
    public class Paras_Run_DataBase_Factory
    {
        /// <summary>
        /// æ˜¯å¦å¼€å¯ç¼“å­˜
        /// </summary>
        public bool EnableCache { get; set; }
        /// <summary>
        /// ç¼“存时间(秒)
        /// </summary>
        public int CacheTime { get; set; }
    }
}
Yw.Service.Run.Core/03-settings/paras/Paras_Run_DataBase_PostgreSql.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
namespace Yw.Settings
{
    /// <summary>
    ///
    /// </summary>
    public class Paras_Run_DataBase_PostgreSql
    {
        /// <summary>
        /// è¿žæŽ¥å­—符串
        /// </summary>
        public string ConnectString { get; set; }
        /// <summary>
        /// è®°å½•连接字符串
        /// </summary>
        public string RecordConnectString { get; set; }
    }
}
Yw.Service.Run.Core/03-settings/paras/Paras_Run_DataBase_SQLite.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
namespace Yw.Settings
{
    /// <summary>
    ///
    /// </summary>
    public class Paras_Run_DataBase_SQLite
    {
        /// <summary>
        /// è¿žæŽ¥å­—符串
        /// </summary>
        public string ConnectString { get; set; }
        /// <summary>
        /// è®°å½•连接字符串
        /// </summary>
        public string RecordConnectString { get; set; }
    }
}
Yw.Service.Run.Core/03-settings/paras/Paras_Run_Exchange.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
namespace Yw.Settings
{
    /// <summary>
    ///
    /// </summary>
    public class Paras_Run_Exchange
    {
        /// <summary>
        /// é€šé“类型 RabbitMq  Memory
        /// </summary>
        public string ExchangeType { get; set; }
        /// <summary>
        /// å·¥åŽ‚
        /// </summary>
        public Paras_Run_Exchange_Factory Factory { get; set; }
    }
}
Yw.Service.Run.Core/03-settings/paras/Paras_Run_Exchange_Factory.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
namespace Yw.Settings
{
    /// <summary>
    ///
    /// </summary>
    public class Paras_Run_Exchange_Factory
    {
        /// <summary>
        /// æ˜¯å¦å¼€å¯ç¼“å­˜
        /// </summary>
        public bool EnableCache { get; set; }
        /// <summary>
        /// ç¼“存时间(秒)
        /// </summary>
        public int CacheTime { get; set; }
    }
}
Yw.Service.Run.Core/03-settings/paras/Paras_Run_LCache.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
namespace Yw.Settings
{
    /// <summary>
    ///
    /// </summary>
    public class Paras_Run_LCache
    {
        /// <summary>
        /// å‰ç¼€
        /// </summary>
        public string Prefix { get; set; }
        /// <summary>
        /// ç¼“存类型 Redis Medis(内存)
        /// </summary>
        public string LCacheType { get; set; }
        /// <summary>
        /// å·¥åŽ‚
        /// </summary>
        public Paras_Run_LCache_Factory Factory { get; set; }
    }
}
Yw.Service.Run.Core/03-settings/paras/Paras_Run_LCache_Factory.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
namespace Yw.Settings
{
    /// <summary>
    ///
    /// </summary>
    public class Paras_Run_LCache_Factory
    {
        /// <summary>
        /// æ˜¯å¦å¼€å¯ç¼“å­˜
        /// </summary>
        public bool EnableCache { get; set; }
        /// <summary>
        /// ç¼“存时间(秒)
        /// </summary>
        public int CacheTime { get; set; }
    }
}
Yw.Service.Run.Core/03-settings/paras/Paras_Run_Queue.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
namespace Yw.Settings
{
    /// <summary>
    ///
    /// </summary>
    public class Paras_Run_Queue
    {
        /// <summary>
        /// é€šé“类型 RabbitMq  Memory
        /// </summary>
        public string QueueType { get; set; }
        /// <summary>
        /// å·¥åŽ‚
        /// </summary>
        public Paras_Run_Queue_Factory Factory { get; set; }
    }
}
Yw.Service.Run.Core/03-settings/paras/Paras_Run_Queue_Factory.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
namespace Yw.Settings
{
    /// <summary>
    ///
    /// </summary>
    public class Paras_Run_Queue_Factory
    {
        /// <summary>
        /// æ˜¯å¦å¼€å¯ç¼“å­˜
        /// </summary>
        public bool EnableCache { get; set; }
        /// <summary>
        /// ç¼“存时间(秒)
        /// </summary>
        public int CacheTime { get; set; }
    }
}
Yw.Service.Run.Core/03-settings/paras/Paras_Run_RedisCache.cs
ÎļþÒÑɾ³ý
Yw.Service.Run.Core/04-dal/01-interface/IRunAnalyConfigure.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
namespace Yw.DAL
{
    /// <summary>
    /// è¿è¡Œåˆ†æžé…ç½®
    /// </summary>
    public interface IRunAnalyConfigure : IBaseDAL<Entity.RunAnalyConfigure>
    {
        /// <summary>
        /// è®¾ç½®
        /// </summary>
        bool Set(List<Entity.RunAnalyConfigure> entityList);
    }
}
Yw.Service.Run.Core/04-dal/01-interface/IRunRealRecord.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,112 @@
namespace Yw.DAL
{
    /// <summary>
    /// è¿è¡Œå®žæ—¶è®°å½•
    /// </summary>
    public interface IRunRealRecord
    {
        #region å¸¸è§„获取
        /// <summary>
        /// èŽ·å–æœ€è¿‘å‡ æ¡åˆ—è¡¨
        /// </summary>
        List<Entity.RunRealRecord> GetLastList(DateTime? StartTime, DateTime? EndTime, int Number = 1, bool? Run = null);
        /// <summary>
        /// èŽ·å–æŸæ—¥çš„æœ€è¿‘å‡ æ¡æ•°æ®
        /// </summary>
        List<Entity.RunRealRecord> GetLastListByDay(DateTime Day, int Number = 1, bool? Run = null);
        /// <summary>
        /// èŽ·å–æ—¥æœŸåŒºé—´çš„æœ€è¿‘å‡ æ¡æ•°æ®
        /// </summary>
        List<Entity.RunRealRecord> GetLastListByDayRange(DateTime StartDay, DateTime EndDay, int Number = 1, bool? Run = null);
        /// <summary>
        /// èŽ·å–æ—¶é—´åŒºé—´çš„æœ€è¿‘å‡ æ¡æ•°æ®
        /// </summary>
        List<Entity.RunRealRecord> GetLastListByTimeRange(DateTime StartTime, DateTime EndTime, int Number = 1, bool? Run = null);
        /// <summary>
        /// èŽ·å–
        /// </summary>
        List<Entity.RunRealRecord> Get(DateTime? StartTime, DateTime? EndTime, bool? Run = null);
        /// <summary>
        /// èŽ·å–æŸæ—¥çš„æ•°æ®
        /// </summary>
        List<Entity.RunRealRecord> GetByDay(DateTime Day, bool? Run = null);
        /// <summary>
        /// èŽ·å–æ—¥æœŸåŒºé—´å†…çš„æ•°æ®
        /// </summary>
        List<Entity.RunRealRecord> GetByDayRange(DateTime StartDay, DateTime EndDay, bool? Run = null);
        /// <summary>
        /// èŽ·å–æ—¶é—´åŒºé—´çš„æ•°æ®
        /// </summary>
        List<Entity.RunRealRecord> GetByTimeRange(DateTime StartTime, DateTime EndTime, bool? Run = null);
        /// <summary>
        /// èŽ·å–åˆ†é¡µåˆ—è¡¨
        /// </summary>
        List<Entity.RunRealRecord> GetPageList(DateTime? StartTime, DateTime? EndTime, bool? Run, int PageIndex, int PageSize, ref int Total);
        #endregion
        #region é€šè¿‡ ObjectType å’Œ ObjectID èŽ·å–
        /// <summary>
        /// é€šè¿‡ ObjectType å’Œ ObjectID èŽ·å–æœ€è¿‘å‡ æ¡è®°å½•
        /// </summary>
        List<Entity.RunRealRecord> GetLastListByObjectTypeAndObjectID(string ObjectType, long ObjectID, int Number = 1, bool? Run = null);
        /// <summary>
        /// é€šè¿‡ ObjectType å’Œ ObjectID èŽ·å–
        /// </summary>
        List<Entity.RunRealRecord> GetByObjectTypeAndObjectID(string ObjectType, long ObjectID, DateTime? StartTime, DateTime? EndTime, bool? Run = null);
        /// <summary>
        /// é€šè¿‡ ObjectType å’Œ ObjectID èŽ·å–æŸæ—¥çš„æ•°æ®
        /// </summary>
        List<Entity.RunRealRecord> GetByObjectTypeAndObjectIDOfDay(string ObjectType, long ObjectID, DateTime Day, bool? Run = null);
        /// <summary>
        /// é€šè¿‡ ObjectType å’Œ ObjectID èŽ·å–æ—¥æœŸåŒºé—´å†…çš„æ•°æ®
        /// </summary>
        List<Entity.RunRealRecord> GetByObjectTypeAndObjectIDOfDayRange(string ObjectType, long ObjectID, DateTime StartDay, DateTime EndDay, bool? Run = null);
        /// <summary>
        /// é€šè¿‡ ObjectType å’Œ ObjectID èŽ·å–æ—¶é—´åŒºé—´å†…çš„æ•°æ®
        /// </summary>
        List<Entity.RunRealRecord> GetByObjectTypeAndObjectIDOfTimeRange(string ObjectType, long ObjectID, DateTime StartTime, DateTime EndTime, bool? Run = null);
        /// <summary>
        /// é€šè¿‡ ObjectType å’Œ ObjectID èŽ·å–åˆ†é¡µåˆ—è¡¨
        /// </summary>
        List<Entity.RunRealRecord> GetPageListByObjectTypeAndObjectID(string ObjectType, long ObjectID, DateTime? StartTime, DateTime? EndTime, bool? Run, int PageIndex, int PageSize, ref int Total);
        #endregion
        #region InsertOrUpdate
        /// <summary>
        /// æ’å…¥
        /// </summary>
        bool InsertOrUpdate(Entity.RunRealRecord entity);
        /// <summary>
        /// æ‰¹é‡æ’å…¥
        /// </summary>
        bool InsertOrUpdate(List<Entity.RunRealRecord> list);
        #endregion
    }
}
Yw.Service.Run.Core/04-dal/02-postgresql/RunAnalyConfigure.cs
copy from Yw.Service.Run.Core/04-dal/RunAnalyConfigure.cs copy to Yw.Service.Run.Core/04-dal/02-postgresql/RunAnalyConfigure.cs
Îļþ´Ó Yw.Service.Run.Core/04-dal/RunAnalyConfigure.cs ¸´ÖÆ
@@ -1,16 +1,16 @@
namespace Yw.DAL
namespace Yw.DAL.PostgreSql
{
    /// <summary>
    /// è¿è¡Œåˆ†æžé…ç½®
    /// </summary>
    public partial class RunAnalyConfigure : BaseDAL<Entity.RunAnalyConfigure>
    public partial class RunAnalyConfigure : BaseDAL<Entity.RunAnalyConfigure>, IRunAnalyConfigure
    {
        /// <summary>
        /// 
        /// </summary>
        public override ConnectionConfig ConnectionConfig
        {
            get { return ConfigHelper.DefaultConnectionConfig; }
            get { return ConfigHelper.PostgreSqlConnectionConfig; }
        }
        /// <summary>
Yw.Service.Run.Core/04-dal/02-postgresql/RunRealRecord.cs
copy from Yw.Service.Run.Core/04-dal/RunRealRecord.cs copy to Yw.Service.Run.Core/04-dal/02-postgresql/RunRealRecord.cs
Îļþ´Ó Yw.Service.Run.Core/04-dal/RunRealRecord.cs ¸´ÖÆ
@@ -1,16 +1,16 @@
namespace Yw.DAL
namespace Yw.DAL.PostgreSql
{
    /// <summary>
    /// è¿è¡Œå®žæ—¶è®°å½•
    /// </summary>
    public class RunRealRecord
    public class RunRealRecord : IRunRealRecord
    {
        /// <summary>
        /// 
        /// </summary>
        public ConnectionConfig ConnectionConfig
        {
            get { return ConfigHelper.RecordConnectionConfig; }
            get { return ConfigHelper.PostgreSqlRecordConnectionConfig; }
        }
        #region å¸¸è§„获取
Yw.Service.Run.Core/04-dal/03-sqlite/RunAnalyConfigure.cs
ÎļþÃû´Ó Yw.Service.Run.Core/04-dal/RunAnalyConfigure.cs ÐÞ¸Ä
@@ -1,16 +1,16 @@
namespace Yw.DAL
namespace Yw.DAL.SQLite
{
    /// <summary>
    /// è¿è¡Œåˆ†æžé…ç½®
    /// </summary>
    public partial class RunAnalyConfigure : BaseDAL<Entity.RunAnalyConfigure>
    public partial class RunAnalyConfigure : BaseDAL<Entity.RunAnalyConfigure>, IRunAnalyConfigure
    {
        /// <summary>
        /// 
        /// </summary>
        public override ConnectionConfig ConnectionConfig
        {
            get { return ConfigHelper.DefaultConnectionConfig; }
            get { return ConfigHelper.SQLiteConnectionConfig; }
        }
        /// <summary>
Yw.Service.Run.Core/04-dal/03-sqlite/RunRealRecord.cs
ÎļþÃû´Ó Yw.Service.Run.Core/04-dal/RunRealRecord.cs ÐÞ¸Ä
@@ -1,16 +1,16 @@
namespace Yw.DAL
namespace Yw.DAL.SQLite
{
    /// <summary>
    /// è¿è¡Œå®žæ—¶è®°å½•
    /// </summary>
    public class RunRealRecord
    public class RunRealRecord : IRunRealRecord
    {
        /// <summary>
        /// 
        /// </summary>
        public ConnectionConfig ConnectionConfig
        {
            get { return ConfigHelper.RecordConnectionConfig; }
            get { return ConfigHelper.SQLiteRecordConnectionConfig; }
        }
        #region å¸¸è§„获取
Yw.Service.Run.Core/05-cache/0-helper/RedisKeyHelper.cs
ÎļþÒÑɾ³ý
Yw.Service.Run.Core/05-lcache/00-helper/CacheKeyHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
namespace Yw.LCache
{
    internal class CacheKeyHelper
    {
        /// <summary>
        /// ç”Ÿæˆ Key
        /// </summary>
        public static string CreateKey(string flag)
        {
            return $"{RunParasHelper.Run.LCache.Prefix}:{flag}";
        }
    }
}
Yw.Service.Run.Core/05-lcache/01-interface/IRunRealLastRecordCacheHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,53 @@
namespace Yw.LCache
{
    /// <summary>
    ///
    /// </summary>
    public interface IRunRealLastRecordCacheHelper
    {
        /// <summary>
        /// è®¾ç½®æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        bool SetLastRecord(Model.RunRealRecord record);
        /// <summary>
        /// è®¾ç½®æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        bool SetLastRecord(List<Model.RunRealRecord> list);
        /// <summary>
        /// èŽ·å–æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        List<Model.RunRealRecord> GetLastRecord();
        /// <summary>
        /// èŽ·å–æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        List<Model.RunRealRecord> GetLastRecord(string ObjectType);
        /// <summary>
        /// èŽ·å–æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        List<Model.RunRealRecord> GetLastRecord(long ObjectID);
        /// <summary>
        /// èŽ·å–æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        Model.RunRealRecord GetLastRecord(string ObjectType, long ObjectID);
        /// <summary>
        /// èŽ·å–æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        List<Model.RunRealRecord> GetLastRecord(string ObjectType, IEnumerable<long> ObjectIds);
        /// <summary>
        /// èŽ·å–æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        List<Model.RunRealRecord> GetLastRecord(List<(string, long)> list);
    }
}
Yw.Service.Run.Core/05-lcache/02-redis/RunRealLastRecordCacheHelper.cs
ÎļþÃû´Ó Yw.Service.Run.Core/05-cache/1-run-real-last-record/RunRealLastRecordCacheHelper.cs ÐÞ¸Ä
@@ -1,9 +1,9 @@
namespace Yw.RedisCache
namespace Yw.LCache.Redis
{
    /// <summary>
    /// 
    /// </summary>
    public class RunRealLastRecordCacheHelper
    public class RunRealLastRecordCacheHelper : IRunRealLastRecordCacheHelper
    {
        //Redis客户端辅助类对象
@@ -12,7 +12,7 @@
        //生成 HashKey
        private static string CreateHashKey()
        {
            return RedisKeyHelper.CreateKey(_flag);
            return CacheKeyHelper.CreateKey(_flag);
        }
        private const string _flag = "run-real-last-record";
@@ -88,7 +88,7 @@
        {
            var hashKey = CreateHashKey();
            var hashField = CreateHashField(ObjectType);
            return _redisClient.HashGetJsonStartWith<Model.RunRealRecord>(hashKey, hashField);
            return _redisClient.HashGetJsonStartsWith<Model.RunRealRecord>(hashKey, hashField);
        }
        /// <summary>
@@ -98,7 +98,7 @@
        {
            var hashKey = CreateHashKey();
            var hashField = CreateHashField(ObjectID);
            return _redisClient.HashGetJsonEndWith<Model.RunRealRecord>(hashKey, hashField);
            return _redisClient.HashGetJsonEndsWith<Model.RunRealRecord>(hashKey, hashField);
        }
        /// <summary>
Yw.Service.Run.Core/05-lcache/03-medis/RunRealLastRecordCacheHelper.cs
copy from Yw.Service.Run.Core/05-cache/1-run-real-last-record/RunRealLastRecordCacheHelper.cs copy to Yw.Service.Run.Core/05-lcache/03-medis/RunRealLastRecordCacheHelper.cs
Îļþ´Ó Yw.Service.Run.Core/05-cache/1-run-real-last-record/RunRealLastRecordCacheHelper.cs ¸´ÖÆ
@@ -1,18 +1,18 @@
namespace Yw.RedisCache
namespace Yw.LCache.Medis
{
    /// <summary>
    /// 
    /// </summary>
    public class RunRealLastRecordCacheHelper
    public class RunRealLastRecordCacheHelper : IRunRealLastRecordCacheHelper
    {
        //Redis客户端辅助类对象
        private readonly RedisClientHelper _redisClient = new();
        private readonly MedisCacheHelper _medisHelper = new();
        //生成 HashKey
        private static string CreateHashKey()
        {
            return RedisKeyHelper.CreateKey(_flag);
            return CacheKeyHelper.CreateKey(_flag);
        }
        private const string _flag = "run-real-last-record";
@@ -48,7 +48,7 @@
            }
            var hashKey = CreateHashKey();
            var hashField = CreateHashField(record.ObjectType, record.ObjectID);
            _redisClient.HashSetJosn(hashKey, hashField, record);
            _medisHelper.HashSet(hashKey, hashField, record);
            return true;
        }
@@ -78,7 +78,7 @@
        public List<Model.RunRealRecord> GetLastRecord()
        {
            var hashKey = CreateHashKey();
            return _redisClient.HashGetJsonAll<Model.RunRealRecord>(hashKey);
            return _medisHelper.HashValues<Model.RunRealRecord>(hashKey);
        }
        /// <summary>
@@ -88,7 +88,7 @@
        {
            var hashKey = CreateHashKey();
            var hashField = CreateHashField(ObjectType);
            return _redisClient.HashGetJsonStartWith<Model.RunRealRecord>(hashKey, hashField);
            return _medisHelper.HashGetStartsWith<Model.RunRealRecord>(hashKey, hashField);
        }
        /// <summary>
@@ -98,7 +98,7 @@
        {
            var hashKey = CreateHashKey();
            var hashField = CreateHashField(ObjectID);
            return _redisClient.HashGetJsonEndWith<Model.RunRealRecord>(hashKey, hashField);
            return _medisHelper.HashGetEndsWith<Model.RunRealRecord>(hashKey, hashField);
        }
        /// <summary>
@@ -108,7 +108,7 @@
        {
            var hashKey = CreateHashKey();
            var hashField = CreateHashField(ObjectType, ObjectID);
            return _redisClient.HashGetJson<Model.RunRealRecord>(hashKey, hashField);
            return _medisHelper.HashGet<Model.RunRealRecord>(hashKey, hashField);
        }
        /// <summary>
Yw.Service.Run.Core/06-exchange/00-helper/RunExchangeNameHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
namespace Yw.Exchange
{
    /// <summary>
    /// è¿è¡Œäº¤æ¢æœºè¾…助类
    /// </summary>
    internal class RunExchangeNameHelper
    {
        /// <summary>
        /// èŽ·å–äº¤æ¢æœºåç§°
        /// </summary>
        public static string GetExchangeName()
        {
            return Settings.RunParasHelper.Run.Run.ExchangeName;
        }
    }
}
Yw.Service.Run.Core/06-exchange/01-interface/IRunRealRecordExchangeHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
namespace Yw.Exchange
{
    /// <summary>
    ///
    /// </summary>
    public interface IRunRealRecordExchangeHelper
    {
        /// <summary>
        /// æŽ¨é€
        /// </summary>
        bool Push(List<Yw.Model.RunRealRecord> list);
        /// <summary>
        /// æŽ¥æ”¶
        /// </summary>
        bool Receive(Func<List<Yw.Model.RunRealRecord>, bool> func);
        /// <summary>
        /// å…³é—­
        /// </summary>
        void Close();
    }
}
Yw.Service.Run.Core/06-exchange/02-rabbitmq/RunRealRecordExchangeHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
namespace Yw.Exchange.RabbitMq
{
    /// <summary>
    ///
    /// </summary>
    public class RunRealRecordExchangeHelper : IRunRealRecordExchangeHelper
    {
        private readonly Yw.RabbitMqExChangeHelper _helper = new();
        /// <summary>
        /// æŽ¨é€
        /// </summary>
        public bool Push(List<Yw.Model.RunRealRecord> list)
        {
            if (list == null || !list.Any())
            {
                return false;
            }
            var exchangeName = RunExchangeNameHelper.GetExchangeName();
            return _helper.Push(exchangeName, list);
        }
        /// <summary>
        /// æŽ¥æ”¶
        /// </summary>
        public bool Receive(Func<List<Yw.Model.RunRealRecord>, bool> func)
        {
            if (func == null)
            {
                return false;
            }
            var exchangeName = RunExchangeNameHelper.GetExchangeName();
            return _helper.Receive(exchangeName, func);
        }
        /// <summary>
        /// å…³é—­
        /// </summary>
        public void Close()
        {
            _helper.Close();
        }
    }
}
Yw.Service.Run.Core/06-exchange/03-memory/RunRealRecordExchangeHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
namespace Yw.Exchange.Memory
{
    /// <summary>
    ///
    /// </summary>
    public class RunRealRecordExchangeHelper : IRunRealRecordExchangeHelper
    {
        private readonly Yw.MemoryExChangeHelper _helper = new();
        /// <summary>
        /// æŽ¨é€
        /// </summary>
        public bool Push(List<Yw.Model.RunRealRecord> list)
        {
            if (list == null || !list.Any())
            {
                return false;
            }
            var exchangeName = RunExchangeNameHelper.GetExchangeName();
            return _helper.Push(exchangeName, list);
        }
        /// <summary>
        /// æŽ¥æ”¶
        /// </summary>
        public bool Receive(Func<List<Yw.Model.RunRealRecord>, bool> func)
        {
            if (func == null)
            {
                return false;
            }
            var exchangeName = RunExchangeNameHelper.GetExchangeName();
            return _helper.Receive(exchangeName, func);
        }
        /// <summary>
        /// å…³é—­
        /// </summary>
        public void Close()
        {
            _helper.Close();
        }
    }
}
Yw.Service.Run.Core/07-service/00-helper/01-create/DALCreateHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
namespace Yw.Service.Run
{
    /// <summary>
    /// DAL辅助类
    /// </summary>
    internal class DALCreateHelper
    {
        /// <summary>
        /// åˆ›å»ºDAL
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static T CreateDAL<T>()
        {
            var dbType = Settings.RunParasHelper.Run.DataBase.DbType;
            var enableCache = Settings.RunParasHelper.Run.DataBase.Factory.EnableCache;
            var cacheTime = Settings.RunParasHelper.Run.DataBase.Factory.CacheTime;
            return Yw.DALFactory.CreateDAL<T>(dbType, enableCache, cacheTime);
        }
    }
}
Yw.Service.Run.Core/07-service/00-helper/01-create/ExchangeCreateHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
namespace Yw.Service.Run
{
    /// <summary>
    /// Exchange辅助类
    /// </summary>
    internal class ExchangeCreateHelper
    {
        /// <summary>
        /// åˆ›å»ºExchange
        /// </summary>
        public static T CreateExchange<T>()
        {
            var exchangeType = Settings.RunParasHelper.Run.Exchange.ExchangeType;
            var enableCache = Settings.RunParasHelper.Run.Exchange.Factory.EnableCache;
            var cacheTime = Settings.RunParasHelper.Run.Exchange.Factory.CacheTime;
            return Yw.ExchangeFactory.CreateExchange<T>(exchangeType, enableCache, cacheTime);
        }
    }
}
Yw.Service.Run.Core/07-service/00-helper/01-create/LCacheCreateHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
namespace Yw.Service.Run
{
    /// <summary>
    /// LCache辅助类
    /// </summary>
    internal class LCacheCreateHelper
    {
        /// <summary>
        /// åˆ›å»ºLCache
        /// </summary>
        public static T CreateLCache<T>()
        {
            var cacheType = Settings.RunParasHelper.Run.LCache.LCacheType;
            var enableCache = Settings.RunParasHelper.Run.LCache.Factory.EnableCache;
            var cacheTime = Settings.RunParasHelper.Run.LCache.Factory.CacheTime;
            return Yw.LCacheFactory.CreateLCache<T>(cacheType, enableCache, cacheTime);
        }
    }
}
Yw.Service.Run.Core/07-service/00-helper/01-create/QueueCreateHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
namespace Yw.Service.Run
{
    /// <summary>
    /// Queue辅助类
    /// </summary>
    internal class QueueCreateHelper
    {
        /// <summary>
        /// åˆ›å»ºQueue
        /// </summary>
        public static T CreateQueue<T>()
        {
            var queueType = Settings.RunParasHelper.Run.Queue.QueueType;
            var enableCache = Settings.RunParasHelper.Run.Queue.Factory.EnableCache;
            var cacheTime = Settings.RunParasHelper.Run.Queue.Factory.CacheTime;
            return Yw.QueueFactory.CreateQueue<T>(queueType, enableCache, cacheTime);
        }
    }
}
Yw.Service.Run.Core/07-service/00-helper/02-cache/CacheHelper.cs
Yw.Service.Run.Core/07-service/00-helper/03-extensions/Extensions.cs
Yw.Service.Run.Core/07-service/01-configure/Cache/RunAnalyConfigureCacheHelper.cs
Yw.Service.Run.Core/07-service/01-configure/RunAnalyConfigure.cs
ÎļþÃû´Ó Yw.Service.Run.Core/06-service/1-configure/RunAnalyConfigure.cs ÐÞ¸Ä
@@ -12,7 +12,7 @@
        {
            var all = RunAnalyConfigureCacheHelper.GetSet(() =>
            {
                var dal = new DAL.RunAnalyConfigure();
                var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunAnalyConfigure>();
                var entity_list = dal.GetAll();
                var model_list = Entity2Models(entity_list);
                if (model_list == null)
@@ -27,7 +27,7 @@
        //通过 ID æ›´æ–°ç¼“å­˜
        private static void UpdateCache(long ID)
        {
            var dal = new DAL.RunAnalyConfigure();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunAnalyConfigure>();
            var entity_ds = dal.GetByID(ID);
            var model_ds = Entity2Model(entity_ds);
            var all = GetCache();
@@ -48,7 +48,7 @@
        {
            if (Ids == null || Ids.Count < 1)
                return;
            var dal = new DAL.RunAnalyConfigure();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunAnalyConfigure>();
            var entity_list = dal.GetByIds(Ids);
            var model_list = Entity2Models(entity_list);
            var all = GetCache();
@@ -138,7 +138,7 @@
            {
                return default;
            }
            var dal = new DAL.RunAnalyConfigure();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunAnalyConfigure>();
            var entity = Model2Entity(model);
            var id = dal.Insert(entity);
            if (id > 0)
@@ -157,7 +157,7 @@
            {
                return default;
            }
            var dal = new DAL.RunAnalyConfigure();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunAnalyConfigure>();
            var entity_list = Model2Entities(list);
            var ids = dal.InsertsR(entity_list);
            if (ids != null && ids.Count > 0)
@@ -185,7 +185,7 @@
            {
                return default;
            }
            var dal = new DAL.RunAnalyConfigure();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunAnalyConfigure>();
            var entity = Model2Entity(model);
            var bol = dal.Update(entity);
            if (bol)
@@ -208,7 +208,7 @@
            {
                return default;
            }
            var dal = new DAL.RunAnalyConfigure();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunAnalyConfigure>();
            var entity_list = Model2Entities(list.ToList());
            var bol = dal.Updates(entity_list);
            if (bol)
@@ -241,7 +241,7 @@
        public bool DeleteByID(long ID, out string Msg)
        {
            Msg = string.Empty;
            var dal = new DAL.RunAnalyConfigure();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunAnalyConfigure>();
            var bol = dal.DeleteByID(ID);
            if (bol)
            {
@@ -260,7 +260,7 @@
        public bool Set(List<Model.RunAnalyConfigure> list)
        {
            var entityList = Model2Entities(list);
            var dal = new DAL.RunAnalyConfigure();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunAnalyConfigure>();
            var bol = dal.Set(entityList);
            if (bol)
            {
Yw.Service.Run.Core/07-service/01-configure/RunAnalyConfigure_Instance.cs
Yw.Service.Run.Core/07-service/02-record/RunRealRecord.cs
ÎļþÃû´Ó Yw.Service.Run.Core/06-service/2-record/RunRealRecord.cs ÐÞ¸Ä
@@ -12,8 +12,8 @@
        /// </summary>
        public Model.RunRealRecord GetLastRecord(string ObjectType, long ObjectID)
        {
            var redisCache = new RedisCache.RunRealLastRecordCacheHelper();
            return redisCache.GetLastRecord(ObjectType, ObjectID);
            var lcacheHelper = LCacheCreateHelper.CreateLCache<Yw.LCache.IRunRealLastRecordCacheHelper>();
            return lcacheHelper.GetLastRecord(ObjectType, ObjectID);
        }
        /// <summary>
@@ -25,8 +25,8 @@
            {
                return default;
            }
            var redisCache = new RedisCache.RunRealLastRecordCacheHelper();
            return redisCache.GetLastRecord(ObjectType, ObjectIds);
            var lcacheHelper = LCacheCreateHelper.CreateLCache<Yw.LCache.IRunRealLastRecordCacheHelper>();
            return lcacheHelper.GetLastRecord(ObjectType, ObjectIds);
        }
        /// <summary>
@@ -38,8 +38,8 @@
            {
                return default;
            }
            var redisCache = new RedisCache.RunRealLastRecordCacheHelper();
            return redisCache.GetLastRecord(list);
            var lcacheHelper = LCacheCreateHelper.CreateLCache<Yw.LCache.IRunRealLastRecordCacheHelper>();
            return lcacheHelper.GetLastRecord(list);
        }
        #endregion
@@ -64,7 +64,7 @@
            {
                Number = 1;
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.GetLastList(StartTime, EndTime, Number, Run);
            return Entity2Models(entityList);
        }
@@ -78,7 +78,7 @@
            {
                Number = 1;
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.GetLastListByDay(Day, Number, Run);
            return Entity2Models(entityList);
        }
@@ -96,7 +96,7 @@
            {
                Number = 1;
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.GetLastListByDayRange(StartDay, EndDay, Number, Run);
            return Entity2Models(entityList);
        }
@@ -114,7 +114,7 @@
            {
                Number = 1;
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.GetLastListByTimeRange(StartTime, EndTime, Number, Run);
            return Entity2Models(entityList);
        }
@@ -131,7 +131,7 @@
                    return default;
                }
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.Get(StartTime, EndTime, Run);
            return Entity2Models(entityList);
        }
@@ -141,7 +141,7 @@
        /// </summary>
        public List<Model.RunRealRecord> GetByDay(DateTime Day, bool? Run = null)
        {
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.GetByDay(Day, Run);
            return Entity2Models(entityList);
        }
@@ -156,7 +156,7 @@
                return default;
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.GetByDayRange(StartDay, EndDay, Run);
            return Entity2Models(entityList);
        }
@@ -170,7 +170,7 @@
            {
                return default;
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.GetByTimeRange(StartTime, EndTime, Run);
            return Entity2Models(entityList);
        }
@@ -187,7 +187,7 @@
                    return default;
                }
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.GetPageList(StartTime, EndTime, Run, PageIndex, PageSize, ref Total);
            return Entity2Models(entityList);
        }
@@ -205,7 +205,7 @@
            {
                Number = 1;
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.GetLastListByObjectTypeAndObjectID(ObjectType, ObjectID, Number, Run);
            return Entity2Models(entityList);
        }
@@ -222,7 +222,7 @@
                    return default;
                }
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.GetByObjectTypeAndObjectID(ObjectType, ObjectID, StartTime, EndTime, Run);
            return Entity2Models(entityList);
        }
@@ -232,7 +232,7 @@
        /// </summary>
        public List<Model.RunRealRecord> GetByObjectTypeAndObjectIDOfDay(string ObjectType, long ObjectID, DateTime Day, bool? Run = null)
        {
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.GetByObjectTypeAndObjectIDOfDay(ObjectType, ObjectID, Day, Run);
            return Entity2Models(entityList);
        }
@@ -246,7 +246,7 @@
            {
                return default;
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.GetByObjectTypeAndObjectIDOfDayRange(ObjectType, ObjectID, StartDay, EndDay, Run);
            return Entity2Models(entityList);
        }
@@ -260,7 +260,7 @@
            {
                return default;
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.GetByObjectTypeAndObjectIDOfTimeRange(ObjectType, ObjectID, StartTime, EndTime, Run);
            return Entity2Models(entityList);
        }
@@ -277,7 +277,7 @@
                    return default;
                }
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entityList = dal.GetPageListByObjectTypeAndObjectID(ObjectType, ObjectID, StartTime, EndTime, Run, PageIndex, PageSize, ref Total);
            return Entity2Models(entityList);
        }
@@ -299,7 +299,7 @@
            {
                return default;
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entity = Model2Entity(model);
            return dal.InsertOrUpdate(entity);
        }
@@ -313,7 +313,7 @@
            {
                return default;
            }
            var dal = new DAL.RunRealRecord();
            var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
            var entity_list = Model2Entities(list);
            return dal.InsertOrUpdate(entity_list);
        }
@@ -330,12 +330,12 @@
            var bol = Insert(record);
            if (bol)
            {
                var redisCache = new RedisCache.RunRealLastRecordCacheHelper();
                bol = redisCache.SetLastRecord(record);
                var lcacheHelper = LCacheCreateHelper.CreateLCache<Yw.LCache.IRunRealLastRecordCacheHelper>();
                bol = lcacheHelper.SetLastRecord(record);
                if (bol)
                {
                    var runQueueHelper = new RabbitMqExChangeHelper();
                    bol = runQueueHelper.Push(RunParasHelper.Run.Run.ExchangeName, new List<Model.RunRealRecord>() { record });
                    var exchangeHelper = ExchangeCreateHelper.CreateExchange<Yw.Exchange.IRunRealRecordExchangeHelper>();
                    bol = exchangeHelper.Push(new List<Model.RunRealRecord>() { record });
                }
                return bol;
            }
@@ -354,12 +354,12 @@
            var bol = Inserts(list);
            if (bol)
            {
                var redisCache = new RedisCache.RunRealLastRecordCacheHelper();
                bol = redisCache.SetLastRecord(list);
                var lcacheHelper = LCacheCreateHelper.CreateLCache<Yw.LCache.IRunRealLastRecordCacheHelper>();
                bol = lcacheHelper.SetLastRecord(list);
                if (bol)
                {
                    var runQueueHelper = new RabbitMqExChangeHelper();
                    bol = runQueueHelper.Push(RunParasHelper.Run.Run.ExchangeName, list);
                    var exchangeHelper = ExchangeCreateHelper.CreateExchange<Yw.Exchange.IRunRealRecordExchangeHelper>();
                    bol = exchangeHelper.Push(list);
                }
                return bol;
            }
Yw.Service.Run.Core/07-service/02-record/RunRealRecord_Instance.cs
Yw.Service.Run.Core/07-service/03-lcache/RunRealLastRecordCacheHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
namespace Yw.Service
{
    /// <summary>
    ///
    /// </summary>
    public class RunRealLastRecordCacheHelper : Yw.LCache.IRunRealLastRecordCacheHelper
    {
        private readonly Yw.LCache.IRunRealLastRecordCacheHelper _helper =
            LCacheCreateHelper.CreateLCache<Yw.LCache.IRunRealLastRecordCacheHelper>();
        /// <summary>
        /// è®¾ç½®æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        public bool SetLastRecord(Model.RunRealRecord record)
        {
            return _helper.SetLastRecord(record);
        }
        /// <summary>
        /// è®¾ç½®æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        public bool SetLastRecord(List<Model.RunRealRecord> list)
        {
            return _helper.SetLastRecord(list);
        }
        /// <summary>
        /// èŽ·å–æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        public List<Model.RunRealRecord> GetLastRecord()
        {
            return _helper.GetLastRecord();
        }
        /// <summary>
        /// èŽ·å–æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        public List<Model.RunRealRecord> GetLastRecord(string ObjectType)
        {
            return _helper.GetLastRecord(ObjectType);
        }
        /// <summary>
        /// èŽ·å–æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        public List<Model.RunRealRecord> GetLastRecord(long ObjectID)
        {
            return _helper.GetLastRecord(ObjectID);
        }
        /// <summary>
        /// èŽ·å–æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        public Model.RunRealRecord GetLastRecord(string ObjectType, long ObjectID)
        {
            return _helper.GetLastRecord(ObjectType, ObjectID);
        }
        /// <summary>
        /// èŽ·å–æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        public List<Model.RunRealRecord> GetLastRecord(string ObjectType, IEnumerable<long> ObjectIds)
        {
            return _helper.GetLastRecord(ObjectType, ObjectIds);
        }
        /// <summary>
        /// èŽ·å–æœ€åŽä¸€æ¡è®°å½•
        /// </summary>
        public List<Model.RunRealRecord> GetLastRecord(List<(string, long)> list)
        {
            return _helper.GetLastRecord(list);
        }
    }
}
Yw.Service.Run.Core/07-service/04-exchange/RunRealRecordExchangeHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
namespace Yw.Service
{
    /// <summary>
    ///
    /// </summary>
    public class RunRealRecordExchangeHelper : Yw.Exchange.IRunRealRecordExchangeHelper
    {
        private readonly Yw.Exchange.IRunRealRecordExchangeHelper _helper =
                    ExchangeCreateHelper.CreateExchange<Yw.Exchange.IRunRealRecordExchangeHelper>();
        /// <summary>
        /// æŽ¨é€
        /// </summary>
        public bool Push(List<Yw.Model.RunRealRecord> list)
        {
            return _helper.Push(list);
        }
        /// <summary>
        /// æŽ¥æ”¶
        /// </summary>
        public bool Receive(Func<List<Yw.Model.RunRealRecord>, bool> func)
        {
            return _helper.Receive(func);
        }
        /// <summary>
        /// å…³é—­
        /// </summary>
        public void Close()
        {
            _helper.Close();
        }
    }
}
Yw.Service.Run.Core/GlobalUsings.cs
@@ -7,9 +7,7 @@
global using System.Collections;
global using SqlSugar;
global using AutoMapper;
global using Yw.Newtonsoft;
global using Yw.Run;
global using Yw.Settings;
global using Yw.Untity;
global using Yw.Service.Run;
global using Yw.RedisCache.Run;
global using Yw.Service.Run;
Yw.Service.Run.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,6 +4,6 @@
-->
<Project>
  <PropertyGroup>
    <History>True|2024-01-21T06:51:15.9123805Z;True|2024-01-08T16:59:10.2219250+08:00;True|2023-12-16T15:42:50.6196932+08:00;True|2023-12-11T11:51:25.0044564+08:00;True|2023-12-11T11:25:16.9392998+08:00;True|2023-07-13T11:54:33.7989040+08:00;True|2023-07-13T11:54:23.3967174+08:00;True|2023-07-06T09:49:52.7407983+08:00;True|2023-05-25T15:37:23.5406830+08:00;False|2023-05-25T15:36:09.3589239+08:00;</History>
    <History>True|2024-03-26T01:45:14.8395625Z;True|2024-01-21T14:51:15.9123805+08:00;True|2024-01-08T16:59:10.2219250+08:00;True|2023-12-16T15:42:50.6196932+08:00;True|2023-12-11T11:51:25.0044564+08:00;True|2023-12-11T11:25:16.9392998+08:00;True|2023-07-13T11:54:33.7989040+08:00;True|2023-07-13T11:54:23.3967174+08:00;True|2023-07-06T09:49:52.7407983+08:00;True|2023-05-25T15:37:23.5406830+08:00;False|2023-05-25T15:36:09.3589239+08:00;</History>
  </PropertyGroup>
</Project>
Yw.Service.Run.Core/Yw.Service.Run.Core.csproj
@@ -7,7 +7,7 @@
        <RootNamespace>Yw</RootNamespace>
        <GenerateDocumentationFile>True</GenerateDocumentationFile>
        <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
        <Version>1.0.4</Version>
        <Version>3.0.0</Version>
        <Description>引用升级</Description>
    </PropertyGroup>
@@ -27,9 +27,18 @@
    </ItemGroup>
    <ItemGroup>
      <PackageReference Include="Yw.RabbitMq.Core" Version="1.0.0" />
      <PackageReference Include="Yw.Redis.Core" Version="1.0.2" />
      <PackageReference Include="Yw.Service.Core" Version="1.1.6" />
      <PackageReference Include="Yw.DAL.PostgreSql.Core" Version="3.0.0" />
      <PackageReference Include="Yw.DAL.SQLite.Core" Version="3.0.0" />
      <PackageReference Include="Yw.DALFactory.Core" Version="3.0.0" />
      <PackageReference Include="Yw.ExchangeFactory.Core" Version="3.0.0" />
      <PackageReference Include="Yw.IDAL.Core" Version="3.0.0" />
      <PackageReference Include="Yw.LCacheFactory.Core" Version="3.0.0" />
      <PackageReference Include="Yw.Medis.Core" Version="3.0.0" />
      <PackageReference Include="Yw.MemoryQueue.Core" Version="3.0.0" />
      <PackageReference Include="Yw.QueueFactory.Core" Version="3.0.0" />
      <PackageReference Include="Yw.RabbitMq.Core" Version="3.0.0" />
      <PackageReference Include="Yw.Redis.Core" Version="3.0.0" />
      <PackageReference Include="Yw.Service.Core" Version="3.0.0" />
    </ItemGroup>
    <ItemGroup>
Yw.Service.Run.Core/paras_run_settings.json
@@ -4,11 +4,41 @@
  "Run": {
    "DataBase": {
      "ConnectString": "PORT=5432;DATABASE=yw_run;HOST=localhost;PASSWORD=123456;USER ID=postgres;",
      "RecordConnectString": "PORT=5432;DATABASE=yw_run_record;HOST=localhost;PASSWORD=123456;USER ID=postgres;"
      "DbType": "PostgreSql", //PostgreSql、SQLite
      "Factory": {
        "EnableCache": true,
        "CacheTime": 10
      },
      "PostgreSql": {
        "ConnectString": "PORT=5432;DATABASE=yw_run;HOST=localhost;PASSWORD=123456;USER ID=postgres;",
        "RecordConnectString": "PORT=5432;DATABASE=yw_run_record;HOST=localhost;PASSWORD=123456;USER ID=postgres;"
      },
      "SQLite": {
        "ConnectString": "Data Source=yw_run.db;",
        "RecordConnectString": "Data Source=yw_run_record.db;"
      }
    },
    "RedisCache": {
      "Prefix": "yw"
    "LCache": {
      "Prefix": "yw",
      "LCacheType": "Redis", //Redis、Medis
      "Factory": {
        "EnableCache": true,
        "CacheTime": 10
      }
    },
    "Queue": {
      "QueueType": "RabbitMq", //RabbitMq、Memory
      "Factory": {
        "EnableCache": true,
        "CacheTime": 10
      }
    },
    "Exchange": {
      "ExchangeType": "RabbitMq", //RabbitMq、Memory
      "Factory": {
        "EnableCache": true,
        "CacheTime": 10
      }
    },
    "Run": {
      "ExchangeName": "yw-run-real-record-run-exchange"
Yw.WebApi.Run.Core/Yw.WebApi.Run.Core.csproj
@@ -22,7 +22,7 @@
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Yw.Knife4jUI.Core" Version="1.0.0" />
    <PackageReference Include="Yw.Knife4jUI.Core" Version="3.0.0" />
  </ItemGroup>
  <ItemGroup>