feat: add breakdown bundling to item transaction
continuous-integration/drone/tag Build is passing Details

pull/74/head 20.1.46-alpha.3
shancheas 2024-08-21 16:46:36 +07:00
parent eaf0f43a24
commit 84b829a7fa
3 changed files with 24 additions and 0 deletions

View File

@ -0,0 +1,19 @@
import { MigrationInterface, QueryRunner } from 'typeorm';
export class AddBreakdownToTransactionItem1724233193743
implements MigrationInterface
{
name = 'AddBreakdownToTransactionItem1724233193743';
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "transaction_items" ADD "breakdown_bundling" boolean NOT NULL DEFAULT false`,
);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "transaction_items" DROP COLUMN "breakdown_bundling"`,
);
}
}

View File

@ -90,6 +90,9 @@ export class TransactionItemModel
}) })
refunds: RefundItemModel[]; refunds: RefundItemModel[];
@Column('boolean', { name: 'breakdown_bundling', default: false })
breakdown_bundling: boolean;
@OneToMany( @OneToMany(
() => TransactionItemBreakdownModel, () => TransactionItemBreakdownModel,
(model) => model.transaction_item, (model) => model.transaction_item,

View File

@ -55,6 +55,7 @@ export function mappingTransaction(data, refundId?: string) {
id: itemData.item_category_id, id: itemData.item_category_id,
name: itemData.item_category_name, name: itemData.item_category_name,
}, },
breakdown_bundling: itemData.breakdown_bundling,
bundling_items: itemData.bundling_items, bundling_items: itemData.bundling_items,
}, },
id: itemData.id, id: itemData.id,
@ -189,6 +190,7 @@ export function mappingRevertTransaction(data, type) {
item_bundlings: item.item.bundling_items?.map( item_bundlings: item.item.bundling_items?.map(
(bundling) => bundling.name, (bundling) => bundling.name,
), ),
breakdown_bundling: item.item.breakdown_bundling,
bundling_items: item.item.bundling_items?.map((bundling) => { bundling_items: item.item.bundling_items?.map((bundling) => {
if (bundling.item_id) return bundling; if (bundling.item_id) return bundling;
return { return {