|
@@ -203,6 +203,11 @@ class OrderDetailService extends CrudService {
|
|
|
if (parseInt(skip) >= 0) qPipline.push({ $skip: parseInt(skip) });
|
|
|
if (parseInt(limit)) qPipline.push({ $limit: parseInt(limit) });
|
|
|
const rs = await this.model.aggregate(qPipline);
|
|
|
+ const tPipline = _.cloneDeep(pipline);
|
|
|
+ tPipline.push({ $addFields: { id: { $toString: '$_id' } } });
|
|
|
+ tPipline.push({ $count: 'id' });
|
|
|
+ const t = await this.model.aggregate(tPipline);
|
|
|
+ const total = _.get(_.head(t), 'id');
|
|
|
const list = [];
|
|
|
for (const i of rs) {
|
|
|
const { goods } = i;
|
|
@@ -226,22 +231,9 @@ class OrderDetailService extends CrudService {
|
|
|
obj.is_afterSale = asum > 0;
|
|
|
list.push(obj);
|
|
|
}
|
|
|
-
|
|
|
- return list;
|
|
|
+ return { data: list, total };
|
|
|
}
|
|
|
|
|
|
- async count(filter) {
|
|
|
- let condition = _.cloneDeep(filter);
|
|
|
- condition = await this.beforeQuery(condition);
|
|
|
- condition = this.dealFilter(condition);
|
|
|
- console.log(condition);
|
|
|
- const pipline = [{ $sort: { 'meta.createdAt': -1 } }];
|
|
|
- pipline.push({ $match: condition });
|
|
|
- pipline.push({ $project: { _id: 1, id: { $toString: '$_id' } } });
|
|
|
- pipline.push({ $count: 'id' });
|
|
|
- const rs = await this.model.aggregate(pipline);
|
|
|
- return _.get(_.head(rs), 'id');
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
module.exports = OrderDetailService;
|