Browse Source

ticket统计

lrf402788946 4 years ago
parent
commit
b59df8a14a
3 changed files with 38 additions and 1 deletions
  1. 7 1
      app/controller/statistics.js
  2. 1 0
      app/router/statistics.js
  3. 30 0
      app/service/statistics.js

+ 7 - 1
app/controller/statistics.js

@@ -46,6 +46,12 @@ class StatisticsController extends Controller {
     const data = await this.service.data(this.ctx.query);
     this.ctx.ok({ data });
   }
-
+  /**
+   * 创新券统计
+   */
+  async ticket() {
+    const data = await this.service.ticket(this.ctx.query);
+    this.ctx.ok({ data });
+  }
 }
 module.exports = CrudController(StatisticsController, {});

+ 1 - 0
app/router/statistics.js

@@ -9,4 +9,5 @@ module.exports = app => {
   router.get(prefix, `/${prefix}/product`, controller[prefix].product);
   router.get(prefix, `/${prefix}/users`, controller[prefix].users);
   router.get(prefix, `/${prefix}/data`, controller[prefix].data);
+  router.get(prefix, `/${prefix}/ticket`, controller[prefix].ticket);
 };

+ 30 - 0
app/service/statistics.js

@@ -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;