Browse Source

✨ 调整Blazor

pull/11/head
王军 5 years ago
parent
commit
e91e08e334
  1. 11
      aspnet-core/CompanyName.ProjectName.sln
  2. 2
      aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Properties/launchSettings.json
  3. 4
      aspnet-core/services/host/CompanyName.ProjectName.Blazor.WebAssembly/CompanyName.ProjectName.Blazor.WebAssembly.csproj
  4. 2
      aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Properties/launchSettings.json
  5. 2
      aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/appsettings.Development.json
  6. 1
      aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/CompanyName.ProjectName.Application.Contracts.csproj
  7. 0
      aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/ElasticSearchs/Dto/PagingElasticSearchLogInput.cs
  8. 5
      aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/ElasticSearchs/Dto/PagingElasticSearchLogOutput.cs
  9. 45
      aspnet-core/services/src/CompanyName.ProjectName.Application/CompanyName.ProjectName.Application.csproj
  10. 65
      aspnet-core/services/src/CompanyName.ProjectName.Application/ElasticSearchs/CompanyNameProjectNameLogAppService.cs
  11. 32
      aspnet-core/services/src/CompanyName.ProjectName.Application/ElasticSearchs/Dto/PagingElasticSearchLogDto.cs
  12. 4
      aspnet-core/services/src/CompanyName.ProjectName.Application/ElasticSearchs/Providers/ElasticsearchBasicService.cs
  13. 0
      aspnet-core/services/src/CompanyName.ProjectName.Application/ElasticSearchs/Providers/ElasticsearchProvider.cs
  14. 0
      aspnet-core/services/src/CompanyName.ProjectName.Application/ElasticSearchs/Providers/IElasticsearchProvider.cs
  15. 4
      aspnet-core/services/src/CompanyName.ProjectName.Application/IdentityServers/IdentityServerApplicationAutoMapperProfile.cs
  16. 4
      aspnet-core/services/src/CompanyName.ProjectName.Application/ProjectNameApplicationModule.cs
  17. 17
      aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/CompanyName.ProjectName.ElasticsearchRepository.csproj
  18. 69
      aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/CompanyNameProjectNameLogRepository.cs
  19. 17
      aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/ICompanyNameProjectNameLogRepository.cs
  20. 10
      aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/ProjectNameElasticSearchModule.cs

11
aspnet-core/CompanyName.ProjectName.sln

