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 Volo.Abp.Autofac;
using Volo.Abp.Modularity;
namespace SJZY.Track.Repository;
///
/// 仓储模块
///
[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
{
new()
{
ConnectionString = configuration["ConnectionStrings:DefaultConnection"],
DbType = DbType.MySql,
IsAutoCloseConnection = true,
ConfigId = "default", OpenSqlLog = true
}
}
);
}, DataBaseContext.OnExcutingAction, "SJZY.Track.Domain");
context.Services.AddElasticSearch(options =>
{
options.NodeUrls = configuration.GetSection("ElasticSearch:NodeUrls").Get>();
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<>));
}
}