新增每日定时推送系统,根据用户参与状态发送不同类型的挑战提醒: - 已参与用户:每日发送鼓励推送 - 未参与用户:隔天发送挑战邀请 - 匿名用户:隔天发送通用邀请 包含推送历史记录表、定时任务调度、多类型文案模板和防重复发送机制
59 lines
2.0 KiB
TypeScript
59 lines
2.0 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { SequelizeModule } from '@nestjs/sequelize';
|
|
import { PushNotificationsController } from './push-notifications.controller';
|
|
import { PushTemplateController } from './push-template.controller';
|
|
import { PushNotificationsService } from './push-notifications.service';
|
|
import { ApnsProvider } from './apns.provider';
|
|
import { PushTokenService } from './push-token.service';
|
|
import { PushTemplateService } from './push-template.service';
|
|
import { PushMessageService } from './push-message.service';
|
|
import { PushTestService } from './push-test.service';
|
|
import { ChallengeReminderService } from './challenge-reminder.service';
|
|
import { UserPushToken } from './models/user-push-token.model';
|
|
import { PushMessage } from './models/push-message.model';
|
|
import { PushTemplate } from './models/push-template.model';
|
|
import { PushReminderHistory } from './models/push-reminder-history.model';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { DatabaseModule } from '../database/database.module';
|
|
import { UsersModule } from '../users/users.module';
|
|
import { ChallengesModule } from '../challenges/challenges.module';
|
|
import { ChallengeParticipant } from '../challenges/models/challenge-participant.model';
|
|
|
|
@Module({
|
|
imports: [
|
|
ConfigModule,
|
|
DatabaseModule,
|
|
UsersModule,
|
|
ChallengesModule,
|
|
SequelizeModule.forFeature([
|
|
UserPushToken,
|
|
PushMessage,
|
|
PushTemplate,
|
|
PushReminderHistory,
|
|
ChallengeParticipant,
|
|
]),
|
|
],
|
|
controllers: [
|
|
PushNotificationsController,
|
|
PushTemplateController,
|
|
],
|
|
providers: [
|
|
ApnsProvider,
|
|
PushNotificationsService,
|
|
PushTokenService,
|
|
PushTemplateService,
|
|
PushMessageService,
|
|
PushTestService,
|
|
ChallengeReminderService,
|
|
],
|
|
exports: [
|
|
ApnsProvider,
|
|
PushNotificationsService,
|
|
PushTokenService,
|
|
PushTemplateService,
|
|
PushMessageService,
|
|
PushTestService,
|
|
ChallengeReminderService,
|
|
],
|
|
})
|
|
export class PushNotificationsModule { } |