@ -133,17 +133,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.Web
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.FreeSqlRepository", "services\src\CompanyName.ProjectName.FreeSqlRepository\CompanyName.ProjectName.FreeSqlRepository.csproj", "{FC30B17B-F671-4E55-90C6-9F37E40B483D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.ElasticsearchRepository", "services\src\CompanyName.ProjectName.ElasticsearchRepository\CompanyName.ProjectName.ElasticsearchRepository.csproj", "{5910B07F-1520-45D6-A15F-7A3E0698BE18}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.Extension", "frameworks\Extensions\src\CompanyName.ProjectName.Extension\CompanyName.ProjectName.Extension.csproj", "{4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.CAP", "frameworks\CAP\src\CompanyName.ProjectName.CAP\CompanyName.ProjectName.CAP.csproj", "{3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.Blazor.Layout.AntDesignTheme", "services\src\CompanyName.ProjectName.Blazor.Layout.AntDesignTheme\CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.csproj", "{3E63EC99-F592-42E9-B360-258146BA9C79}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompanyName.ProjectName.Blazor.Server", "services\host\CompanyName.ProjectName.Blazor.Server\CompanyName.ProjectName.Blazor.Server.csproj", "{10BB7892-639F-4169-9A26-0CCCAE3AE254}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.Blazor.Server", "services\host\CompanyName.ProjectName.Blazor.Server\CompanyName.ProjectName.Blazor.Server.csproj", "{10BB7892-639F-4169-9A26-0CCCAE3AE254}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompanyName.ProjectName.Blazor.WebAssembly", "services\host\CompanyName.ProjectName.Blazor.WebAssembly\CompanyName.ProjectName.Blazor.WebAssembly.csproj", "{CFDC2921-A191-406D-A6D6-6AA4898D9948}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.Blazor.WebAssembly", "services\host\CompanyName.ProjectName.Blazor.WebAssembly\CompanyName.ProjectName.Blazor.WebAssembly.csproj", "{CFDC2921-A191-406D-A6D6-6AA4898D9948}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -319,10 +317,6 @@ Global
{FC30B17B-F671-4E55-90C6-9F37E40B483D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FC30B17B-F671-4E55-90C6-9F37E40B483D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FC30B17B-F671-4E55-90C6-9F37E40B483D}.Release|Any CPU.Build.0 = Release|Any CPU
{5910B07F-1520-45D6-A15F-7A3E0698BE18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5910B07F-1520-45D6-A15F-7A3E0698BE18}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5910B07F-1520-45D6-A15F-7A3E0698BE18}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5910B07F-1520-45D6-A15F-7A3E0698BE18}.Release|Any CPU.Build.0 = Release|Any CPU
{4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -404,7 +398,6 @@ Global
{C018EFF9-579E-43B3-9181-543BE95E2E03} = {6434E3F2-B352-4B30-839A-88C2BA166D96}
{D9108313-8D05-4F5F-9AA0-B443EC3374B6} = {5C304CBC-F30D-413C-A0AF-8B6814A2D4A3}
{FC30B17B-F671-4E55-90C6-9F37E40B483D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
{5910B07F-1520-45D6-A15F-7A3E0698BE18} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
{4C65690E-2C17-46A1-BB35-A51BAB2EA3B7} = {C4AC9352-C9F5-4096-8D73-13638232CFB9}
{3C3FF821-E43D-4D58-8B3C-1E97F4518EF7} = {11ED8435-B5AE-4BF3-9D4B-51FA1E4A18A6}
{3E63EC99-F592-42E9-B360-258146BA9C79} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}

2
aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Properties/launchSettings.json

@ -7,7 +7,7 @@
"launchUrl": "swagger",
"applicationUrl": "http://localhost:44314",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Production"
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}

4
aspnet-core/services/host/CompanyName.ProjectName.Blazor.WebAssembly/CompanyName.ProjectName.Blazor.WebAssembly.csproj

@ -10,4 +10,8 @@
<PackageReference Include="System.Net.Http.Json" Version="5.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\CompanyName.ProjectName.Blazor.Layout.AntDesignTheme\CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.csproj" />
</ItemGroup>
</Project>

2
aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Properties/launchSettings.json

@ -5,7 +5,7 @@
"launchBrowser": true,
"applicationUrl": "http://localhost:44315",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Production"
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}

2
aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/appsettings.Development.json

