diff --git a/src/modules/configuration/couch/couch.module.ts b/src/modules/configuration/couch/couch.module.ts index 75e12a6..22ef573 100644 --- a/src/modules/configuration/couch/couch.module.ts +++ b/src/modules/configuration/couch/couch.module.ts @@ -43,6 +43,7 @@ import { TransactionModel } from 'src/modules/transaction/transaction/data/model import { TransactionTaxModel } from 'src/modules/transaction/transaction/data/models/transaction-tax.model'; import { TransactionItemModel } from 'src/modules/transaction/transaction/data/models/transaction-item.model'; import { VipCodeCreatedHandler } from './domain/managers/vip-code.handler'; +import { ItemRateModel } from 'src/modules/item-related/item-rate/data/models/item-rate.model'; @Module({ imports: [ @@ -50,6 +51,7 @@ import { VipCodeCreatedHandler } from './domain/managers/vip-code.handler'; TypeOrmModule.forFeature( [ ItemModel, + ItemRateModel, UserModel, TransactionModel, TransactionTaxModel, diff --git a/src/modules/item-related/item/data/services/item-data.service.ts b/src/modules/item-related/item/data/services/item-data.service.ts index 367a883..534d542 100644 --- a/src/modules/item-related/item/data/services/item-data.service.ts +++ b/src/modules/item-related/item/data/services/item-data.service.ts @@ -5,13 +5,30 @@ import { InjectRepository } from '@nestjs/typeorm'; import { ItemModel } from '../models/item.model'; import { CONNECTION_NAME } from 'src/core/strings/constants/base.constants'; import { Repository } from 'typeorm'; +import { ItemRateModel } from 'src/modules/item-related/item-rate/data/models/item-rate.model'; @Injectable() export class ItemDataService extends BaseDataService { constructor( @InjectRepository(ItemModel, CONNECTION_NAME.DEFAULT) private repo: Repository, + + @InjectRepository(ItemRateModel, CONNECTION_NAME.DEFAULT) + private repoItemRate: Repository, ) { super(repo); } + + async updateItemRatePrice( + oldPrice: number, + newPrice: number, + itemId: string, + ): Promise { + console.log({ oldPrice, newPrice, itemId }); + + this.repoItemRate.update( + { item_id: itemId, price: oldPrice }, + { price: newPrice }, + ); + } } diff --git a/src/modules/item-related/item/domain/usecases/managers/update-item.manager.ts b/src/modules/item-related/item/domain/usecases/managers/update-item.manager.ts index d4b2f40..12d972a 100644 --- a/src/modules/item-related/item/domain/usecases/managers/update-item.manager.ts +++ b/src/modules/item-related/item/domain/usecases/managers/update-item.manager.ts @@ -11,15 +11,26 @@ import { @Injectable() export class UpdateItemManager extends BaseUpdateManager { + protected oldBasePrice: number; + async validateProcess(): Promise { return; } async beforeProcess(): Promise { + this.oldBasePrice = this.oldData.base_price; return; } async afterProcess(): Promise { + const newBasePrice = this.result.base_price; + const itemId = this.result.id; + + await this.dataService.updateItemRatePrice( + this.oldBasePrice, + newBasePrice, + itemId, + ); return; }