Merge branch 'mayankSprint2' of http://git.wdipl.com/Mayank.Mishra/MinglarBackendNestJS into paritosh-main1

This commit is contained in:
paritosh18
2026-04-14 13:27:58 +05:30

View File

@@ -695,6 +695,45 @@ export class ItineraryService {
},
},
},
ActivityVenues: {
where: { isActive: true, deletedAt: null },
select: {
id: true,
venueName: true,
venueLabel: true,
venueCapacity: true,
availableSeats: true,
ActivityPrices: {
where: { isActive: true, deletedAt: null },
orderBy: { createdAt: 'asc' },
select: {
id: true,
noOfSession: true,
isPackage: true,
sessionValidity: true,
sessionValidityFrequency: true,
basePrice: true,
sellPrice: true,
ActivityPriceTaxes: {
where: { isActive: true, deletedAt: null },
select: {
id: true,
taxXid: true,
taxPer: true,
taxAmount: true,
taxes: {
select: {
id: true,
taxName: true,
taxPer: true,
},
},
},
},
},
},
},
},
},
},
itineraryActivitySelections: {
@@ -837,6 +876,30 @@ export class ItineraryService {
(itinerary.ItineraryActivities ?? []).map(async (item) => {
const coverImage = item.activity?.ActivitiesMedia?.[0]?.mediaFileName ?? null;
const coverImagePresignedUrl = await attachPresignedUrl(coverImage);
const selectedVenue = item.activity?.ActivityVenues?.find(
(venue) => venue.id === item.venueXid,
) ?? null;
const venueForPricing =
selectedVenue ?? item.activity?.ActivityVenues?.[0] ?? null;
const venuePrices = venueForPricing?.ActivityPrices ?? [];
const activityPriceDetails = venuePrices.reduce(
(lowest, current) =>
!lowest || current.sellPrice < lowest.sellPrice ? current : lowest,
null as (typeof venuePrices)[number] | null,
);
const selectedVenueCharge = activityPriceDetails
? summarizeCheckoutRows([
{
id: activityPriceDetails.id,
baseAmount: Number(activityPriceDetails.basePrice) || 0,
totalAmount:
activityPriceDetails.sellPrice === null
? null
: Number(activityPriceDetails.sellPrice),
taxes: mapCheckoutTaxes(activityPriceDetails.ActivityPriceTaxes ?? []),
},
])
: { items: [], baseAmount: 0, taxAmount: 0, totalAmount: 0 };
const details = item.ItineraryDetails ?? [];
const memberSelectionGroups = new Map<number, any[]>();
@@ -863,12 +926,7 @@ export class ItineraryService {
const activityCharge =
pickCheckoutSummary(detailGroups, ['ACTIVITY']) ??
{
items: [],
baseAmount: Number(item.totalAmount) || 0,
taxAmount: 0,
totalAmount: Number(item.totalAmount) || 0,
};
selectedVenueCharge;
const foodCharge =
pickCheckoutSummary(detailGroups, ['FOOD']) ??
@@ -1030,9 +1088,7 @@ export class ItineraryService {
};
});
const activityTotalAmount = sumCheckoutValues(
memberSelections.map((selection) => selection.pricing.totalAmount),
);
const activityTotalAmount = Number(selectedVenueCharge.totalAmount) || 0;
return {
itineraryActivityXid: item.id,