fix(payments,dates): improve duplicate payment detection and Jalali date parsing
This commit is contained in:
@@ -602,7 +602,15 @@ const checkDuplicatePayment = async (query = {}) => {
|
||||
const classObjectIds = rawClasses.map((id) => {
|
||||
return mongoose.isValidObjectId(id) ? new mongoose.Types.ObjectId(String(id)) : id;
|
||||
});
|
||||
filter.classes = { $in: classObjectIds };
|
||||
|
||||
const classDocs = await Class.find({ _id: { $in: classObjectIds } }).select('course').lean();
|
||||
const courseIds = classDocs.map((c) => c.course).filter(Boolean);
|
||||
|
||||
const orConditions = [{ classes: { $in: classObjectIds } }];
|
||||
if (courseIds.length) {
|
||||
orConditions.push({ course: { $in: courseIds } });
|
||||
}
|
||||
filter.$or = orConditions;
|
||||
}
|
||||
|
||||
const payments = await Payment.find(filter)
|
||||
|
||||
Reference in New Issue
Block a user