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<>)); } }