track/src/SJZY.Track.Repository/SjzyTrackRepositoryModule.cs
2024-08-20 18:18:57 +08:00

62 lines
2.1 KiB
C#

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using SJZY.Expand.ABP.Core.SqlSugar.Options;
using SJZY.Expand.ElasticSearch;
using SJZY.Track.Domain;
using SJZY.Track.Domain.Queries;
using SJZY.Track.Repository.Queries;
using SJZY.Track.Repository.Repositories;
using Volo.Abp.Autofac;
using Volo.Abp.Modularity;
namespace SJZY.Track.Repository;
/// <summary>
/// 仓储模块
/// </summary>
[DependsOn(typeof(AbpAutofacModule))]
[DependsOn(typeof(SjzyTrackDomainModule))]
public class SjzyTrackRepositoryModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
context.Services.AddSqlsugar(options =>
{
options.AddRange(new List<SqlsugarOptions>
{
new()
{
ConnectionString = configuration["ConnectionStrings:DefaultConnection"]!,
DbType = DbType.MySql,
IsAutoCloseConnection = true,
ConfigId = "default",
OpenSqlLog = true
}
}
);
}, DataBaseContext.OnExcutingAction, "SJZY.Track.Domain");
context.Services.AddElasticSearch(options =>
{
if (System.Diagnostics.Debugger.IsAttached)
{
options.ShowLogInfo = true;
}
options.NodeUrls = configuration.GetSection("ElasticSearch:NodeUrls").Get<List<string>>()!;
options.LoginName = configuration["ElasticSearch:LoginName"]!;
options.Password = configuration["ElasticSearch:Password"]!;
options.Base64PassPassword = configuration["ElasticSearch:Base64PassPassword"]!;
});
}
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddTransient(typeof(IBasicQuery<>), typeof(BasicQuery<>));
context.Services.AddTransient(typeof(IBasicRepository<>), typeof(BasicRepository<>));
}
}