zhengyiming
2025-03-31 481c2276623c9f12ce5452334422b8b1322fed45
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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); });
        }
    }
}