111 lines
4.2 KiB
TypeScript
111 lines
4.2 KiB
TypeScript
/**
|
||
* 基础设施模块
|
||
* [2026-01-04] 更新:新增 WalletServiceClient, RewardServiceClient 用于系统账户报表统计
|
||
* 回滚方式:删除 HttpModule 导入及 WalletServiceClient, RewardServiceClient 的注册
|
||
*/
|
||
import { Module } from '@nestjs/common';
|
||
import { HttpModule } from '@nestjs/axios';
|
||
import { PrismaService } from './persistence/prisma/prisma.service';
|
||
import { ReportDefinitionRepository } from './persistence/repositories/report-definition.repository.impl';
|
||
import { ReportSnapshotRepository } from './persistence/repositories/report-snapshot.repository.impl';
|
||
import { ReportFileRepository } from './persistence/repositories/report-file.repository.impl';
|
||
import { DashboardStatsSnapshotRepository } from './persistence/repositories/dashboard-stats-snapshot.repository.impl';
|
||
import { DashboardTrendDataRepository } from './persistence/repositories/dashboard-trend-data.repository.impl';
|
||
import { SystemActivityRepository } from './persistence/repositories/system-activity.repository.impl';
|
||
import { RealtimeStatsRepository } from './persistence/repositories/realtime-stats.repository.impl';
|
||
import { GlobalStatsRepository } from './persistence/repositories/global-stats.repository.impl';
|
||
import {
|
||
REPORT_DEFINITION_REPOSITORY,
|
||
REPORT_SNAPSHOT_REPOSITORY,
|
||
REPORT_FILE_REPOSITORY,
|
||
DASHBOARD_STATS_SNAPSHOT_REPOSITORY,
|
||
DASHBOARD_TREND_DATA_REPOSITORY,
|
||
SYSTEM_ACTIVITY_REPOSITORY,
|
||
REALTIME_STATS_REPOSITORY,
|
||
GLOBAL_STATS_REPOSITORY,
|
||
} from '../domain/repositories';
|
||
import { LeaderboardServiceClient } from './external/leaderboard-service/leaderboard-service.client';
|
||
import { PlantingServiceClient } from './external/planting-service/planting-service.client';
|
||
import { AuthorizationServiceClient } from './external/authorization-service/authorization-service.client';
|
||
import { IdentityServiceClient } from './external/identity-service/identity-service.client';
|
||
// [2026-01-04] 新增:系统账户报表统计 HTTP 客户端
|
||
import { WalletServiceClient } from './external/wallet-service/wallet-service.client';
|
||
import { RewardServiceClient } from './external/reward-service/reward-service.client';
|
||
import { ExportModule } from './export/export.module';
|
||
import { RedisModule } from './redis/redis.module';
|
||
|
||
@Module({
|
||
imports: [
|
||
// [2026-01-04] 新增:HttpModule 用于系统账户报表统计的 HTTP 调用
|
||
HttpModule.register({
|
||
timeout: 30000,
|
||
maxRedirects: 5,
|
||
}),
|
||
ExportModule,
|
||
RedisModule,
|
||
],
|
||
providers: [
|
||
PrismaService,
|
||
{
|
||
provide: REPORT_DEFINITION_REPOSITORY,
|
||
useClass: ReportDefinitionRepository,
|
||
},
|
||
{
|
||
provide: REPORT_SNAPSHOT_REPOSITORY,
|
||
useClass: ReportSnapshotRepository,
|
||
},
|
||
{
|
||
provide: REPORT_FILE_REPOSITORY,
|
||
useClass: ReportFileRepository,
|
||
},
|
||
{
|
||
provide: DASHBOARD_STATS_SNAPSHOT_REPOSITORY,
|
||
useClass: DashboardStatsSnapshotRepository,
|
||
},
|
||
{
|
||
provide: DASHBOARD_TREND_DATA_REPOSITORY,
|
||
useClass: DashboardTrendDataRepository,
|
||
},
|
||
{
|
||
provide: SYSTEM_ACTIVITY_REPOSITORY,
|
||
useClass: SystemActivityRepository,
|
||
},
|
||
{
|
||
provide: REALTIME_STATS_REPOSITORY,
|
||
useClass: RealtimeStatsRepository,
|
||
},
|
||
{
|
||
provide: GLOBAL_STATS_REPOSITORY,
|
||
useClass: GlobalStatsRepository,
|
||
},
|
||
LeaderboardServiceClient,
|
||
PlantingServiceClient,
|
||
AuthorizationServiceClient,
|
||
IdentityServiceClient,
|
||
// [2026-01-04] 新增:系统账户报表统计 HTTP 客户端
|
||
WalletServiceClient,
|
||
RewardServiceClient,
|
||
],
|
||
exports: [
|
||
PrismaService,
|
||
REPORT_DEFINITION_REPOSITORY,
|
||
REPORT_SNAPSHOT_REPOSITORY,
|
||
REPORT_FILE_REPOSITORY,
|
||
DASHBOARD_STATS_SNAPSHOT_REPOSITORY,
|
||
DASHBOARD_TREND_DATA_REPOSITORY,
|
||
SYSTEM_ACTIVITY_REPOSITORY,
|
||
REALTIME_STATS_REPOSITORY,
|
||
GLOBAL_STATS_REPOSITORY,
|
||
LeaderboardServiceClient,
|
||
PlantingServiceClient,
|
||
AuthorizationServiceClient,
|
||
IdentityServiceClient,
|
||
// [2026-01-04] 新增:系统账户报表统计 HTTP 客户端
|
||
WalletServiceClient,
|
||
RewardServiceClient,
|
||
ExportModule,
|
||
RedisModule,
|
||
],
|
||
})
|
||
export class InfrastructureModule {}
|