feat(push-notifications): 新增挑战提醒定时推送功能

新增每日定时推送系统,根据用户参与状态发送不同类型的挑战提醒:
- 已参与用户:每日发送鼓励推送
- 未参与用户:隔天发送挑战邀请
- 匿名用户:隔天发送通用邀请

包含推送历史记录表、定时任务调度、多类型文案模板和防重复发送机制
This commit is contained in:
richarjiang
2025-11-03 17:49:14 +08:00
parent 3a3939e1ba
commit 37cc2a729b
9 changed files with 710 additions and 26 deletions

View File

@@ -8,9 +8,11 @@ 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';
@@ -27,6 +29,7 @@ import { ChallengeParticipant } from '../challenges/models/challenge-participant
UserPushToken,
PushMessage,
PushTemplate,
PushReminderHistory,
ChallengeParticipant,
]),
],
@@ -41,6 +44,7 @@ import { ChallengeParticipant } from '../challenges/models/challenge-participant
PushTemplateService,
PushMessageService,
PushTestService,
ChallengeReminderService,
],
exports: [
ApnsProvider,
@@ -49,6 +53,7 @@ import { ChallengeParticipant } from '../challenges/models/challenge-participant
PushTemplateService,
PushMessageService,
PushTestService,
ChallengeReminderService,
],
})
export class PushNotificationsModule { }