using Alipay.EasySDK.Factory; using Alipay.EasySDK.Kernel; using LifePayment.Application; using LifePayment.Domain.Shared; using LifePayment.EntityFrameworkCore; using LifePayment.Worker.Worker; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Serilog; using Volo.Abp; using Volo.Abp.BackgroundWorkers; using Volo.Abp.EntityFrameworkCore; using Volo.Abp.Identity; using Volo.Abp.IdentityServer.EntityFrameworkCore; using Volo.Abp.Modularity; namespace LifePayment.Worker { [DependsOn(typeof(AbpBaseFrameworkModule))] [DependsOn(typeof(LifePaymentServicesApplicationModule), typeof(AbpEntityFrameworkCoreModule), typeof(AbpIdentityApplicationModule), typeof(AbpIdentityServerEntityFrameworkCoreModule), typeof(LifePaymentServicesEntityFrameworkCoreModule))] public class LifePaymentServicesWorkModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); //Configure<AliYunSMSSettingOptions>(configuration.GetSection("AliYunSMSSetting")); context.Services.AddAutoMapperObjectMapper(); ConfigurePays(context, configuration); Configure<AbpDbContextOptions>(options => { options.UseSqlServer(); }); context.Services.AddLogging(c => { c.AddSerilog(); c.AddConsole().SetMinimumLevel(LogLevel.Warning); }); this.Configure<OssSettings>(configuration.GetSection("ossSettings")); this.Configure<ACOOLYOption>(configuration.GetSection("ACOOLY")); this.Configure<Config>("AliPayEcsign", configuration.GetSection("AliPayEcsign")); this.Configure<InformationOption>(configuration.GetSection("WeiXinCgi")); this.Configure<InitSetting>(configuration.GetSection("InitSetting")); } public async override Task OnApplicationInitializationAsync(ApplicationInitializationContext context) { await context.AddBackgroundWorkerAsync<GetStaticsWorker>(); } private void ConfigurePays(ServiceConfigurationContext context, IConfiguration configuration) { Configure<WxPayOption>(configuration.GetSection("WxPay")); context.Services.AddHttpClient(LifePaymentConstant.WxPayHttpClientName, config => { config.Timeout = TimeSpan.FromSeconds(120); config.DefaultRequestHeaders.Add("Connection", "Keep-Alive"); config.DefaultRequestHeaders.Add("User-Agent", "Aop4Net"); config.DefaultRequestHeaders.Add("Accept", "application/json"); }); Configure<Config>(configuration.GetSection("AliPay")); PostConfigure<Config>(r => { Factory.SetOptions(r); }); } } }