import { Module } from '@nestjs/common'; import { SequelizeModule } from '@nestjs/sequelize'; import { ScheduleModule } from '@nestjs/schedule'; import { ConfigModule } from '@nestjs/config'; // Models import { Medication } from './models/medication.model'; import { MedicationRecord } from './models/medication-record.model'; import { MedicationRecognitionTask } from './models/medication-recognition-task.model'; // Controllers import { MedicationsController } from './medications.controller'; import { MedicationRecordsController } from './medication-records.controller'; import { MedicationStatsController } from './medication-stats.controller'; // Services import { MedicationsService } from './medications.service'; import { MedicationRecordsService } from './medication-records.service'; import { MedicationStatsService } from './medication-stats.service'; import { RecordGeneratorService } from './services/record-generator.service'; import { StatusUpdaterService } from './services/status-updater.service'; import { MedicationReminderService } from './services/medication-reminder.service'; import { MedicationAnalysisService } from './services/medication-analysis.service'; import { MedicationRecognitionService } from './services/medication-recognition.service'; // Import PushNotificationsModule for reminders import { PushNotificationsModule } from '../push-notifications/push-notifications.module'; // Import UsersModule for authentication import { UsersModule } from '../users/users.module'; /** * 药物管理模块 */ @Module({ imports: [ ConfigModule, // AI 配置 SequelizeModule.forFeature([ Medication, MedicationRecord, MedicationRecognitionTask, ]), ScheduleModule.forRoot(), // 启用定时任务 PushNotificationsModule, // 推送通知功能 UsersModule, // 用户认证服务 ], controllers: [ MedicationsController, MedicationRecordsController, MedicationStatsController, ], providers: [ MedicationsService, MedicationRecordsService, MedicationStatsService, RecordGeneratorService, StatusUpdaterService, MedicationReminderService, MedicationAnalysisService, // AI 分析服务 MedicationRecognitionService, // AI 识别服务 ], exports: [ MedicationsService, MedicationRecordsService, MedicationStatsService, ], }) export class MedicationsModule {}