|
@@ -128,6 +128,36 @@ class IndexService extends CrudService {
|
|
|
];
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ * 创新劵统计
|
|
|
+ */
|
|
|
+ async ticket() {
|
|
|
+ const statusList = [
|
|
|
+ { label: '资质审查中', value: '0' },
|
|
|
+ { label: '准备订单', value: '1' },
|
|
|
+ { label: '资质审查失败', value: '-1' },
|
|
|
+ { label: '待中介审核', value: '2' },
|
|
|
+ { label: '订单入库', value: '3' },
|
|
|
+ { label: '信息资料审查失败', value: '-3' },
|
|
|
+ { label: '高企认证成功', value: '4' },
|
|
|
+ { label: '创新券成功发放', value: '5' },
|
|
|
+ ];
|
|
|
+ const res = await this.ctx.model.Ticket.aggregate([
|
|
|
+ { $group: {
|
|
|
+ _id: '$status',
|
|
|
+ count: { $sum: 1 },
|
|
|
+ } },
|
|
|
+ ]);
|
|
|
+
|
|
|
+ const data = statusList.map(i => {
|
|
|
+ const { label, value } = i;
|
|
|
+ const r = res.find(f => f._id === value);
|
|
|
+ const obj = { label, count: 0 };
|
|
|
+ if (r) obj.count = r.count;
|
|
|
+ return obj;
|
|
|
+ });
|
|
|
+ return data;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
module.exports = IndexService;
|