lrf402788946 4 年之前
父节点
当前提交
00ed6cb404
共有 3 个文件被更改,包括 55 次插入41 次删除
  1. 44 41
      app/controller/.score.js
  2. 2 0
      app/router.js
  3. 9 0
      app/service/score.js

+ 44 - 41
app/controller/.score.js

@@ -1,41 +1,44 @@
-module.exports = {
-  create: {
-    requestBody: ["!lessonid", "!stuid", "!teacherid", "score", "remark"],
-  },
-  destroy: {
-    params: ["!id"],
-    service: "delete",
-  },
-  update: {
-    params: ["!id"],
-    requestBody: ["lessonid", "stuid", "teacherid", "score", "remark"],
-  },
-  show: {
-    parameters: {
-      params: ["!id"],
-    },
-    service: "fetch",
-  },
-  index: {
-    parameters: {
-      query: {
-        lessonid: "lessonid",
-        stuid: "stuid",
-        teacherid: "teacherid",
-        score: "score",
-        remark: "remark",
-      },
-    },
-    service: "query",
-    options: {
-      query: ["skip", "limit"],
-      sort: ["meta.createdAt"],
-      desc: true,
-      count: true,
-    },
-  },
-  computedScore: {
-    parameters: { query: { teacherid: "teacherid" } },
-    service: "computedScore",
-  },
-};
+module.exports = {
+  create: {
+    requestBody: ["!lessonid", "!stuid", "!teacherid", "score", "remark"],
+  },
+  destroy: {
+    params: ["!id"],
+    service: "delete",
+  },
+  update: {
+    params: ["!id"],
+    requestBody: ["lessonid", "stuid", "teacherid", "score", "remark"],
+  },
+  show: {
+    parameters: {
+      params: ["!id"],
+    },
+    service: "fetch",
+  },
+  index: {
+    parameters: {
+      query: {
+        lessonid: "lessonid",
+        stuid: "stuid",
+        teacherid: "teacherid",
+        score: "score",
+        remark: "remark",
+      },
+    },
+    service: "query",
+    options: {
+      query: ["skip", "limit"],
+      sort: ["meta.createdAt"],
+      desc: true,
+      count: true,
+    },
+  },
+  computedScore: {
+    parameters: { query: { teacherid: "teacherid" } },
+    service: "computedScore",
+  },
+  computedAllTeacherScore: {
+    service: "computedAllTeacherScore",
+  },
+};

+ 2 - 0
app/router.js

@@ -471,6 +471,8 @@ module.exports = app => {
 
   // 计算教师的分数
   router.get('score', '/api/train/score/computed', controller.score.computedScore);
+  // 计算所有教师的分数
+  router.get('score', '/api/train/score/allComputed', controller.score.computedAllTeacherScore);
   // 评分表设置路由
   router.resources('score', '/api/train/score', controller.score); // index、create、show、destroy
   router.post('score', '/api/train/score/update/:id', controller.score.update);

+ 9 - 0
app/service/score.js

@@ -72,6 +72,15 @@ class ScoreService extends CrudService {
 
   }
 
+  // 手动触发,重新计算所有的教师的分数
+  async computedAllTeacherScore() {
+    const teacherList = await this.tmodel.find();
+    for (const t of teacherList) {
+      const { _id } = t;
+      await this.computedScore({ teacherid: _id });
+    }
+  }
+
 }
 
 module.exports = ScoreService;