@ -44,7 +44,7 @@
"IndexFormat": "companyname.projectname.development.{0:yyyy.MM.dd}",
"UserName": "elastic",
"Password": "aVVhjQ95RP7nbwNy",
"SearchIndexFormat": "companyname.projectname.development.*"
"SearchIndexFormat": "companyname.projectname.development*"
},
"HttpClient": {
"Sts": {

1
aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/CompanyName.ProjectName.Application.Contracts.csproj

@ -10,7 +10,6 @@
<ItemGroup>
<ProjectReference Include="..\..\..\modules\DataDictionaryManagement\src\CompanyName.ProjectName.DataDictionaryManagement.Application.Contracts\CompanyName.ProjectName.DataDictionaryManagement.Application.Contracts.csproj" />
<ProjectReference Include="..\CompanyName.ProjectName.Domain.Shared\CompanyName.ProjectName.Domain.Shared.csproj" />
<ProjectReference Include="..\CompanyName.ProjectName.ElasticsearchRepository\CompanyName.ProjectName.ElasticsearchRepository.csproj" />
</ItemGroup>
<ItemGroup>

0
aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/Dto/PagingElasticSearchLogInput.cs → aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/ElasticSearchs/Dto/PagingElasticSearchLogInput.cs

5
aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/Dto/PagingElasticSearchLogOutput.cs → aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/ElasticSearchs/Dto/PagingElasticSearchLogOutput.cs

@ -1,9 +1,9 @@
using System;
using Nest;
namespace CompanyName.ProjectName.ElasticsearchRepository.Dto
{
[Serializable]
public class PagingElasticSearchLogOutput
{
/// <summary>
@ -21,7 +21,6 @@ namespace CompanyName.ProjectName.ElasticsearchRepository.Dto
/// <summary>
/// 创建时间
/// </summary>
[PropertyName("@timestamp")]
public DateTime CreationTime { get; set; }
}
}

45
aspnet-core/services/src/CompanyName.ProjectName.Application/CompanyName.ProjectName.Application.csproj

@ -1,27 +1,28 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" />
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RootNamespace>CompanyName.ProjectName</RootNamespace>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RootNamespace>CompanyName.ProjectName</RootNamespace>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\modules\DataDictionaryManagement\src\CompanyName.ProjectName.DataDictionaryManagement.Application\CompanyName.ProjectName.DataDictionaryManagement.Application.csproj" />
<ProjectReference Include="..\..\..\modules\NotificationManagement\src\CompanyName.ProjectName.NotificationManagement.Application\CompanyName.ProjectName.NotificationManagement.Application.csproj" />
<ProjectReference Include="..\CompanyName.ProjectName.Domain\CompanyName.ProjectName.Domain.csproj" />
<ProjectReference Include="..\CompanyName.ProjectName.Application.Contracts\CompanyName.ProjectName.Application.Contracts.csproj" />
<ProjectReference Include="..\CompanyName.ProjectName.FreeSqlRepository\CompanyName.ProjectName.FreeSqlRepository.csproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\modules\DataDictionaryManagement\src\CompanyName.ProjectName.DataDictionaryManagement.Application\CompanyName.ProjectName.DataDictionaryManagement.Application.csproj" />
<ProjectReference Include="..\..\..\modules\NotificationManagement\src\CompanyName.ProjectName.NotificationManagement.Application\CompanyName.ProjectName.NotificationManagement.Application.csproj" />
<ProjectReference Include="..\CompanyName.ProjectName.Domain\CompanyName.ProjectName.Domain.csproj" />
<ProjectReference Include="..\CompanyName.ProjectName.Application.Contracts\CompanyName.ProjectName.Application.Contracts.csproj" />
<ProjectReference Include="..\CompanyName.ProjectName.FreeSqlRepository\CompanyName.ProjectName.FreeSqlRepository.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="EasyAbp.Abp.SettingUi.Application" Version="$(EasyAbpSttingVersion)" />
<PackageReference Include="Volo.Abp.Account.Application" Version="$(AbpPackageVersion)" />
<PackageReference Include="Volo.Abp.Identity.Application" Version="$(AbpPackageVersion)" />
<PackageReference Include="Volo.Abp.PermissionManagement.Application" Version="$(AbpPackageVersion)" />
<PackageReference Include="Volo.Abp.TenantManagement.Application" Version="$(AbpPackageVersion)" />
<PackageReference Include="Volo.Abp.FeatureManagement.Application" Version="$(AbpPackageVersion)" />
<PackageReference Include="Volo.Abp.SettingManagement.Application" Version="$(AbpPackageVersion)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="EasyAbp.Abp.SettingUi.Application" Version="$(EasyAbpSttingVersion)" />
<PackageReference Include="Volo.Abp.Account.Application" Version="$(AbpPackageVersion)" />
<PackageReference Include="Volo.Abp.Identity.Application" Version="$(AbpPackageVersion)" />
<PackageReference Include="Volo.Abp.PermissionManagement.Application" Version="$(AbpPackageVersion)" />
<PackageReference Include="Volo.Abp.TenantManagement.Application" Version="$(AbpPackageVersion)" />
<PackageReference Include="Volo.Abp.FeatureManagement.Application" Version="$(AbpPackageVersion)" />
<PackageReference Include="Volo.Abp.SettingManagement.Application" Version="$(AbpPackageVersion)" />
<PackageReference Include="NEST" Version="$(NESTVersion)" />
</ItemGroup>
</Project>

65
aspnet-core/services/src/CompanyName.ProjectName.Application/ElasticSearchs/CompanyNameProjectNameLogAppService.cs

@ -1,25 +1,76 @@
using System.Threading.Tasks;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using CompanyName.ProjectName.ElasticsearchRepository;
using CompanyName.ProjectName.ElasticsearchRepository.Dto;
using CompanyName.ProjectName.Extension.Customs.Dtos;
using CompanyName.ProjectName.Permissions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.Extensions.Configuration;
using Nest;
namespace CompanyName.ProjectName.ElasticSearchs
{
[Authorize(Policy = ProjectNamePermissions.SystemManagement.ES)]
public class CompanyNameProjectNameLogAppService:ProjectNameAppService,ICompanyNameProjectNameLogAppService
public class CompanyNameProjectNameLogAppService : ElasticsearchBasicService,
ICompanyNameProjectNameLogAppService
{
private readonly ICompanyNameProjectNameLogRepository _companyNameProjectNameLogRepository;
private readonly IConfiguration _configuration;
public CompanyNameProjectNameLogAppService(ICompanyNameProjectNameLogRepository companyNameProjectNameLogRepository)
public CompanyNameProjectNameLogAppService(
IElasticsearchProvider elasticsearchProvider,
IConfiguration configuration) : base(elasticsearchProvider)
{
_companyNameProjectNameLogRepository = companyNameProjectNameLogRepository;
_configuration = configuration;
}
public Task<CustomePagedResultDto<PagingElasticSearchLogOutput>> PaingAsync(PagingElasticSearchLogInput input)
public async Task<CustomePagedResultDto<PagingElasticSearchLogOutput>> PaingAsync(
PagingElasticSearchLogInput input)
{
return _companyNameProjectNameLogRepository.PaingAsync(input);
var IndexName =
_configuration.GetValue<string>("ElasticSearch:SearchIndexFormat");
// 默认查询当天
input.StartCreationTime = input.StartCreationTime?.AddMilliseconds(-1) ??
DateTime.Now.Date.AddMilliseconds(-1);
input.EndCreationTime =
input.EndCreationTime?.AddDays(1).AddMilliseconds(-1) ??
DateTime.Now.Date.AddDays(1).AddMilliseconds(-1);
var mustFilters =
new List<Func<QueryContainerDescriptor<PagingElasticSearchLogDto>,
QueryContainer>>
{
t => t.DateRange(f =>
f.Field(fd => fd.CreationTime).TimeZone("Asia/Shanghai")
.GreaterThanOrEquals(input.StartCreationTime.Value)),
t => t.DateRange(
f => f.Field(fd => fd.CreationTime).TimeZone("Asia/Shanghai")
.LessThanOrEquals(input.EndCreationTime.Value))
};
if (!string.IsNullOrWhiteSpace(input.Filter))
{
mustFilters.Add(t =>
t.MatchPhrase(f => f.Field(fd => fd.Message).Query(input.Filter.Trim())));
}
var result = await Client.SearchAsync<PagingElasticSearchLogDto>(e => e
.Index(IndexName)
.From(input.SkipCount)
.Size(input.PageSize)
.Sort(s => s.Descending(sd => sd.CreationTime))
.Query(q => q.Bool(qb => qb.Filter(mustFilters))));
if (result.HitsMetadata != null)
{
return new CustomePagedResultDto<PagingElasticSearchLogOutput>(
result.HitsMetadata.Total.Value,
ObjectMapper
.Map<List<PagingElasticSearchLogDto>, List<PagingElasticSearchLogOutput>>(
result.Documents.ToList()));
}
return null;
}
}
}

32
aspnet-core/services/src/CompanyName.ProjectName.Application/ElasticSearchs/Dto/PagingElasticSearchLogDto.cs

@ -0,0 +1,32 @@
using System;
using Nest;
namespace CompanyName.ProjectName.ElasticSearchs
{
/// <summary>
/// Dto为什么在Service层
/// 因为NEST 类库的坑 PropertyName必须用这个
/// 不想在契约层添加NEST 包引用
/// </summary>
[Serializable]
public class PagingElasticSearchLogDto
{
/// <summary>
/// 日志级别
/// </summary>
public string Level { get; set; }
/// <summary>
/// 日志内容
/// </summary>
public string Message { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[PropertyName("@timestamp")]
public DateTime CreationTime { get; set; }
}
}

4
aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/ElasticsearchBasicRepository.cs → aspnet-core/services/src/CompanyName.ProjectName.Application/ElasticSearchs/Providers/ElasticsearchBasicService.cs

@ -3,12 +3,12 @@ using Volo.Abp.Domain.Services;
namespace CompanyName.ProjectName.ElasticsearchRepository
{
public abstract class ElasticsearchBasicRepository : DomainService
public abstract class ElasticsearchBasicService : ProjectNameAppService
{
private readonly IElasticsearchProvider _elasticsearchProvider;
// ReSharper disable once PublicConstructorInAbstractClass
public ElasticsearchBasicRepository(IElasticsearchProvider elasticsearchProvider)
public ElasticsearchBasicService(IElasticsearchProvider elasticsearchProvider)
{
_elasticsearchProvider = elasticsearchProvider;
}

0
aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/ElasticsearchProvider.cs → aspnet-core/services/src/CompanyName.ProjectName.Application/ElasticSearchs/Providers/ElasticsearchProvider.cs

0
aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/IElasticsearchProvider.cs → aspnet-core/services/src/CompanyName.ProjectName.Application/ElasticSearchs/Providers/IElasticsearchProvider.cs

4
aspnet-core/services/src/CompanyName.ProjectName.Application/IdentityServers/IdentityServerApplicationAutoMapperProfile.cs

@ -1,4 +1,6 @@
using AutoMapper;
using CompanyName.ProjectName.ElasticsearchRepository.Dto;
using CompanyName.ProjectName.ElasticSearchs;
using CompanyName.ProjectName.IdentityServers.ApiScopes.Dtos;
using CompanyName.ProjectName.IdentityServers.Clients;
using CompanyName.ProjectName.IdentityServers.Dtos;
@ -35,6 +37,8 @@ namespace CompanyName.ProjectName.IdentityServers.Mappers
CreateMap<ApiScope, PagingApiScopeListOutput>();
CreateMap<IdentityResource, PagingIdentityResourceListOutput>();
CreateMap<PagingElasticSearchLogDto, PagingElasticSearchLogOutput>();
}
}
}

4
aspnet-core/services/src/CompanyName.ProjectName.Application/ProjectNameApplicationModule.cs

@ -1,5 +1,4 @@
using CompanyName.ProjectName.DataDictionaryManagement;
using CompanyName.ProjectName.ElasticsearchRepository;
using CompanyName.ProjectName.FreeSqlRepository;
using CompanyName.ProjectName.NotificationManagement;
using EasyAbp.Abp.SettingUi;
@ -28,8 +27,7 @@ namespace CompanyName.ProjectName
typeof(DataDictionaryManagementApplicationModule),
typeof(NotificationManagementApplicationModule),
typeof(AbpSettingUiApplicationModule),
typeof(FreeSqlRepositoryModule),
typeof(ProjectNameElasticSearchModule)
typeof(FreeSqlRepositoryModule)
)]
public class ProjectNameApplicationModule : AbpModule
{

17
aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/CompanyName.ProjectName.ElasticsearchRepository.csproj

@ -1,17 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Core" Version="$(AbpPackageVersion)"/>
<PackageReference Include="NEST" Version="$(NESTVersion)"/>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CompanyName.ProjectName.Domain\CompanyName.ProjectName.Domain.csproj"/>
</ItemGroup>
</Project>

69
aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/CompanyNameProjectNameLogRepository.cs

@ -1,69 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using CompanyName.ProjectName.ElasticsearchRepository.Dto;
using CompanyName.ProjectName.Extension.Customs.Dtos;
using Microsoft.Extensions.Configuration;
using Nest;
namespace CompanyName.ProjectName.ElasticsearchRepository
{
public class CompanyNameProjectNameLogRepository : ElasticsearchBasicRepository,
ICompanyNameProjectNameLogRepository
{
private readonly IConfiguration _configuration;
public CompanyNameProjectNameLogRepository(
IElasticsearchProvider elasticsearchProvider,
IConfiguration configuration) : base(elasticsearchProvider)
{
_configuration = configuration;
}
public async Task<CustomePagedResultDto<PagingElasticSearchLogOutput>> PaingAsync(
PagingElasticSearchLogInput input)
{
var IndexName =
_configuration.GetValue<string>("ElasticSearch:SearchIndexFormat");
// 默认查询当天
input.StartCreationTime = input.StartCreationTime?.AddMilliseconds(-1) ??
DateTime.Now.Date.AddMilliseconds(-1);
input.EndCreationTime =
input.EndCreationTime?.AddDays(1).AddMilliseconds(-1) ??
DateTime.Now.Date.AddDays(1).AddMilliseconds(-1);
var mustFilters =
new List<Func<QueryContainerDescriptor<PagingElasticSearchLogOutput>,
QueryContainer>>
{
t => t.DateRange(f =>
f.Field(fd => fd.CreationTime).TimeZone("Asia/Shanghai")
.GreaterThanOrEquals(input.StartCreationTime.Value)),
t => t.DateRange(
f => f.Field(fd => fd.CreationTime).TimeZone("Asia/Shanghai")
.LessThanOrEquals(input.EndCreationTime.Value))
};
if (!string.IsNullOrWhiteSpace(input.Filter))
{
mustFilters.Add(t =>
t.MatchPhrase(f => f.Field(fd => fd.Message).Query(input.Filter.Trim())));
}
var result = await Client.SearchAsync<PagingElasticSearchLogOutput>(e => e
.Index(IndexName)
.From(input.SkipCount)
.Size(input.PageSize)
.Sort(s => s.Descending(sd => sd.CreationTime))
.Query(q => q.Bool(qb => qb.Filter(mustFilters))));
if (result.HitsMetadata != null)
{
return new CustomePagedResultDto<PagingElasticSearchLogOutput>(
result.HitsMetadata.Total.Value, result.Documents.ToList());
}
return null;
}
}
}

17
aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/ICompanyNameProjectNameLogRepository.cs

@ -1,17 +0,0 @@
using System.Threading.Tasks;
using CompanyName.ProjectName.ElasticsearchRepository.Dto;
using CompanyName.ProjectName.Extension.Customs.Dtos;
using Volo.Abp.DependencyInjection;
namespace CompanyName.ProjectName.ElasticsearchRepository
{
public interface ICompanyNameProjectNameLogRepository : ITransientDependency
{
/// <summary>
/// 分页查询es日志
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<CustomePagedResultDto<PagingElasticSearchLogOutput>> PaingAsync(PagingElasticSearchLogInput input);
}
}

10
aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/ProjectNameElasticSearchModule.cs

@ -1,10 +0,0 @@
using Volo.Abp.Modularity;
namespace CompanyName.ProjectName.ElasticsearchRepository
{
public class ProjectNameElasticSearchModule : AbpModule
{
}
}
Loading…
Cancel
Save