diff --git a/src/database/migrations/1728377112337-add-discount-value-to-voucher.ts b/src/database/migrations/1728377112337-add-discount-value-to-voucher.ts new file mode 100644 index 0000000..8fe627a --- /dev/null +++ b/src/database/migrations/1728377112337-add-discount-value-to-voucher.ts @@ -0,0 +1,25 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class AddDiscountValueToVoucher1728377112337 + implements MigrationInterface +{ + name = 'AddDiscountValueToVoucher1728377112337'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "vip_codes" ADD "discount_value" numeric`, + ); + await queryRunner.query( + `ALTER TABLE "vip_codes" ALTER COLUMN "discount" DROP NOT NULL`, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "vip_codes" ALTER COLUMN "discount" SET NOT NULL`, + ); + await queryRunner.query( + `ALTER TABLE "vip_codes" DROP COLUMN "discount_value"`, + ); + } +} diff --git a/src/modules/transaction/transaction/domain/usecases/handlers/pos-transaction.handler.ts b/src/modules/transaction/transaction/domain/usecases/handlers/pos-transaction.handler.ts index b1915e4..1207198 100644 --- a/src/modules/transaction/transaction/domain/usecases/handlers/pos-transaction.handler.ts +++ b/src/modules/transaction/transaction/domain/usecases/handlers/pos-transaction.handler.ts @@ -51,12 +51,6 @@ export class PosTransactionHandler implements IEventHandler { }, }); - const taxes = await this.taxService.getManyByOptions({ - where: { - status: STATUS.ACTIVE, - }, - }); - const queryRunner = this.dataService .getRepository() .manager.connection.createQueryRunner(); diff --git a/src/modules/transaction/vip-code/data/models/vip-code.model.ts b/src/modules/transaction/vip-code/data/models/vip-code.model.ts index 1b22d91..314b047 100644 --- a/src/modules/transaction/vip-code/data/models/vip-code.model.ts +++ b/src/modules/transaction/vip-code/data/models/vip-code.model.ts @@ -12,11 +12,15 @@ export class VipCodeModel @Column('varchar', { name: 'code' }) code: string; - @Column('integer', { name: 'discount' }) + @Column('integer', { name: 'discount', nullable: true }) discount: number; + @Column('decimal', { nullable: true }) + discount_value: number; + @Column('varchar', { name: 'vip_category_id' }) vip_category_id: string; + @ManyToOne(() => VipCategoryModel, (model) => model.vip_codes, { onDelete: 'CASCADE', onUpdate: 'CASCADE', diff --git a/src/modules/transaction/vip-code/domain/entities/vip-code.entity.ts b/src/modules/transaction/vip-code/domain/entities/vip-code.entity.ts index a713c58..ceabcf8 100644 --- a/src/modules/transaction/vip-code/domain/entities/vip-code.entity.ts +++ b/src/modules/transaction/vip-code/domain/entities/vip-code.entity.ts @@ -3,4 +3,5 @@ import { BaseEntity } from 'src/core/modules/domain/entities/base.entity'; export interface VipCodeEntity extends BaseEntity { code: string; discount: number; + discount_value?: number; } diff --git a/src/modules/transaction/vip-code/infrastructure/dto/vip-code.dto.ts b/src/modules/transaction/vip-code/infrastructure/dto/vip-code.dto.ts index 9903730..1666c7f 100644 --- a/src/modules/transaction/vip-code/infrastructure/dto/vip-code.dto.ts +++ b/src/modules/transaction/vip-code/infrastructure/dto/vip-code.dto.ts @@ -16,12 +16,21 @@ export class VipCodeDto extends BaseDto implements VipCodeEntity { @ApiProperty({ name: 'discount', type: Number, - required: true, + required: false, example: 85, }) @IsNumber() discount: number; + @ApiProperty({ + name: 'discount_value', + type: Number, + required: false, + example: 25000, + }) + @IsNumber() + discount_value: number; + @ApiProperty({ name: 'vip_category', type: Object,