update: add review count and also verification from admin panel

This commit is contained in:
mahyargdz
2025-03-02 11:49:26 +03:30
parent 27f4c9c633
commit af9f365bc7
13 changed files with 175 additions and 98 deletions
@@ -13,6 +13,7 @@ import { NotificationsService } from "../../notifications/providers/notification
import { SubscriptionPlan } from "../../subscriptions/entities/subscription.entity";
import { UserSubscription } from "../../subscriptions/entities/user-subscription.entity";
import { SubscriptionStatus } from "../../subscriptions/enums/subscription-status.enum";
import { User } from "../../users/entities/user.entity";
import { UsersService } from "../../users/providers/users.service";
import { OTPService } from "../../utils/providers/otp.service";
import { PaginationUtils } from "../../utils/providers/pagination.utils";
@@ -82,6 +83,7 @@ export class InvoicesService {
{
invoiceId: invoice.numericId.toString(),
dueDate: invoice.dueDate,
createDate: invoice.createdAt,
price: new Decimal(invoice.totalPrice).toNumber(),
userPhone: user.phone,
userEmail: user.email,
@@ -173,7 +175,7 @@ export class InvoicesService {
///********************************** */
async createInvoiceForSubscription(
userId: string,
user: User,
plan: SubscriptionPlan,
userSub: UserSubscription,
dueDate: Date,
@@ -191,12 +193,26 @@ export class InvoicesService {
];
const invoice = queryRunner.manager.create(Invoice, {
totalPrice: plan.price,
user: { id: userId },
status: InvoiceStatus.PENDING,
user,
status: InvoiceStatus.WAIT_PAYMENT,
paidAt: new Date(),
dueDate,
items: invoiceItems,
});
await this.notificationsService.createInvoiceCreationNotification(
user.id,
{
invoiceId: invoice.numericId.toString(),
dueDate: invoice.dueDate,
createDate: invoice.createdAt,
price: new Decimal(invoice.totalPrice).toNumber(),
userPhone: user.phone,
userEmail: user.email,
items: invoiceItems.map((item) => item.name).join(", "),
},
queryRunner,
);
//
await queryRunner.manager.save(Invoice, invoice);
return invoice;
@@ -285,7 +301,6 @@ export class InvoicesService {
const user = await this.usersService.findOneByIdWithQueryRunner(userId, queryRunner);
const invoice = await this.getPendingInvoiceByIdWithQueryRunner(invoiceId, user.id, queryRunner);
console.log(invoice);
if (invoice.status !== InvoiceStatus.WAIT_PAYMENT) throw new BadRequestException(InvoiceMessage.INVOICE_CAN_NOT_PAID);