瀏覽代碼

未上传考生也允许同步;
分数为空时本地保存为0;
减小图片下载的接口分页大小

罗识 5 年之前
父節點
當前提交
97bac8cbbe
共有 4 個文件被更改,包括 31 次插入30 次删除
  1. 4 4
      config.json
  2. 1 1
      source/lib/image.js
  3. 19 19
      source/lib/sync.js
  4. 7 6
      source/test/api-test.js

+ 4 - 4
config.json

@@ -1,10 +1,10 @@
 {
     "db": {
-        "host": "192.168.10.30",
+        "host": "192.168.10.36",
         "post": 3306,
         "user": "root",
-        "password": "root",
-        "database": "stmms_gx_init"
+        "password": "Qmth87863577!",
+        "database": "test"
     },
     "imageUrl": {
         "sheet": "/{{examId}}-{{campusCode}}/{{subjectCode}}/{{examNumber}}-{{index}}.jpg",
@@ -12,7 +12,7 @@
         "package": "/{{examId}}/{{code}}/{{index}}.jpg"
     },
     "watermark": {
-        "fontFile": "/Users/luoshi/develop/project/stmms-proxy/font/simsun.ttf",
+        "fontFile": "resources/font/simsun.ttf",
         "color": "#ff0000"
     },
     "logger": {

+ 1 - 1
source/lib/image.js

@@ -222,7 +222,7 @@ class executor extends EventEmitter {
             for (;;) {
                 pageNumber++
 
-                let array = await api.getStudents(env.examId, pageNumber, 100, true, undefined, watermark === true, watermark === true, params)
+                let array = await api.getStudents(env.examId, pageNumber, 10, true, undefined, watermark === true, watermark === true, params)
                 if (array == undefined || array.length == 0) {
                     break
                 }

+ 19 - 19
source/lib/sync.js

@@ -23,7 +23,7 @@ class executor extends EventEmitter {
             while (true) {
                 pageNumber++
                 logger.info('student page=' + pageNumber)
-                let array = await api.getStudents(env.examId, pageNumber, 1000, true, undefined, true)
+                let array = await api.getStudents(env.examId, pageNumber, 1000, undefined, undefined, true)
                 if (array == undefined || array.length == 0) {
                     break
                 }
@@ -46,8 +46,8 @@ class executor extends EventEmitter {
                     }
                     datas.push([obj['id'], env.examId, obj['schoolId'], obj['examNumber'], obj['name'], obj['studentCode'], obj['subjectCode'],
                         obj['subjectName'], obj['campusName'], obj['packageCode'], obj['batchCode'], obj['sheetCount'], obj['sliceCount'], obj['answers'],
-                        obj['upload'] ? 1 : 0, obj['absent'] ? 1 : 0, obj['breach'] ? 1 : 0, obj['manualAbsent'] ? 1 : 0, obj['objectiveScore'],
-                        obj['subjectiveScore'], objList.join(';'), subList.join(';'), obj['examSite'], obj['examRoom'], obj['remark']
+                        obj['upload'] ? 1 : 0, obj['absent'] ? 1 : 0, obj['breach'] ? 1 : 0, obj['manualAbsent'] ? 1 : 0, obj['objectiveScore'].length>0?obj['objectiveScore']:0,
+                        obj['subjectiveScore'].length>0?obj['subjectiveScore']:0, objList.join(';'), subList.join(';'), obj['examSite'], obj['examRoom'], obj['remark']
                     ])
 
                     campus[obj['campusCode']] = {
@@ -91,22 +91,22 @@ class executor extends EventEmitter {
             }))
 
             //get and save package
-            this.emit('package', 0)
-            let packages = await api.getPackages(env.examId)
-            let packageData = []
-            for (let i = 0; i < packages.length; i++) {
-                let obj = packages[i]
-                packageData.push([env.examId, obj['code'], obj['picCount']])
-            }
-            logger.info('package count:' + packageData.length)
-            promises.push(new Promise((resolve, reject) => {
-                db.batchQuery('replace into eb_exam_package(exam_id, code, pic_count) values (?,?,?)', packageData).then(() => {
-                    this.emit('package', packageData.length)
-                    resolve()
-                }).catch((err) => {
-                    reject(err)
-                })
-            }))
+            // this.emit('package', 0)
+            // let packages = await api.getPackages(env.examId)
+            // let packageData = []
+            // for (let i = 0; i < packages.length; i++) {
+            //     let obj = packages[i]
+            //     packageData.push([env.examId, obj['code'], obj['picCount']])
+            // }
+            // logger.info('package count:' + packageData.length)
+            // promises.push(new Promise((resolve, reject) => {
+            //     db.batchQuery('replace into eb_exam_package(exam_id, code, pic_count) values (?,?,?)', packageData).then(() => {
+            //         this.emit('package', packageData.length)
+            //         resolve()
+            //     }).catch((err) => {
+            //         reject(err)
+            //     })
+            // }))
 
             await Promise.all(promises)
             this.emit('finish')

+ 7 - 6
source/test/api-test.js

@@ -3,12 +3,13 @@ var config = require('../lib/config.js')
 var env = require('../lib/env.js')
 
 async function run() {
-    console.log(await api.countStudents(1, true));
-    let array = await api.getStudents(1, 1, 5000, true)
-    console.log(array.length);
+    //console.log(await api.countStudents(1, true));
+    //let array = await api.getPackages(265)
+    let array = await api.getStudents(153, 1, 1, true, undefined, true, true)
+    console.log(JSON.stringify(array));
 }
 
-env.server = config.servers[0]
-env.loginName = 'admin-test'
-env.password = 'test!@#'
+env.server = config.servers[2]
+env.loginName = 'admin-wdyy'
+env.password = '123'
 run();