From cba2d21d94f0a4806db80d8f66106ce387b1d711 Mon Sep 17 00:00:00 2001 From: mahyargdz Date: Tue, 11 Mar 2025 14:22:19 +0330 Subject: [PATCH] fix: the announcement count for user dashboard --- .../announcements/providers/announcement.service.ts | 4 ++++ src/modules/dashboards/dashboard.module.ts | 12 +++++++++++- .../dashboards/providers/dashboard.service.ts | 7 ++++--- src/modules/invoices/providers/invoices.service.ts | 2 +- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/modules/announcements/providers/announcement.service.ts b/src/modules/announcements/providers/announcement.service.ts index de8568e..f3af4cc 100755 --- a/src/modules/announcements/providers/announcement.service.ts +++ b/src/modules/announcements/providers/announcement.service.ts @@ -181,4 +181,8 @@ export class AnnouncementService { return { announcements, count, paginate: true }; } + //************************************ */ + async countUserAnnouncements(userId: string) { + return this.userAnnouncementRepository.countBy({ user: { id: userId }, isRead: false }); + } } diff --git a/src/modules/dashboards/dashboard.module.ts b/src/modules/dashboards/dashboard.module.ts index 0ee2f3e..ed4d192 100755 --- a/src/modules/dashboards/dashboard.module.ts +++ b/src/modules/dashboards/dashboard.module.ts @@ -2,6 +2,7 @@ import { Module } from "@nestjs/common"; import { DashboardController } from "./dashboard.controller"; import { AdsModule } from "../ads/ads.module"; +import { AnnouncementsModule } from "../announcements/announcement.module"; import { DanakServicesModule } from "../danak-services/danak-services.module"; import { InvoicesModule } from "../invoices/invoices.module"; import { NotificationModule } from "../notifications/notifications.module"; @@ -11,7 +12,16 @@ import { DashboardService } from "./providers/dashboard.service"; import { SubscriptionsModule } from "../subscriptions/subscriptions.module"; @Module({ - imports: [InvoicesModule, TicketsModule, UsersModule, AdsModule, DanakServicesModule, SubscriptionsModule, NotificationModule], + imports: [ + InvoicesModule, + TicketsModule, + UsersModule, + AdsModule, + DanakServicesModule, + SubscriptionsModule, + NotificationModule, + AnnouncementsModule, + ], providers: [DashboardService], controllers: [DashboardController], }) diff --git a/src/modules/dashboards/providers/dashboard.service.ts b/src/modules/dashboards/providers/dashboard.service.ts index 44b798a..04bb52c 100755 --- a/src/modules/dashboards/providers/dashboard.service.ts +++ b/src/modules/dashboards/providers/dashboard.service.ts @@ -2,6 +2,7 @@ import { Injectable } from "@nestjs/common"; import { AdsService } from "../../ads/providers/ads.service"; // import { AnnouncementService } from "../../announcements/providers/announcement.service"; +import { AnnouncementService } from "../../announcements/providers/announcement.service"; import { DanakServicesService } from "../../danak-services/providers/danak-services.service"; import { InvoicesService } from "../../invoices/providers/invoices.service"; import { NotificationsService } from "../../notifications/providers/notifications.service"; @@ -19,7 +20,7 @@ export class DashboardService { private readonly subscriptionsService: SubscriptionsService, private readonly notificationsService: NotificationsService, private readonly customersService: CustomersService, - // private readonly announcementService: AnnouncementService, + private readonly announcementService: AnnouncementService, ) {} //************************************ */ @@ -28,13 +29,13 @@ export class DashboardService { const subscriptionCount = await this.subscriptionsService.countUserSubscriptions(userId); const ticketCount = await this.ticketsService.countUserTickets(userId); const invoiceCount = await this.invoicesService.countUserInvoices(userId); - // const announcementCount = await this.announcementService.countUserAnnouncements(userId); + const announcementCount = await this.announcementService.countUserAnnouncements(userId); const notificationCount = await this.notificationsService.countUserNotifications(userId); return { subscriptionCount, ticketCount, invoiceCount, - announcementCount: 0, + announcementCount, notificationCount, }; } diff --git a/src/modules/invoices/providers/invoices.service.ts b/src/modules/invoices/providers/invoices.service.ts index f836d2a..28dd9e9 100755 --- a/src/modules/invoices/providers/invoices.service.ts +++ b/src/modules/invoices/providers/invoices.service.ts @@ -505,7 +505,7 @@ export class InvoicesService { let delayMs: number; switch (recurringPeriod) { case RecurringPeriodEnum.WEEKLY: - delayMs = dayjs().add(1, "week").subtract(7, "days").diff(dayjs()); + delayMs = dayjs().add(1, "week").subtract(INVOICE.DAYS_BEFORE_OVERDUE, "days").diff(dayjs()); break; case RecurringPeriodEnum.MONTHLY: delayMs = dayjs().add(1, "month").subtract(7, "days").diff(dayjs());