|
|
|
@ -5,86 +5,90 @@ import {
|
|
|
|
|
} from 'src/modules/transaction/transaction/constants';
|
|
|
|
|
|
|
|
|
|
export function mappingTransaction(data, refundId?: string) {
|
|
|
|
|
let payment_type_bank: any = null;
|
|
|
|
|
const season_period = {
|
|
|
|
|
id: data.season_period_id,
|
|
|
|
|
holiday_name: data.season_period_name,
|
|
|
|
|
season_type: {
|
|
|
|
|
id: data.season_period_type_id,
|
|
|
|
|
name: data.season_period_type_name,
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (data.payment_type_method_id || data.payment_type_method_name) {
|
|
|
|
|
payment_type_bank = {
|
|
|
|
|
id: data.payment_type_method_id,
|
|
|
|
|
issuer_name: data.payment_type_method_name,
|
|
|
|
|
account_number: data.payment_type_method_number,
|
|
|
|
|
qr_image: data.payment_type_method_qr,
|
|
|
|
|
try {
|
|
|
|
|
let payment_type_bank: any = null;
|
|
|
|
|
const season_period = {
|
|
|
|
|
id: data.season_period_id,
|
|
|
|
|
holiday_name: data.season_period_name,
|
|
|
|
|
season_type: {
|
|
|
|
|
id: data.season_period_type_id,
|
|
|
|
|
name: data.season_period_type_name,
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const items = data?.['items']?.map((itemData) => {
|
|
|
|
|
let tenant;
|
|
|
|
|
let refund = itemData.refunds?.find(
|
|
|
|
|
(item) => ![STATUS.CANCEL].includes(item.refund.status),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
if (itemData.item_tenant_id) {
|
|
|
|
|
tenant = {
|
|
|
|
|
id: itemData.item_tenant_id,
|
|
|
|
|
name: itemData.item_tenant_name,
|
|
|
|
|
share_margin: itemData.item_tenant_share_margin,
|
|
|
|
|
if (data.payment_type_method_id || data.payment_type_method_name) {
|
|
|
|
|
payment_type_bank = {
|
|
|
|
|
id: data.payment_type_method_id,
|
|
|
|
|
issuer_name: data.payment_type_method_name,
|
|
|
|
|
account_number: data.payment_type_method_number,
|
|
|
|
|
qr_image: data.payment_type_method_qr,
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (refundId)
|
|
|
|
|
refund = itemData.refunds?.find((item) => item.refund.id == refundId);
|
|
|
|
|
const items = data?.['items']?.map((itemData) => {
|
|
|
|
|
let tenant;
|
|
|
|
|
let refund = itemData.refunds?.find(
|
|
|
|
|
(item) => ![STATUS.CANCEL].includes(item.refund.status),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
item: {
|
|
|
|
|
id: itemData.item_id,
|
|
|
|
|
name: itemData.item_name,
|
|
|
|
|
item_type: itemData.item_type,
|
|
|
|
|
base_price: itemData.item_price,
|
|
|
|
|
hpp: itemData.item_hpp,
|
|
|
|
|
tenant: tenant,
|
|
|
|
|
item_category: {
|
|
|
|
|
id: itemData.item_category_id,
|
|
|
|
|
name: itemData.item_category_name,
|
|
|
|
|
if (itemData.item_tenant_id) {
|
|
|
|
|
tenant = {
|
|
|
|
|
id: itemData.item_tenant_id,
|
|
|
|
|
name: itemData.item_tenant_name,
|
|
|
|
|
share_margin: itemData.item_tenant_share_margin,
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (refundId)
|
|
|
|
|
refund = itemData.refunds?.find((item) => item.refund.id == refundId);
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
item: {
|
|
|
|
|
id: itemData.item_id,
|
|
|
|
|
name: itemData.item_name,
|
|
|
|
|
item_type: itemData.item_type,
|
|
|
|
|
base_price: itemData.item_price,
|
|
|
|
|
hpp: itemData.item_hpp,
|
|
|
|
|
tenant: tenant,
|
|
|
|
|
item_category: {
|
|
|
|
|
id: itemData.item_category_id,
|
|
|
|
|
name: itemData.item_category_name,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
id: itemData.id,
|
|
|
|
|
id: itemData.id,
|
|
|
|
|
refund: refund,
|
|
|
|
|
qty: itemData.qty,
|
|
|
|
|
qty_remaining: itemData.qty_remaining,
|
|
|
|
|
total_price_refund: refund?.refund_total ?? 0,
|
|
|
|
|
total_price: itemData.total_price,
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const refund = data.refunds?.find(
|
|
|
|
|
(refund) => ![STATUS.CANCEL].includes(refund.status),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
Object.assign(data, {
|
|
|
|
|
season_period: season_period,
|
|
|
|
|
items: items,
|
|
|
|
|
payment_type_bank: payment_type_bank,
|
|
|
|
|
refund: refund,
|
|
|
|
|
qty: itemData.qty,
|
|
|
|
|
qty_remaining: itemData.qty_remaining,
|
|
|
|
|
total_price_refund: refund?.refund_total ?? 0,
|
|
|
|
|
total_price: itemData.total_price,
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const refund = data.refunds?.find(
|
|
|
|
|
(refund) => ![STATUS.CANCEL].includes(refund.status),
|
|
|
|
|
);
|
|
|
|
|
delete data.refunds;
|
|
|
|
|
|
|
|
|
|
Object.assign(data, {
|
|
|
|
|
season_period: season_period,
|
|
|
|
|
items: items,
|
|
|
|
|
payment_type_bank: payment_type_bank,
|
|
|
|
|
refund: refund,
|
|
|
|
|
});
|
|
|
|
|
delete data.season_period_id;
|
|
|
|
|
delete data.season_period_name;
|
|
|
|
|
delete data.season_period_type_id;
|
|
|
|
|
delete data.season_period_type_name;
|
|
|
|
|
|
|
|
|
|
delete data.refunds;
|
|
|
|
|
|
|
|
|
|
delete data.season_period_id;
|
|
|
|
|
delete data.season_period_name;
|
|
|
|
|
delete data.season_period_type_id;
|
|
|
|
|
delete data.season_period_type_name;
|
|
|
|
|
|
|
|
|
|
delete data.payment_type_method_id;
|
|
|
|
|
delete data.payment_type_method_name;
|
|
|
|
|
delete data.payment_type_method_number;
|
|
|
|
|
delete data.payment_type_method_qr;
|
|
|
|
|
delete data.payment_type_method_id;
|
|
|
|
|
delete data.payment_type_method_name;
|
|
|
|
|
delete data.payment_type_method_number;
|
|
|
|
|
delete data.payment_type_method_qr;
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.log('error mapping transactin', error);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function mappingRevertTransaction(data, type) {
|
|
|
|
|