Merge pull request #57 from Danakcorp/mrtz

fix: user order count
This commit is contained in:
morteza-mortezai
2025-11-06 19:08:23 +03:30
committed by GitHub
+11 -28
View File
@@ -31,56 +31,37 @@ class OrderRepository extends BaseRepository<IOrder> {
{ $unwind: "$orderItems" },
{
$group: {
_id: {
orderId: "$_id",
orderStatus: "$orderStatus",
itemStatus: "$orderItems.status",
},
_id: "$orderItems.status",
count: { $sum: 1 },
},
},
{
$group: {
_id: null,
processing: {
$sum: {
$cond: [
{
$or: [{ $eq: ["$_id.itemStatus", OrderItemsStatus.Processing] }],
},
1,
0,
],
},
$sum: { $cond: [{ $eq: ["$_id", OrderItemsStatus.Processing] }, "$count", 0] },
},
delivered: {
$sum: {
$cond: [{ $eq: ["$_id.itemStatus", OrderItemsStatus.Delivered] }, 1, 0],
},
$sum: { $cond: [{ $eq: ["$_id", OrderItemsStatus.Delivered] }, "$count", 0] },
},
cancelled: {
$sum: {
$cond: [
{
$in: [
"$_id.itemStatus",
[OrderItemsStatus.cancelled_system, OrderItemsStatus.cancelled_user, OrderItemsStatus.cancelled_shop],
],
$in: ["$_id", [OrderItemsStatus.cancelled_system, OrderItemsStatus.cancelled_user, OrderItemsStatus.cancelled_shop]],
},
1,
"$count",
0,
],
},
},
returned: {
$sum: {
$cond: [{ $eq: ["$_id.itemStatus", OrderItemsStatus.Returned] }, 1, 0],
},
$sum: { $cond: [{ $eq: ["$_id", OrderItemsStatus.Returned] }, "$count", 0] },
},
shipped: {
$sum: {
$cond: [{ $eq: ["$_id.itemStatus", OrderItemsStatus.Shipped] }, 1, 0],
},
$sum: { $cond: [{ $eq: ["$_id", OrderItemsStatus.Shipped] }, "$count", 0] },
},
all: { $sum: "$count" },
},
},
{
@@ -91,6 +72,7 @@ class OrderRepository extends BaseRepository<IOrder> {
cancelled: 1,
returned: 1,
shipped: 1,
all: 1,
},
},
];
@@ -103,6 +85,7 @@ class OrderRepository extends BaseRepository<IOrder> {
cancelled: 0,
returned: 0,
shipped: 0,
all: 0,
}
);
}