From 359dff3cad05fdcb7f9c1d8c015289954dba44bb Mon Sep 17 00:00:00 2001 From: qubiaobiao <3294694717@qq.com> Date: Fri, 27 Mar 2026 17:54:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=97=E6=96=97=E5=BA=94=E7=94=A8=E6=8A=80?= =?UTF-8?q?=E6=9C=AF=E5=9F=B9=E8=AE=AD=E8=80=83=E8=AF=95=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintignore | 1 + .eslintrc | 4 + .gitignore | 15 + .sequelizerc | 10 + README.md | 31 ++ app/controller/Admin.js | 195 ++++++++ app/controller/Application.js | 222 +++++++++ app/controller/Audit.js | 71 +++ app/controller/Cntev.js | 79 ++++ app/controller/Diff.js | 79 ++++ app/controller/Download.js | 427 +++++++++++++++++ app/controller/Exam.js | 192 ++++++++ app/controller/Find.js | 121 +++++ app/controller/Grades.js | 221 +++++++++ app/controller/Importerror.js | 75 +++ app/controller/Interlocution.js | 192 ++++++++ app/controller/Judgment.js | 194 ++++++++ app/controller/Monitoring.js | 75 +++ app/controller/Multiple.js | 192 ++++++++ app/controller/Radio.js | 192 ++++++++ app/controller/Search.js | 167 +++++++ app/controller/TopicWhitelist.js | 215 +++++++++ app/controller/User.js | 218 +++++++++ app/core/base_controller.js | 190 ++++++++ app/core/base_service.js | 88 ++++ app/middleware/log.js | 72 +++ app/model/Application.js | 23 + app/model/Audit.js | 21 + app/model/Examination.js | 23 + app/model/Examinee.js | 31 ++ app/model/Grades.js | 21 + app/model/Importerror.js | 22 + app/model/Manager.js | 25 + app/model/Monitoring.js | 23 + app/model/Whitelist.js | 19 + app/model2/Interlocution.js | 19 + app/model2/Judgment.js | 19 + app/model2/Multiple.js | 24 + app/model2/Radio.js | 23 + app/public/userPhoto.zip | Bin 0 -> 727669 bytes app/public/userPhoto/320103196805082012.jpg | Bin 0 -> 83802 bytes app/public/userPhoto/320125199007232313.jpg | Bin 0 -> 36491 bytes app/public/userPhoto/320125199801230737.jpg | Bin 0 -> 46315 bytes app/public/userPhoto/320981198807164734.jpg | Bin 0 -> 55543 bytes app/public/userPhoto/320981199912304975.jpg | Bin 0 -> 81458 bytes app/public/userPhoto/32128219810804023X.jpg | Bin 0 -> 54345 bytes app/public/userPhoto/330104198306103816.jpg | Bin 0 -> 102566 bytes app/public/userPhoto/340221199812160010.jpg | Bin 0 -> 81486 bytes app/public/userPhoto/341223198801191910.jpg | Bin 0 -> 116548 bytes app/public/userPhoto/342625199710150718.jpg | Bin 0 -> 43717 bytes app/public/userPhoto/420222198705048711.jpg | Bin 0 -> 75843 bytes app/public/userPhoto/430111197912296032.jpg | Bin 0 -> 43058 bytes app/router.js | 178 +++++++ app/service/Admin.js | 260 +++++++++++ app/service/Application.js | 483 +++++++++++++++++++ app/service/Audit.js | 89 ++++ app/service/Cntev.js | 57 +++ app/service/Diff.js | 80 ++++ app/service/Download.js | 493 ++++++++++++++++++++ app/service/Exam.js | 247 ++++++++++ app/service/Find.js | 82 ++++ app/service/Grades.js | 468 +++++++++++++++++++ app/service/Importerror.js | 145 ++++++ app/service/Interlocution.js | 225 +++++++++ app/service/Judgment.js | 240 ++++++++++ app/service/Monitoring.js | 136 ++++++ app/service/Multiple.js | 235 ++++++++++ app/service/Radio.js | 233 +++++++++ app/service/Search.js | 131 ++++++ app/service/TopicWhitelist.js | 334 +++++++++++++ app/service/User.js | 272 +++++++++++ config/config.default.js | 125 +++++ config/plugin.js | 22 + controllerLog/2025/3/26.txt | 10 + controllerLog/2025/3/27.txt | 11 + controllerLog/2025/3/28.txt | 2 + controllerLog/2025/3/31.txt | 1 + controllerLog/2025/4/17.txt | 9 + controllerLog/2025/4/21.txt | 4 + controllerLog/2025/4/22.txt | 1 + controllerLog/2025/4/25.txt | 8 + controllerLog/2025/4/3.txt | 1 + controllerLog/2025/5/15.txt | 1 + controllerLog/2025/5/16.txt | 6 + controllerLog/2025/5/6.txt | 1 + controllerLog/2025/5/7.txt | 2 + database/config.json | 23 + jsconfig.json | 5 + npminstall-debug.log | 210 +++++++++ package.json | 52 +++ serviceLog/2025/3/25.txt | 71 +++ serviceLog/2025/3/26.txt | 1 + serviceLog/2025/3/27.txt | 16 + serviceLog/2025/3/28.txt | 157 +++++++ serviceLog/2025/3/31.txt | 4 + serviceLog/2025/4/11.txt | 35 ++ serviceLog/2025/4/17.txt | 14 + serviceLog/2025/4/21.txt | 6 + serviceLog/2025/4/23.txt | 26 ++ serviceLog/2025/4/24.txt | 407 ++++++++++++++++ serviceLog/2025/4/25.txt | 1 + serviceLog/2025/5/14.txt | 1 + serviceLog/2025/5/15.txt | 25 + serviceLog/2025/5/16.txt | 8 + serviceLog/2025/5/28.txt | 2 + test/app/controller/home.test.js | 23 + 106 files changed, 9510 insertions(+) create mode 100644 .eslintignore create mode 100644 .eslintrc create mode 100644 .gitignore create mode 100644 .sequelizerc create mode 100644 README.md create mode 100644 app/controller/Admin.js create mode 100644 app/controller/Application.js create mode 100644 app/controller/Audit.js create mode 100644 app/controller/Cntev.js create mode 100644 app/controller/Diff.js create mode 100644 app/controller/Download.js create mode 100644 app/controller/Exam.js create mode 100644 app/controller/Find.js create mode 100644 app/controller/Grades.js create mode 100644 app/controller/Importerror.js create mode 100644 app/controller/Interlocution.js create mode 100644 app/controller/Judgment.js create mode 100644 app/controller/Monitoring.js create mode 100644 app/controller/Multiple.js create mode 100644 app/controller/Radio.js create mode 100644 app/controller/Search.js create mode 100644 app/controller/TopicWhitelist.js create mode 100644 app/controller/User.js create mode 100644 app/core/base_controller.js create mode 100644 app/core/base_service.js create mode 100644 app/middleware/log.js create mode 100644 app/model/Application.js create mode 100644 app/model/Audit.js create mode 100644 app/model/Examination.js create mode 100644 app/model/Examinee.js create mode 100644 app/model/Grades.js create mode 100644 app/model/Importerror.js create mode 100644 app/model/Manager.js create mode 100644 app/model/Monitoring.js create mode 100644 app/model/Whitelist.js create mode 100644 app/model2/Interlocution.js create mode 100644 app/model2/Judgment.js create mode 100644 app/model2/Multiple.js create mode 100644 app/model2/Radio.js create mode 100644 app/public/userPhoto.zip create mode 100644 app/public/userPhoto/320103196805082012.jpg create mode 100644 app/public/userPhoto/320125199007232313.jpg create mode 100644 app/public/userPhoto/320125199801230737.jpg create mode 100644 app/public/userPhoto/320981198807164734.jpg create mode 100644 app/public/userPhoto/320981199912304975.jpg create mode 100644 app/public/userPhoto/32128219810804023X.jpg create mode 100644 app/public/userPhoto/330104198306103816.jpg create mode 100644 app/public/userPhoto/340221199812160010.jpg create mode 100644 app/public/userPhoto/341223198801191910.jpg create mode 100644 app/public/userPhoto/342625199710150718.jpg create mode 100644 app/public/userPhoto/420222198705048711.jpg create mode 100644 app/public/userPhoto/430111197912296032.jpg create mode 100644 app/router.js create mode 100644 app/service/Admin.js create mode 100644 app/service/Application.js create mode 100644 app/service/Audit.js create mode 100644 app/service/Cntev.js create mode 100644 app/service/Diff.js create mode 100644 app/service/Download.js create mode 100644 app/service/Exam.js create mode 100644 app/service/Find.js create mode 100644 app/service/Grades.js create mode 100644 app/service/Importerror.js create mode 100644 app/service/Interlocution.js create mode 100644 app/service/Judgment.js create mode 100644 app/service/Monitoring.js create mode 100644 app/service/Multiple.js create mode 100644 app/service/Radio.js create mode 100644 app/service/Search.js create mode 100644 app/service/TopicWhitelist.js create mode 100644 app/service/User.js create mode 100644 config/config.default.js create mode 100644 config/plugin.js create mode 100644 controllerLog/2025/3/26.txt create mode 100644 controllerLog/2025/3/27.txt create mode 100644 controllerLog/2025/3/28.txt create mode 100644 controllerLog/2025/3/31.txt create mode 100644 controllerLog/2025/4/17.txt create mode 100644 controllerLog/2025/4/21.txt create mode 100644 controllerLog/2025/4/22.txt create mode 100644 controllerLog/2025/4/25.txt create mode 100644 controllerLog/2025/4/3.txt create mode 100644 controllerLog/2025/5/15.txt create mode 100644 controllerLog/2025/5/16.txt create mode 100644 controllerLog/2025/5/6.txt create mode 100644 controllerLog/2025/5/7.txt create mode 100644 database/config.json create mode 100644 jsconfig.json create mode 100644 npminstall-debug.log create mode 100644 package.json create mode 100644 serviceLog/2025/3/25.txt create mode 100644 serviceLog/2025/3/26.txt create mode 100644 serviceLog/2025/3/27.txt create mode 100644 serviceLog/2025/3/28.txt create mode 100644 serviceLog/2025/3/31.txt create mode 100644 serviceLog/2025/4/11.txt create mode 100644 serviceLog/2025/4/17.txt create mode 100644 serviceLog/2025/4/21.txt create mode 100644 serviceLog/2025/4/23.txt create mode 100644 serviceLog/2025/4/24.txt create mode 100644 serviceLog/2025/4/25.txt create mode 100644 serviceLog/2025/5/14.txt create mode 100644 serviceLog/2025/5/15.txt create mode 100644 serviceLog/2025/5/16.txt create mode 100644 serviceLog/2025/5/28.txt create mode 100644 test/app/controller/home.test.js diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..4ebc8ae --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +coverage diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..f304bdd --- /dev/null +++ b/.eslintrc @@ -0,0 +1,4 @@ +{ + "extends": "eslint-config-egg", + "root": true +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..652759b --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +logs/ +npm-debug.log +yarn-error.log +node_modules/ +*-lock.json +*-lock.yaml +yarn.lock +coverage/ +.idea/ +run/ +.DS_Store +*.sw* +*.un~ +typings/ +.nyc_output/ diff --git a/.sequelizerc b/.sequelizerc new file mode 100644 index 0000000..01d9847 --- /dev/null +++ b/.sequelizerc @@ -0,0 +1,10 @@ +'use strict'; + +const path = require('path'); + +module.exports = { + "config": path.join(__dirname, 'database/config.json'), + 'migrations-path': path.join(__dirname, 'database/migrations'), + 'seeders-path': path.join(__dirname, 'database/seeders'), + 'models-path': path.join(__dirname, 'app/model'), +}; diff --git a/README.md b/README.md new file mode 100644 index 0000000..6a02535 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# open-map-assistant + + + +## QuickStart + + + +see [egg docs][egg] for more detail. + +### Development + +```bash +npm i +npm run dev +open http://localhost:7001/ +``` + +### Deploy + +```bash +npm start +npm stop +``` + +### npm scripts + +- Use `npm run lint` to check code style. +- Use `npm test` to run unit test. + +[egg]: https://eggjs.org diff --git a/app/controller/Admin.js b/app/controller/Admin.js new file mode 100644 index 0000000..9962b08 --- /dev/null +++ b/app/controller/Admin.js @@ -0,0 +1,195 @@ +const Controller = require('../core/base_controller'); + +const fs = require('fs'); + +const fileName = "Admin"; + +class AdminController extends Controller { + // 管理系统新增普通管理员账号信息 + async addAdmin() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const requestMsg = ctx.request.body.requestMsg; + requestMsg.forEach(element => { + const salt = this.generateRandomString(); + element.uid = this.generateNumberString('E'); + element.salt = this.encryptRequest(salt); + element.account_name = this.decryptRequest(element.account_name); + element.password = this.shaForm('123456', salt); + element.role = Number(this.decryptRequest(element.role)); + element.status = 0; + element.created_at = new Date(); + element.updated_at = new Date(); + element.login_status = 0; + }); + const result = await ctx.service.admin.addAdmin(requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "addAdmin"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统查看普通管理员账号信息 + async showAdmin() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.admin.showAdmin(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let adminMsg = []; + result.rows.forEach(element => { + adminMsg.push(element.dataValues); + }); + const data = { + adminMsg, + count: result.count + }; + this.setResponse(ctx, 200, '操作成功', "deconstruction", data); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "showAdmin"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统编辑普通管理员账号信息 + async editAdmin() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, updateMsg, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const result = await ctx.service.admin.editAdmin(uid, modelType, updateMsg, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "editAdmin"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统删除普通管理员账号信息 + async deleteAdmin() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, password, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const deCodePassword = this.decryptRequest(password); + const result = await ctx.service.admin.deleteAdmin(uid, modelType, deCodePassword, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "deleteAdmin"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统导出普通管理员账号信息数据 + async downloadAdminData() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, dataHeaders } = ctx.request.body; + const result = await ctx.service.admin.downloadAdminData(uid, searchMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "downloadAdminData"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = AdminController; diff --git a/app/controller/Application.js b/app/controller/Application.js new file mode 100644 index 0000000..d824f48 --- /dev/null +++ b/app/controller/Application.js @@ -0,0 +1,222 @@ +const Controller = require('../core/base_controller'); + +const fs = require('fs'); + +const fileName = "Application"; + +class ApplicationController extends Controller { + // 管理系统新增用户报名信息 + async addApplication() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const requestMsg = ctx.request.body.requestMsg; + let userMsgObj = { + user_name: [], + identity_card: [] + }; + requestMsg.forEach(item => { + item.user_name = this.decryptRequest(item.user_name); + item.identity_card = this.decryptRequest(item.identity_card); + item.exam_uid = this.decryptRequest(item.exam_uid); + item.source = this.decryptRequest(item.source); + item.status = Number(this.decryptRequest(item.status)); + item.pay_status = Number(this.decryptRequest(item.pay_status)); + item.result = this.decryptRequest(item.result); + userMsgObj.user_name.push(item.user_name); + userMsgObj.identity_card.push(item.identity_card); + }); + const result = await ctx.service.application.addApplication(userMsgObj, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + if (result.code == 400) { + this.setResponse(ctx, 400, '全部操作失败, 请前往导入错误记录页面查看导入错误的数据', "none"); + } else if (result.code == 300) { + this.setResponse(ctx, 300, '部分操作成功, 请前往导入错误记录页面查看导入错误的数据', "none"); + } else if (result.code == 200) { + this.setResponse(ctx, 200, '操作成功', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "addApplication"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统查看用户报名信息 + async showApplication() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.application.showApplication(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let idCardArr = []; + result.rows.forEach(item => { + idCardArr.push(item.dataValues.examinee.dataValues.identity_card); + }); + const photoResult = await ctx.service.search.checkPhoto(idCardArr); + let applicationMsg = []; + result.rows.forEach(element => { + if (photoResult == "error") { + element.dataValues.userPhotoUrl = '#'; + } + if (photoResult) { + ctx.set('Cache-Control', 'no-cache, no-store, must-revalidate'); + ctx.set("Pragma", "no-cache"); + ctx.set("Expires", "0"); + photoResult.forEach(item => { + if (element.dataValues.examinee.dataValues.identity_card == item.identity_card) { + element.dataValues.userPhotoUrl = item.photoUrl; + } + }); + } + applicationMsg.push(element.dataValues); + }); + const data = { + applicationMsg, + count: result.count + }; + this.setResponse(ctx, 200, '操作成功', "deconstruction", data); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "showApplication"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统编辑用户报名信息 + async editApplication() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, updateMsg, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const result = await ctx.service.application.editApplication(uid, modelType, updateMsg, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "editApplication"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统删除用户报名信息 + async deleteApplication() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, password, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const deCodePassword = this.decryptRequest(password); + const result = await ctx.service.application.deleteApplication(uid, modelType, deCodePassword, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "deleteApplication"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统导出考生报名信息数据 + async downloadApplicationData() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, dataHeaders } = ctx.request.body; + const result = await ctx.service.application.downloadApplicationData(uid, searchMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "downloadApplicationData"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = ApplicationController; diff --git a/app/controller/Audit.js b/app/controller/Audit.js new file mode 100644 index 0000000..811813a --- /dev/null +++ b/app/controller/Audit.js @@ -0,0 +1,71 @@ +const Controller = require('../core/base_controller'); + +const fileName = "Audit"; + +class AuditController extends Controller { + // 管理系统查看用户关键信息变更 + async auditList() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.audit.auditList(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let auditMsg = []; + result.rows.forEach(element => { + auditMsg.push(element.dataValues); + }); + const data = { + auditMsg: auditMsg, + count: result.count + }; + this.setResponse(ctx, 200, '操作成功', "deconstruction", data); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "auditList"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统审核用户关键信息变更 + async userMsgAudit() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.audit.userMsgAudit(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "userMsgAudit"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = AuditController; diff --git a/app/controller/Cntev.js b/app/controller/Cntev.js new file mode 100644 index 0000000..a244354 --- /dev/null +++ b/app/controller/Cntev.js @@ -0,0 +1,79 @@ +const Controller = require('../core/base_controller'); + +const fileName = "Cntev"; + +class CntevController extends Controller { + // 核验用户身份证二要素 + async CNTEV() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const finishedList = ctx.request.body.finishedList; + const failedResult = await ctx.service.cntev.siftFailedList(finishedList); + const validateResult = await ctx.service.cntev.validateList(finishedList); + if (failedResult == "error" || validateResult == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + let finishList = []; + if (failedResult && failedResult.length > 0) { + failedResult.forEach(async element => { + const check = await ctx.app.redis.get('db3').get(element.dataValues.identity_card); + if (check == null) { + ctx.curl('http://127.0.0.1:' + 8011 + '/CNTEV', { + dataType: 'json', + contentType: 'application/x-www-form-urlencoded', + method: 'POST', + timeout: 3000, + data: { + user_name: element.dataValues.user_name, + identity_card: element.dataValues.identity_card, + }, + }); + } else { + await ctx.service.cntev.updateCNTEV(element.dataValues.user_name, element.dataValues.identity_card, JSON.parse(check).real_check); + await ctx.app.redis.get('db3').del(element.dataValues.identity_card); + finishList.push(element.dataValues.identity_card); + } + }); + } + if (validateResult && validateResult.length > 0) { + validateResult.forEach(async element => { + const check = await ctx.app.redis.get('db3').get(element.dataValues.identity_card); + if (check == null) { + ctx.curl('http://127.0.0.1:' + 8011 + '/CNTEV', { + dataType: 'json', + contentType: 'application/x-www-form-urlencoded', + method: 'POST', + timeout: 3000, + data: { + user_name: element.dataValues.user_name, + identity_card: element.dataValues.identity_card, + }, + }); + } else { + await ctx.service.cntev.updateCNTEV(element.dataValues.user_name, element.dataValues.identity_card, JSON.parse(check).real_check); + await ctx.app.redis.get('db3').del(element.dataValues.identity_card); + finishList.push(element.dataValues.identity_card); + } + }); + } + if (failedResult && failedResult.length > 0 || validateResult && validateResult.length > 0) { + const data = { finishList }; + this.setResponse(ctx, 303, '核验中', "deconstruction", data); + } else { + this.setResponse(ctx, 200, '核验成功', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "CNTEV"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = CntevController; diff --git a/app/controller/Diff.js b/app/controller/Diff.js new file mode 100644 index 0000000..5da5bf0 --- /dev/null +++ b/app/controller/Diff.js @@ -0,0 +1,79 @@ +const Controller = require('../core/base_controller'); + +const fileName = "Diff"; + +class DiffController extends Controller { + // 比较身份证号 + async diffIdentityCard() { + const { ctx } = this; + try { + const body = ctx.request.body; + const { identity_card, type, data } = body; + const uid = data == 'null' ? null : data.split('?')[0]; + const result = await ctx.service.diff.diffIdentityCard(identity_card, type, uid); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (!result) { + this.setResponse(ctx, 404, '该身份证号已注册', "none"); + } else { + this.setResponse(ctx, 200, '验证通过', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "diffIdentityCard"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 比较邮箱 + async diffEmail() { + const { ctx } = this; + try { + const body = ctx.request.body; + const { email, type, data } = body; + const uid = data == 'null' ? null : data.split('?')[0]; + const result = await ctx.service.diff.diffEmail(email, type, uid); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (!result) { + this.setResponse(ctx, 404, '该邮箱已经注册', "none"); + } else { + this.setResponse(ctx, 200, '验证通过', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "diffEmail"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 比较电话号码 + async diffPhone() { + const { ctx } = this; + try { + const body = ctx.request.body; + const { phone, type, data } = body; + const uid = data == 'null' ? null : data.split('?')[0]; + const result = await ctx.service.diff.diffPhone(phone, type, uid); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (!result) { + this.setResponse(ctx, 404, '该手机号已注册', "none"); + } else { + this.setResponse(ctx, 200, '验证通过', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "diffPhone"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = DiffController; diff --git a/app/controller/Download.js b/app/controller/Download.js new file mode 100644 index 0000000..1a414e5 --- /dev/null +++ b/app/controller/Download.js @@ -0,0 +1,427 @@ +const Controller = require('../core/base_controller'); + +const fs = require('fs'); +const path = require('path'); + +const fileName = "Download"; + +class DownloadController extends Controller { + // 导出小鹅通导入用户 + async importXiaoeTech() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, importForm, dataHeaders } = ctx.request.body; + const result = await ctx.service.download.importXiaoeTech(uid, searchMsg, importForm); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "importXiaoeTech"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 导出小鹅通开课学员 + async commencementXiaoeTech() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, importForm, dataHeaders } = ctx.request.body; + const result = await ctx.service.download.commencementXiaoeTech(uid, searchMsg, importForm); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "commencementXiaoeTech"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 导出批量报名导入 excel 表 + async importApplicationData() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, importForm, dataHeaders } = ctx.request.body; + const result = await ctx.service.download.importApplicationData(uid, searchMsg, importForm); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "importApplicationData"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 导出考试星学员导入 excel 表 + async importExamStars() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, importForm, dataHeaders } = ctx.request.body; + const result = await ctx.service.download.importExamStars(uid, searchMsg, importForm); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "importExamStars"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 导出培训证书发放用户导入 excel 表 + async importIssuance() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, importForm, dataHeaders } = ctx.request.body; + const result = await ctx.service.download.importIssuance(uid, searchMsg, importForm); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "importIssuance"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 导出培训证书发放用户照片文件夹 + async importUserPhoto() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { searchMsg } = ctx.request.body; + const result = await ctx.service.download.importUserPhoto(uid, searchMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const directoryPath = path.join(__dirname, '../public/userPhoto'); + const outputZipPath = path.join(__dirname, '../public/userPhoto.zip'); + // const directoryPath = '/disk/a/Download/userPhoto'; + // const outputZipPath = '/disk/a/Download/userPhoto.zip'; + if (!fs.existsSync(directoryPath)) { + fs.mkdirSync(directoryPath); + console.log('文件夹创建成功'); + } else { + console.log('文件夹已存在'); + fs.rmSync(directoryPath, { recursive: true }); + console.log('文件夹已删除'); + fs.mkdirSync(directoryPath); + console.log('文件夹创建成功'); + } + result.data.forEach((element, index) => { + const imagePath = path.join(__dirname.replace(/\bbd-training-exam-manager\b/g, "bd-training-exam"), `../public/userPhoto/${element.identity_card}.jpg`); + // const imagePath = `/disk/a/userPhoto/${element.identity_card}.jpg`; + const newImagePath = path.join(directoryPath, `${element.identity_card}.jpg`); + if (fs.existsSync(imagePath)) { + fs.copyFileSync(imagePath, newImagePath); + console.log('文件复制成功'); + } else { + console.log('文件不存在'); + } + }); + // 压缩用户照片文件夹 + this.zipFolder(directoryPath, outputZipPath); + ctx.set({ + 'Content-Disposition': 'attachment; filename="userPhoto.zip"', + 'Content-Type': 'application/octet-stream', + }); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/userPhoto.zip?time=${new Date().getTime()}`, + fileName: 'userPhoto.zip', + } + this.setResponse(ctx, 200, '下载用户照片文件夹压缩文件', "deconstruction", data); + setTimeout(() => { + fs.rmSync(directoryPath, { recursive: true }); + fs.unlinkSync(outputZipPath); + }, 600000); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "importUserPhoto"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 上传用户照片 + async uploadUserPhoto() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const { files } = ctx.request; + const uploadDir = path.join(__dirname.replace(/\bbd-training-exam-manager\b/g, "bd-training-exam"), '../public/userPhoto'); // 设置文件保存目录 + // const uploadDir = '/disk/a/userPhoto'; // 设置文件保存目录 + files.forEach(element => { + const { filename, filepath } = element; + const newPath = path.join(uploadDir, filename); // 构造新文件路径 + // 确保上传目录存在 + if (!fs.existsSync(uploadDir)) { + fs.mkdirSync(uploadDir, { recursive: true }); + } + // 使用 copyFileSync 复制文件,而不是 renameSync + fs.copyFileSync(filepath, newPath); + // 删除临时文件 + fs.unlinkSync(filepath); + }); + this.setResponse(ctx, 200, '照片上传结束', "none"); + } catch (error) { + const blockName = fileName + "--" + "uploadUserPhoto"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 导出考试成绩导入 excel 表 + async importGradesData() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, formClone, dataType, passingScore, gradesType, dataHeaders } = ctx.request.body; + const result = await ctx.service.download.importGradesData(uid, formClone, dataType, passingScore, gradesType); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "importGradesData"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = DownloadController; diff --git a/app/controller/Exam.js b/app/controller/Exam.js new file mode 100644 index 0000000..5bb52c0 --- /dev/null +++ b/app/controller/Exam.js @@ -0,0 +1,192 @@ +const Controller = require('../core/base_controller'); + +const fs = require('fs'); + +const fileName = "Exam"; + +class ExamController extends Controller { + // 管理系统新增考试信息 + async addExam() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const requestMsg = ctx.request.body.requestMsg; + requestMsg.forEach(element => { + element.uid = this.decryptRequest(element.uid); + element.exam_name = this.decryptRequest(element.exam_name); + element.status = Number(this.decryptRequest(element.status)); + element.application_start = element.application_start; + element.application_end = element.application_end; + element.exam_start = element.exam_start; + element.exam_end = element.exam_end; + }); + const result = await ctx.service.exam.addExam(requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "addExam"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统查看考试信息 + async showExam() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.exam.showExam(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let examMsg = []; + result.rows.forEach(element => { + examMsg.push(element.dataValues); + }); + const data = { + examMsg, + count: result.count + }; + this.setResponse(ctx, 200, '操作成功', "deconstruction", data); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "showExam"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统编辑考试信息 + async editExam() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, updateMsg, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const result = await ctx.service.exam.editExam(uid, modelType, updateMsg, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "editExam"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统删除考试信息 + async deleteExam() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, password, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const deCodePassword = this.decryptRequest(password); + const result = await ctx.service.exam.deleteExam(uid, modelType, deCodePassword, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "deleteExam"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统导出考试信息数据 + async downloadExamData() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, dataHeaders } = ctx.request.body; + const result = await ctx.service.exam.downloadExamData(uid, searchMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "downloadExamData"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = ExamController; diff --git a/app/controller/Find.js b/app/controller/Find.js new file mode 100644 index 0000000..71c8dcf --- /dev/null +++ b/app/controller/Find.js @@ -0,0 +1,121 @@ +const Controller = require('../core/base_controller'); + +const fileName = "Find"; + +class FindController extends Controller { + // 管理系统检索考生姓名 + async findUserName() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.find.findUserName(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "findUserName"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统检索考生身份证号 + async findIdentityCard() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.find.findIdentityCard(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code == 200) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else if (result.code == 303) { + this.setResponse(ctx, 303, '信息不匹配', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "findIdentityCard"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统检索考试uid + async findExamUid() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.find.findExamUid(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "findExamUid"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统查找指定工作单位 + async findWorkplace() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.find.findWorkplace(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "findWorkplace"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = FindController; diff --git a/app/controller/Grades.js b/app/controller/Grades.js new file mode 100644 index 0000000..9560089 --- /dev/null +++ b/app/controller/Grades.js @@ -0,0 +1,221 @@ +const Controller = require('../core/base_controller'); + +const fs = require('fs'); + +const fileName = "Grades"; + +class GradesController extends Controller { + // 管理系统新增用户考试结果 + async addGrades() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const requestMsg = ctx.request.body.requestMsg; + let userMsgObj = { + user_name: [], + identity_card: [] + }; + requestMsg.forEach(item => { + item.user_name = this.decryptRequest(item.user_name); + item.identity_card = this.decryptRequest(item.identity_card); + item.exam_uid = this.decryptRequest(item.exam_uid); + item.status = Number(this.decryptRequest(item.status)); + item.grades = this.decryptRequest(item.grades) == 'undefined' ? null : Number(this.decryptRequest(item.grades)); + item.pass_type = Number(this.decryptRequest(item.pass_type)); + userMsgObj.user_name.push(item.user_name); + userMsgObj.identity_card.push(item.identity_card); + }); + const result = await ctx.service.grades.addGrades(userMsgObj, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + if (result.code == 400) { + this.setResponse(ctx, 400, '全部操作失败, 请前往导入错误记录页面查看导入错误的数据', "none"); + } else if (result.code == 300) { + this.setResponse(ctx, 300, '部分操作成功, 请前往导入错误记录页面查看导入错误的数据', "none"); + } else if (result.code == 200) { + this.setResponse(ctx, 200, '操作成功', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "addGrades"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统查看用户考试结果 + async showGrades() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.grades.showGrades(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let idCardArr = []; + result.rows.forEach(item => { + idCardArr.push(item.dataValues.examinee.dataValues.identity_card); + }); + const photoResult = await ctx.service.search.checkPhoto(idCardArr); + let gradesMsg = []; + result.rows.forEach(element => { + if (photoResult == "error") { + element.dataValues.userPhotoUrl = '#'; + } + if (photoResult) { + ctx.set('Cache-Control', 'no-cache, no-store, must-revalidate'); + ctx.set("Pragma", "no-cache"); + ctx.set("Expires", "0"); + photoResult.forEach(item => { + if (element.dataValues.examinee.dataValues.identity_card == item.identity_card) { + element.dataValues.userPhotoUrl = item.photoUrl; + } + }); + } + gradesMsg.push(element.dataValues); + }); + const data = { + gradesMsg, + count: result.count + }; + this.setResponse(ctx, 200, '操作成功', "deconstruction", data); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "showGrades"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统编辑用户考试结果 + async editGrades() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, updateMsg, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const result = await ctx.service.grades.editGrades(uid, modelType, updateMsg, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "editGrades"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统删除用户考试结果 + async deleteGrades() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, password, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const deCodePassword = this.decryptRequest(password); + const result = await ctx.service.grades.deleteGrades(uid, modelType, deCodePassword, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "deleteGrades"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统导出考生考试结果数据 + async downloadGradesData() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, dataHeaders } = ctx.request.body; + const result = await ctx.service.grades.downloadGradesData(uid, searchMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "downloadGradesData"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = GradesController; diff --git a/app/controller/Importerror.js b/app/controller/Importerror.js new file mode 100644 index 0000000..98c6bb8 --- /dev/null +++ b/app/controller/Importerror.js @@ -0,0 +1,75 @@ +'use strict'; + +const Controller = require('../core/base_controller'); + +const fileName = "Importerror"; + +class ImporterrorController extends Controller { + // 查看导入错误记录 + async showImporterror() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const body = ctx.request.body; + const result = await ctx.service.importerror.showImporterror(body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let importerrorMsg = []; + result.rows.forEach(element => { + importerrorMsg.push(element.dataValues); + }); + const data = { + importerrorMsg, + count: result.count + }; + this.setResponse(ctx, 200, '搜索导入错误记录成功', "deconstruction", data); + } else { + this.setResponse(ctx, 404, '搜索导入错误记录失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "showImporterror"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 删除导入错误记录 + async deleteImporterror() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const { model, password, requestMsg } = body + const modelType = this.decryptRequest(model); + const deCodePassword = this.decryptRequest(password); + const result = await ctx.service.importerror.deleteImporterror(uid, modelType, deCodePassword, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '删除导入错误记录成功', "none"); + } else { + this.setResponse(ctx, 404, '删除导入错误记录失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "deleteImporterror"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = ImporterrorController; \ No newline at end of file diff --git a/app/controller/Interlocution.js b/app/controller/Interlocution.js new file mode 100644 index 0000000..9301034 --- /dev/null +++ b/app/controller/Interlocution.js @@ -0,0 +1,192 @@ +const Controller = require('../core/base_controller'); + +const fs = require('fs'); + +const fileName = "Interlocution"; + +class InterlocutionController extends Controller { + // 管理系统新增问答题 + async addInterlocution() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const requestMsg = ctx.request.body.requestMsg; + requestMsg.forEach(element => { + if (element.difficulty == '简单') { + element.difficulty = 0; + } else if (element.difficulty == '普通') { + element.difficulty = 1; + } else if (element.difficulty == '困难') { + element.difficulty = 2; + } + }); + const result = await ctx.service.interlocution.addInterlocution(requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "addInterlocution"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统查看问答题 + async showInterlocution() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.interlocution.showInterlocution(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let interlocutionMsg = []; + result.rows.forEach(element => { + interlocutionMsg.push(element.dataValues); + }); + const data = { + interlocutionMsg, + count: result.count + }; + this.setResponse(ctx, 200, '操作成功', "deconstruction", data); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "showInterlocution"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统编辑问答题 + async editInterlocution() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, updateMsg, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const result = await ctx.service.interlocution.editInterlocution(uid, modelType, updateMsg, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "editInterlocution"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统删除问答题 + async deleteInterlocution() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, password, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const deCodePassword = this.decryptRequest(password); + const result = await ctx.service.interlocution.deleteInterlocution(uid, modelType, deCodePassword, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "deleteInterlocution"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统导出问答题数据 + async downloadInterlocutionData() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, dataHeaders } = ctx.request.body; + const result = await ctx.service.interlocution.downloadInterlocutionData(uid, searchMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "downloadInterlocutionData"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = InterlocutionController; diff --git a/app/controller/Judgment.js b/app/controller/Judgment.js new file mode 100644 index 0000000..8ca0cf7 --- /dev/null +++ b/app/controller/Judgment.js @@ -0,0 +1,194 @@ +const Controller = require('../core/base_controller'); + +const fs = require('fs'); + +const fileName = "Judgment"; + +class JudgmentController extends Controller { + // 管理系统新增判断题 + async addJudgment() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const requestMsg = ctx.request.body.requestMsg; + requestMsg.forEach(element => { + element.answer = element.answer == '正确' ? true : false; + if (element.difficulty == '简单') { + element.difficulty = 0; + } else if (element.difficulty == '普通') { + element.difficulty = 1; + } else if (element.difficulty == '困难') { + element.difficulty = 2; + } + }); + const result = await ctx.service.judgment.addJudgment(requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "addJudgment"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统查看判断题 + async showJudgment() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.judgment.showJudgment(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let judgmentMsg = []; + result.rows.forEach(element => { + judgmentMsg.push(element.dataValues); + }); + const data = { + judgmentMsg, + count: result.count + }; + this.setResponse(ctx, 200, '操作成功', "deconstruction", data); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "showJudgment"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统编辑判断题 + async editJudgment() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, updateMsg, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + updateMsg.answer = updateMsg.answer == '1' ? true : false; + const result = await ctx.service.judgment.editJudgment(uid, modelType, updateMsg, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "editJudgment"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统删除判断题 + async deleteJudgment() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, password, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const deCodePassword = this.decryptRequest(password); + const result = await ctx.service.judgment.deleteJudgment(uid, modelType, deCodePassword, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "deleteJudgment"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统导出判断题数据 + async downloadJudgmentData() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, dataHeaders } = ctx.request.body; + const result = await ctx.service.judgment.downloadJudgmentData(uid, searchMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "downloadJudgmentData"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = JudgmentController; diff --git a/app/controller/Monitoring.js b/app/controller/Monitoring.js new file mode 100644 index 0000000..57da8e4 --- /dev/null +++ b/app/controller/Monitoring.js @@ -0,0 +1,75 @@ +'use strict'; + +const Controller = require('../core/base_controller'); + +const fileName = "Monitoring"; + +class MonitoringController extends Controller { + // 查看危险操作记录 + async showMonitoring() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const body = ctx.request.body; + const result = await ctx.service.monitoring.showMonitoring(body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let monitoringMsg = []; + result.rows.forEach(element => { + monitoringMsg.push(element.dataValues); + }); + const data = { + monitoringMsg, + count: result.count + }; + this.setResponse(ctx, 200, '搜索危险操作记录成功', "deconstruction", data); + } else { + this.setResponse(ctx, 404, '搜索危险操作记录失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "showMonitoring"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 删除危险操作记录 + async deleteMonitoring() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const { model, password, requestMsg } = body + const modelType = this.decryptRequest(model); + const deCodePassword = this.decryptRequest(password); + const result = await ctx.service.monitoring.deleteMonitoring(uid, modelType, deCodePassword, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '删除危险操作记录成功', "none"); + } else { + this.setResponse(ctx, 404, '删除危险操作记录失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "deleteMonitoring"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = MonitoringController; \ No newline at end of file diff --git a/app/controller/Multiple.js b/app/controller/Multiple.js new file mode 100644 index 0000000..f220d1b --- /dev/null +++ b/app/controller/Multiple.js @@ -0,0 +1,192 @@ +const Controller = require('../core/base_controller'); + +const fs = require('fs'); + +const fileName = "Multiple"; + +class MultipleController extends Controller { + // 管理系统新增多选题 + async addMultiple() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const requestMsg = ctx.request.body.requestMsg; + requestMsg.forEach(element => { + if (element.difficulty == '简单') { + element.difficulty = 0; + } else if (element.difficulty == '普通') { + element.difficulty = 1; + } else if (element.difficulty == '困难') { + element.difficulty = 2; + } + }); + const result = await ctx.service.multiple.addMultiple(requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "addMultiple"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统查看多选题 + async showMultiple() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.multiple.showMultiple(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let multipleMsg = []; + result.rows.forEach(element => { + multipleMsg.push(element.dataValues); + }); + const data = { + multipleMsg, + count: result.count + }; + this.setResponse(ctx, 200, '操作成功', "deconstruction", data); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "showMultiple"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统编辑多选题 + async editMultiple() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, updateMsg, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const result = await ctx.service.multiple.editMultiple(uid, modelType, updateMsg, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "editMultiple"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统删除多选题 + async deleteMultiple() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, password, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const deCodePassword = this.decryptRequest(password); + const result = await ctx.service.multiple.deleteMultiple(uid, modelType, deCodePassword, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "deleteMultiple"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统导出多选题数据 + async downloadMultipleData() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, dataHeaders } = ctx.request.body; + const result = await ctx.service.multiple.downloadMultipleData(uid, searchMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "downloadMultipleData"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = MultipleController; diff --git a/app/controller/Radio.js b/app/controller/Radio.js new file mode 100644 index 0000000..cfdfc99 --- /dev/null +++ b/app/controller/Radio.js @@ -0,0 +1,192 @@ +const Controller = require('../core/base_controller'); + +const fs = require('fs'); + +const fileName = "Radio"; + +class RadioController extends Controller { + // 管理系统新增单选题 + async addRadio() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const requestMsg = ctx.request.body.requestMsg; + requestMsg.forEach(element => { + if (element.difficulty == '简单') { + element.difficulty = 0; + } else if (element.difficulty == '普通') { + element.difficulty = 1; + } else if (element.difficulty == '困难') { + element.difficulty = 2; + } + }); + const result = await ctx.service.radio.addRadio(requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "addRadio"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统查看单选题 + async showRadio() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.radio.showRadio(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let radioMsg = []; + result.rows.forEach(element => { + radioMsg.push(element.dataValues); + }); + const data = { + radioMsg, + count: result.count + }; + this.setResponse(ctx, 200, '操作成功', "deconstruction", data); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "showRadio"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统编辑单选题 + async editRadio() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, updateMsg, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const result = await ctx.service.radio.editRadio(uid, modelType, updateMsg, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "editRadio"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统删除单选题 + async deleteRadio() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, password, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const deCodePassword = this.decryptRequest(password); + const result = await ctx.service.radio.deleteRadio(uid, modelType, deCodePassword, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "deleteRadio"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统导出单选题数据 + async downloadRadioData() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, dataHeaders } = ctx.request.body; + const result = await ctx.service.radio.downloadRadioData(uid, searchMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "downloadRadioData"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = RadioController; diff --git a/app/controller/Search.js b/app/controller/Search.js new file mode 100644 index 0000000..90fccd5 --- /dev/null +++ b/app/controller/Search.js @@ -0,0 +1,167 @@ +const Controller = require('../core/base_controller'); + +const fileName = "Search"; + +class SearchController extends Controller { + // 管理系统检索考生姓名 + async searchUserName() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.search.searchUserName(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let userName = []; + result.forEach(element => { + userName.push({ value: element.dataValues.user_name }); + }); + this.setResponse(ctx, 200, '操作成功', "polymerization", userName); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "searchUserName"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统检索考生身份证号 + async searchIdentityCard() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.search.searchIdentityCard(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let identityCard = []; + result.forEach(element => { + identityCard.push({ value: element.dataValues.identity_card }); + }); + this.setResponse(ctx, 200, '操作成功', "polymerization", identityCard); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "searchIdentityCard"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统检索考试uid + async searchExamUid() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.search.searchExamUid(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let examUid = []; + result.forEach(element => { + examUid.push({ value: element.dataValues.uid }); + }); + this.setResponse(ctx, 200, '操作成功', "polymerization", examUid); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "searchExamUid"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统检索工作单位 + async searchWorkplace() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.search.searchWorkplace(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let workplace = []; + result.forEach(element => { + workplace.push({ value: element.dataValues.workplace }); + }); + this.setResponse(ctx, 200, '操作成功', "polymerization", workplace); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "searchWorkplace"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统检索报名结果说明 + async searchResult() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const results = await ctx.service.search.searchResult(uid, body); + if (results == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (results) { + let result = []; + results.forEach(element => { + result.push({ value: element.dataValues.result }); + }); + this.setResponse(ctx, 200, '操作成功', "polymerization", result); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "searchResult"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = SearchController; diff --git a/app/controller/TopicWhitelist.js b/app/controller/TopicWhitelist.js new file mode 100644 index 0000000..1c48af2 --- /dev/null +++ b/app/controller/TopicWhitelist.js @@ -0,0 +1,215 @@ +const Controller = require('../core/base_controller'); + +const fs = require('fs'); + +const fileName = "TopicWhitelist"; + +class TopicWhitelistController extends Controller { + // 管理系统新增题库白名单 + async addTopicWhitelist() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const requestMsg = ctx.request.body.requestMsg; + let userMsgObj = { + phone: [], + }; + console.log(requestMsg) + requestMsg.forEach(item => { + item.phone = this.decryptRequest(item.phone); + item.type = Number(this.decryptRequest(item.type)); + if (item.expired_at) { + item.expired_at = this.decryptRequest(item.expired_at); + } else { + item.expired_at = null; + } + userMsgObj.phone.push(item.phone); + }); + const result = await ctx.service.topicWhitelist.addTopicWhitelist(userMsgObj, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "addTopicWhitelist"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统查看题库白名单 + async showTopicWhitelist() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.topicWhitelist.showTopicWhitelist(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let idCardArr = []; + result.rows.forEach(item => { + idCardArr.push(item.dataValues.examinee.dataValues.identity_card); + }); + const photoResult = await ctx.service.search.checkPhoto(idCardArr); + let topicWhitelistMsg = []; + result.rows.forEach(element => { + if (photoResult == "error") { + element.dataValues.userPhotoUrl = '#'; + } + if (photoResult) { + ctx.set('Cache-Control', 'no-cache, no-store, must-revalidate'); + ctx.set("Pragma", "no-cache"); + ctx.set("Expires", "0"); + photoResult.forEach(item => { + if (element.dataValues.examinee.dataValues.identity_card == item.identity_card) { + element.dataValues.userPhotoUrl = item.photoUrl; + } + }); + } + topicWhitelistMsg.push(element.dataValues); + }); + const data = { + topicWhitelistMsg, + count: result.count + }; + this.setResponse(ctx, 200, '操作成功', "deconstruction", data); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "showTopicWhitelist"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统编辑题库白名单 + async editTopicWhitelist() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, updateMsg, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const result = await ctx.service.topicWhitelist.editTopicWhitelist(uid, modelType, updateMsg, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "editTopicWhitelist"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统删除题库白名单 + async deleteTopicWhitelist() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, password, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const deCodePassword = this.decryptRequest(password); + const result = await ctx.service.topicWhitelist.deleteTopicWhitelist(uid, modelType, deCodePassword, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "deleteTopicWhitelist"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统导出题库白名单 + async downloadTopicWhitelistData() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, dataHeaders } = ctx.request.body; + const result = await ctx.service.topicWhitelist.downloadTopicWhitelistData(uid, searchMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "downloadTopicWhitelistData"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = TopicWhitelistController; diff --git a/app/controller/User.js b/app/controller/User.js new file mode 100644 index 0000000..c7bad9d --- /dev/null +++ b/app/controller/User.js @@ -0,0 +1,218 @@ +const Controller = require('../core/base_controller'); + +const fs = require('fs'); + +const fileName = "User"; + +class UserController extends Controller { + // 管理系统新增用户账号信息 + async addUser() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const requestMsg = ctx.request.body.requestMsg; + requestMsg.forEach(element => { + const salt = this.generateRandomString(); + element.uid = this.generateNumberString('E'); + element.salt = this.encryptRequest(salt); + element.password = this.shaForm(this.decryptRequest(element.identity_card).slice(-6), salt); + element.user_name = this.decryptRequest(element.user_name); + element.identity_card = this.decryptRequest(element.identity_card); + element.real_check = 0; + element.workplace = this.decryptRequest(element.workplace); + element.address = this.decryptRequest(element.address); + element.phone = this.decryptRequest(element.phone); + element.email = this.decryptRequest(element.email); + element.status = 0; + element.created_at = new Date(); + element.updated_at = new Date(); + element.login_status = 0; + }); + const result = await ctx.service.user.addUser(requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "addUser"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统查看用户账号信息 + async showUser() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const body = ctx.request.body; + const result = await ctx.service.user.showUser(uid, body); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + let idCardArr = []; + result.rows.forEach(item => { + idCardArr.push(item.dataValues.identity_card); + }); + const photoResult = await ctx.service.search.checkPhoto(idCardArr); + let userMsg = []; + result.rows.forEach(element => { + if (photoResult == "error") { + element.dataValues.userPhotoUrl = '#'; + } + if (photoResult) { + ctx.set('Cache-Control', 'no-cache, no-store, must-revalidate'); + ctx.set("Pragma", "no-cache"); + ctx.set("Expires", "0"); + photoResult.forEach(item => { + if (element.dataValues.identity_card == item.identity_card) { + element.dataValues.userPhotoUrl = item.photoUrl; + } + }); + } + userMsg.push(element.dataValues); + }); + const data = { + userMsg, + count: result.count + }; + this.setResponse(ctx, 200, '操作成功', "deconstruction", data); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "showUser"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统编辑用户账号信息 + async editUser() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, updateMsg, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const result = await ctx.service.user.editUser(uid, modelType, updateMsg, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "editUser"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统删除用户账号信息 + async deleteUser() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { model, password, requestMsg } = ctx.request.body; + const modelType = this.decryptRequest(model); + const deCodePassword = this.decryptRequest(password); + const result = await ctx.service.user.deleteUser(uid, modelType, deCodePassword, requestMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result) { + this.setResponse(ctx, 200, '操作成功', "none"); + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "deleteUser"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } + + // 管理系统导出用户账号信息数据 + async downloadUserData() { + const { ctx } = this; + try { + let rdmcode = await this.checkUid(ctx); + if (!rdmcode) { + this.setResponse(ctx, 401, 'token过期或错误', "none"); + return; + } + const uid = JSON.parse(rdmcode).uid; + const { form, searchMsg, dataHeaders } = ctx.request.body; + const result = await ctx.service.user.downloadUserData(uid, searchMsg); + if (result == "error") { + this.setResponse(ctx, 500, '服务器错误', "none"); + return; + } + if (result.code) { + const file = this.downloadData(form, result.data, dataHeaders); + if (file) { + const { filePath, completeName, buf } = file; + try { + fs.writeFileSync(filePath, Buffer.from(buf)); + const data = { + // 本机服务器地址 + // 'http://127.0.0.1:8020' + // 'http://192.168.31.28:8020' + // 公司服务器地址 + // 'http://123.57.205.46:8020' + // 'http://certadmin.hwasmart.com//bdTrainingExamManager' + fileUrl: 'http://127.0.0.1:8020' + `/public/${completeName}?time=${new Date().getTime()}`, + fileName: completeName, + } + this.setResponse(ctx, 200, '文件已成功写入', "deconstruction", data); + setTimeout(() => { + fs.unlinkSync(filePath); + }, 600000); + } catch (error) { + this.setResponse(ctx, 500, '写入文件时发生错误', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } else { + this.setResponse(ctx, 404, '操作失败', "none"); + } + } catch (error) { + const blockName = fileName + "--" + "downloadUserData"; + ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); + this.setResponse(ctx, 500, '服务器错误', "none"); + } + } +} + +module.exports = UserController; diff --git a/app/core/base_controller.js b/app/core/base_controller.js new file mode 100644 index 0000000..0aedde3 --- /dev/null +++ b/app/core/base_controller.js @@ -0,0 +1,190 @@ +const { Controller } = require('egg'); + +const sha256 = require("crypto-js/sha256"); + +const CryptoJS = require("crypto-js"); + +const XLSX = require('xlsx'); + +const fs = require('fs'); + +const archiver = require('archiver'); + +const KEY = CryptoJS.enc.Utf8.parse('BDQH'); + +class BaseController extends Controller { + shaForm = (body, salt) => { + return sha256(sha256(body).toString() + salt).toString(); + } + + encryptRequest = (body) => { + return CryptoJS.AES.encrypt(body, KEY, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }).toString(); + } + + decryptRequest = (body) => { + return CryptoJS.AES.decrypt(body, KEY, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8); + } + + // 用户uid生成函数 + generateNumberString = (side) => { + // 获取当前日期(年月日) + const now = new Date(); + const year = String(now.getFullYear()).padStart(4, '0'); + const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以加1 + const date = String(now.getDate()).padStart(2, '0'); + const dateString = year + month + date; + + // 获取当前时间戳的后三位 + const timestamp = String(Date.now()).slice(-3); + + // 生成三位随机数字 + const randomDigits = Math.floor(Math.random() * 100).toString().padStart(3, '0'); + + // 组合成最终的15位字符串 + const fullNumberString = dateString + timestamp + randomDigits + side; + + return fullNumberString; + } + + // 随机盐生成函数 + generateRandomString = () => { + const lowerCaseLetters = 'abcdefghijklmnopqrstuvwxyz'; + const upperCaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + const numbers = '0123456789'; + + let result = ''; + + // 生成5位随机小写字母 + for (let i = 0; i < 5; i++) { + const randomIndex = Math.floor(Math.random() * lowerCaseLetters.length); + result += lowerCaseLetters[randomIndex]; + } + + // 生成5位随机大写字母 + for (let i = 0; i < 5; i++) { + const randomIndex = Math.floor(Math.random() * upperCaseLetters.length); + result += upperCaseLetters[randomIndex]; + } + + // 生成2位随机数字 + for (let i = 0; i < 2; i++) { + const randomIndex = Math.floor(Math.random() * numbers.length); + result += numbers[randomIndex]; + } + + // 打乱整个字符串 + const characters = result.split(''); + for (let i = characters.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [characters[i], characters[j]] = [characters[j], characters[i]]; + } + + return characters.join(''); + } + + // 随机生成12位客户端id + generateClientId = () => { + const numbers = '0123456789'; + + let result = ''; + + // 生成4位随机数字 + for (let i = 0; i < 4; i++) { + const randomIndex = Math.floor(Math.random() * numbers.length); + result += numbers[randomIndex]; + } + + // 打乱整个字符串 + const characters = result.split(''); + for (let i = characters.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [characters[i], characters[j]] = [characters[j], characters[i]]; + } + + // 获取当前日期(年月日) + const now = new Date(); + const year = String(now.getFullYear()).padStart(4, '0'); + const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以加1 + const date = String(now.getDate()).padStart(2, '0'); + const dateString = year + month + date; + + const fullNumberString = dateString + characters.join(''); + + return fullNumberString; + } + + checkUid = async (ctx) => { + const token = ctx.request.header.authorization; + const redis = ctx.app.redis; + const examManager = await redis.get('db7').get(token); + return examManager ? examManager : false; + }; + + setResponse = (ctx, code, msg, model, data = {}) => { + const modelType = { + "none": { code, msg }, + "deconstruction": { code, msg, ...data }, + "polymerization": { code, msg, data } + } + ctx.body = modelType[model]; + } + + downloadData = (form, data, dataHeaders) => { + let extensionName = ['.xlsx', '.xls', '.csv'], buf; + const { sheetName, fileName, extensionType } = form; + if (extensionName[extensionType] == '.xlsx' || extensionName[extensionType] == '.xls') { + // 使用xlsx库将数据转换为工作表和工作簿 + const ws = XLSX.utils.json_to_sheet(data); + // 动态设置表头 + dataHeaders.forEach((header, index) => { + const cellRef = XLSX.utils.encode_cell({ r: 0, c: index }); // 生成单元格引用,如A1, B1等 + ws[cellRef] = { v: header, t: "s" }; // 设置单元格的值和类型 + }); + // 创建一个新的工作簿并添加工作表 + const wb = XLSX.utils.book_new(); + // 将工作表添加到工作簿中,并指定其名称 + XLSX.utils.book_append_sheet(wb, ws, sheetName); + if (extensionName[extensionType] == '.xlsx') { + // 将工作簿写入字符串(二进制) + buf = XLSX.write(wb, { bookType: 'xlsx', type: 'array' }); + } else if (extensionName[extensionType] == '.xls') { + // 将工作簿写入字符串(二进制) + buf = XLSX.write(wb, { bookType: 'xls', type: 'array' }); + } + } else if (extensionName[extensionType] == '.csv') { + // 将数据转换为CSV格式的字符串 + buf = data.map(row => row.join(',')).join('\n') + '\n'; + } + // 将文件的内容返回给控制器作为响应体发送给客户端 + if (buf) { + const completeName = fileName + extensionName[extensionType]; + const filePath = 'app/public/' + completeName; + // const filePath = '/disk/a/Download/' + completeName; + return { filePath, completeName, buf }; + }; + return false; + }; + + zipFolder = (sourceDir, outputZipPath) => { + // 创建可写流来写入数据 + const output = fs.createWriteStream(outputZipPath); // 将压缩包保存到当前项目的目录下 + const archive = archiver('zip', { zlib: { level: 9 } }); // 设置压缩等级 + + // 建立管道连接 + archive.pipe(output); + + // 压缩目录到压缩包中 + archive.directory(sourceDir + '/', false); + + // 完成压缩 + archive.finalize(); + } +} + +module.exports = BaseController; \ No newline at end of file diff --git a/app/core/base_service.js b/app/core/base_service.js new file mode 100644 index 0000000..5bf3b3a --- /dev/null +++ b/app/core/base_service.js @@ -0,0 +1,88 @@ +const { Service } = require('egg'); + +const { Op } = require('sequelize'); + +const sha256 = require("crypto-js/sha256"); + +const CryptoJS = require("crypto-js"); + +const KEY = CryptoJS.enc.Utf8.parse('BDQH'); + +class BaseService extends Service { + shaForm = (body, salt) => { + return sha256(sha256(body).toString() + salt).toString(); + } + + encryptRequest = (body) => { + return CryptoJS.AES.encrypt(body, KEY, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }).toString(); + } + + decryptRequest = (body) => { + return CryptoJS.AES.decrypt(body, KEY, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8); + } + + // uid生成函数 + generateNumberString = () => { + // 获取当前日期(年月日) + const now = new Date(); + const year = String(now.getFullYear()).padStart(4, '0'); + const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以加1 + const date = String(now.getDate()).padStart(2, '0'); + const dateString = year + month + date; + + // 获取当前时间戳的后四位 + const timestamp = String(Date.now()).slice(-4); + + // 生成四位随机数字 + const randomDigits = Math.floor(Math.random() * 10000).toString().padStart(4, '0'); + + // 组合成最终的16位数字字符串 + const fullNumberString = dateString + timestamp + randomDigits; + + return fullNumberString; + } + + // 随机盐生成函数 + generateRandomString = () => { + const lowerCaseLetters = 'abcdefghijklmnopqrstuvwxyz'; + const upperCaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + const numbers = '0123456789'; + + let result = ''; + + // 生成5位随机小写字母 + for (let i = 0; i < 5; i++) { + const randomIndex = Math.floor(Math.random() * lowerCaseLetters.length); + result += lowerCaseLetters[randomIndex]; + } + + // 生成5位随机大写字母 + for (let i = 0; i < 5; i++) { + const randomIndex = Math.floor(Math.random() * upperCaseLetters.length); + result += upperCaseLetters[randomIndex]; + } + + // 生成2位随机数字 + for (let i = 0; i < 2; i++) { + const randomIndex = Math.floor(Math.random() * numbers.length); + result += numbers[randomIndex]; + } + + // 打乱整个字符串 + const characters = result.split(''); + for (let i = characters.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [characters[i], characters[j]] = [characters[j], characters[i]]; + } + + return characters.join(''); + } +} + +module.exports = BaseService; \ No newline at end of file diff --git a/app/middleware/log.js b/app/middleware/log.js new file mode 100644 index 0000000..6d7323a --- /dev/null +++ b/app/middleware/log.js @@ -0,0 +1,72 @@ +// 错误日志 +const fs = require('fs'); +const os = require('os'); +const path = require('path'); + +const dirCheck = (dirPath) => { + // 检查文件夹是否存在 + fs.access(dirPath, fs.constants.F_OK, (err) => { + if (err) { + // 文件夹不存在 + console.log('文件夹不存在,正在创建...'); + fs.mkdir(dirPath, { recursive: true }, (err) => { + if (err) throw err; + console.log('文件夹已创建'); + }); + } else { + // 文件夹存在 + console.log('文件夹已存在'); + } + }); +} + +module.exports = (filePath, msg) => { + // 获取时间 + let now = new Date(), + times = { + year: now.getFullYear(), + month: now.getMonth() + 1, + day: now.getDate(), + hour: now.getHours(), + minute: now.getMinutes(), + second: now.getSeconds() + }; + // 获取操作系统类型 + const type = os.type(); + console.log(`操作系统类型: ${type}`); + filePath = path.join(__dirname, filePath); + dirCheck(filePath); + const yearPath = filePath + '/' + times.year; + dirCheck(yearPath); + const monthPath = yearPath + '/' + times.month; + dirCheck(monthPath); + const dayPath = monthPath + '/' + times.day + '.txt'; + const logTime = '[' + times.year + '-' + times.month + '-' + times.day + '>>>' + times.hour + ':' + times.minute + ':' + times.second + ']' + '>>>'; + let crlf; + // 判断操作系统类型,设置换行符 + if (type === 'Windows_NT') { + crlf = '\n'; + } else { + crlf = '\r\n'; + } + // 读取文件内容 + fs.readFile(dayPath, 'utf8', (err, data) => { + if (err) { + if (err.code === 'ENOENT') { + // 文件不存在,直接写入新内容(这里实际上还是使用了覆盖的方式) + fs.writeFile(dayPath, logTime + msg + crlf, (err) => { + if (err) throw err; + console.log('文件已创建并写入新内容'); + }); + } else { + throw err; + } + } else { + // 文件存在,追加新内容 + fs.appendFile(dayPath, logTime + msg + crlf, (err) => { + if (err) throw err; + console.log('新内容已追加到文件'); + }); + } + }); +}; \ No newline at end of file diff --git a/app/model/Application.js b/app/model/Application.js new file mode 100644 index 0000000..db07c9b --- /dev/null +++ b/app/model/Application.js @@ -0,0 +1,23 @@ +'use strict'; + +module.exports = (app) => { + const { INTEGER, CHAR, STRING, DATE } = app.Sequelize; + + const Application = app.model.define('application', { + id: { type: INTEGER(8), primaryKey: true, autoIncrement: true }, + user_uid: CHAR(15), + exam_uid: CHAR(10), + source: STRING(24), + status: INTEGER(3), + pay_status: INTEGER(3), + result: STRING(24), + created_at: DATE, + },{ + freezeTableName: true, + timestamp: true, + createdAt: true, + updatedAt: false, + }); + + return Application; +}; \ No newline at end of file diff --git a/app/model/Audit.js b/app/model/Audit.js new file mode 100644 index 0000000..850bc10 --- /dev/null +++ b/app/model/Audit.js @@ -0,0 +1,21 @@ +'use strict'; + +module.exports = (app) => { + const { INTEGER, CHAR, STRING, DATE } = app.Sequelize; + + const Audit = app.model.define('audit', { + id: { type: INTEGER(8), primaryKey: true, autoIncrement: true }, + user_uid: CHAR(15), + identity_card: CHAR(18), + user_name: STRING(6), + status: INTEGER(3), + created_at: DATE, + },{ + freezeTableName: true, + timestamp: true, + createdAt: true, + updatedAt: false, + }); + + return Audit; +}; \ No newline at end of file diff --git a/app/model/Examination.js b/app/model/Examination.js new file mode 100644 index 0000000..aac627a --- /dev/null +++ b/app/model/Examination.js @@ -0,0 +1,23 @@ +'use strict'; + +module.exports = (app) => { + const { INTEGER, CHAR, STRING, DATE } = app.Sequelize; + + const Examination = app.model.define('examination', { + id: { type: INTEGER(8), primaryKey: true, autoIncrement: true }, + uid: CHAR(10), + exam_name: STRING(60), + status: INTEGER(3), + application_start: DATE, + application_end: DATE, + exam_start: DATE, + exam_end: DATE, + },{ + freezeTableName: true, + timestamp: true, + createdAt: false, + updatedAt: false, + }); + + return Examination; +}; \ No newline at end of file diff --git a/app/model/Examinee.js b/app/model/Examinee.js new file mode 100644 index 0000000..7a1a495 --- /dev/null +++ b/app/model/Examinee.js @@ -0,0 +1,31 @@ +'use strict'; + +module.exports = (app) => { + const { INTEGER, CHAR, STRING, DATE } = app.Sequelize; + + const Examinee = app.model.define('examinee', { + id: { type: INTEGER(8), primaryKey: true, autoIncrement: true }, + uid: CHAR(15), + salt: CHAR(24), + password: CHAR(64), + user_name: STRING(10), + identity_card: CHAR(18), + real_check: INTEGER(3), + workplace: STRING(60), + address: STRING(120), + phone: CHAR(11), + email: STRING(60), + referrers: STRING(60), + status: INTEGER(3), + created_at: DATE, + updated_at: DATE, + login_status: INTEGER(3), + },{ + freezeTableName: true, + timestamp: true, + createdAt: true, + updatedAt: true, + }); + + return Examinee; +}; \ No newline at end of file diff --git a/app/model/Grades.js b/app/model/Grades.js new file mode 100644 index 0000000..72174f4 --- /dev/null +++ b/app/model/Grades.js @@ -0,0 +1,21 @@ +'use strict'; + +module.exports = (app) => { + const { INTEGER, CHAR, STRING } = app.Sequelize; + + const Grades = app.model.define('grades', { + id: { type: INTEGER(8), primaryKey: true, autoIncrement: true }, + user_uid: CHAR(15), + exam_uid: CHAR(10), + status: INTEGER(3), + grades: STRING(5), + pass_type: INTEGER(3), + },{ + freezeTableName: true, + timestamp: false, + createdAt: false, + updatedAt: false, + }); + + return Grades; +}; \ No newline at end of file diff --git a/app/model/Importerror.js b/app/model/Importerror.js new file mode 100644 index 0000000..957b6e1 --- /dev/null +++ b/app/model/Importerror.js @@ -0,0 +1,22 @@ +'use strict'; + +module.exports = (app) => { + const { INTEGER, CHAR, STRING, DATE } = app.Sequelize; + + const Importerror = app.model.define('importerror', { + id: { type: INTEGER(5), primaryKey: true, autoIncrement: true }, + identity_card: CHAR(18), + user_name: STRING(6), + exam_uid: CHAR(10), + type: INTEGER(3), + status: INTEGER(3), + created_at: DATE, + },{ + freezeTableName: true, + timestamp: true, + createdAt: true, + updatedAt: false, + }); + + return Importerror; +}; \ No newline at end of file diff --git a/app/model/Manager.js b/app/model/Manager.js new file mode 100644 index 0000000..7ab357e --- /dev/null +++ b/app/model/Manager.js @@ -0,0 +1,25 @@ +'use strict'; + +module.exports = (app) => { + const { INTEGER, CHAR, STRING, DATE } = app.Sequelize; + + const Manager = app.model.define('manager', { + id: { type: INTEGER(8), primaryKey: true, autoIncrement: true }, + uid: CHAR(15), + salt: CHAR(24), + account_name: STRING(5), + password: CHAR(64), + role: INTEGER(3), + status: INTEGER(3), + created_at: DATE, + updated_at: DATE, + login_status: INTEGER(3), + },{ + freezeTableName: true, + timestamp: true, + createdAt: true, + updatedAt: true, + }); + + return Manager; +}; \ No newline at end of file diff --git a/app/model/Monitoring.js b/app/model/Monitoring.js new file mode 100644 index 0000000..99ff067 --- /dev/null +++ b/app/model/Monitoring.js @@ -0,0 +1,23 @@ +'use strict'; + +module.exports = (app) => { + const { INTEGER, CHAR, DATE } = app.Sequelize; + + const Monitoring = app.model.define('monitoring', { + id: { type: INTEGER(5), primaryKey: true, autoIncrement: true }, + operate: INTEGER(3), + operate_msg: CHAR(200), + type: INTEGER(3), + status: INTEGER(3), + affect_entries: INTEGER(5), + user: CHAR(15), + created_at: DATE, + },{ + freezeTableName: true, + timestamp: true, + createdAt: true, + updatedAt: false, + }); + + return Monitoring; +}; \ No newline at end of file diff --git a/app/model/Whitelist.js b/app/model/Whitelist.js new file mode 100644 index 0000000..71261da --- /dev/null +++ b/app/model/Whitelist.js @@ -0,0 +1,19 @@ +'use strict'; + +module.exports = (app) => { + const { INTEGER, CHAR, DATE } = app.Sequelize; + + const Whitelist = app.model.define('whitelist', { + id: { type: INTEGER(5), primaryKey: true, autoIncrement: true }, + user_uid: CHAR(15), + type: INTEGER(3), + expired_at: DATE, + },{ + freezeTableName: true, + timestamp: true, + createdAt: false, + updatedAt: false, + }); + + return Whitelist; +}; \ No newline at end of file diff --git a/app/model2/Interlocution.js b/app/model2/Interlocution.js new file mode 100644 index 0000000..516e19e --- /dev/null +++ b/app/model2/Interlocution.js @@ -0,0 +1,19 @@ +'use strict'; + +module.exports = (app) => { + const { INTEGER, STRING } = app.Sequelize; + + const Interlocution = app.model2.define('interlocution', { + id: { type: INTEGER(5), primaryKey: true, autoIncrement: true }, + stem: STRING(400), + answer: STRING(400), + difficulty: INTEGER(3), + },{ + freezeTableName: true, + timestamp: false, + createdAt: false, + updatedAt: false, + }); + + return Interlocution; +}; \ No newline at end of file diff --git a/app/model2/Judgment.js b/app/model2/Judgment.js new file mode 100644 index 0000000..4c91502 --- /dev/null +++ b/app/model2/Judgment.js @@ -0,0 +1,19 @@ +'use strict'; + +module.exports = (app) => { + const { INTEGER, STRING } = app.Sequelize; + + const Judgment = app.model2.define('judgment', { + id: { type: INTEGER(5), primaryKey: true, autoIncrement: true }, + stem: STRING(400), + answer: INTEGER(1), + difficulty: INTEGER(3), + },{ + freezeTableName: true, + timestamp: false, + createdAt: false, + updatedAt: false, + }); + + return Judgment; +}; \ No newline at end of file diff --git a/app/model2/Multiple.js b/app/model2/Multiple.js new file mode 100644 index 0000000..12f05c5 --- /dev/null +++ b/app/model2/Multiple.js @@ -0,0 +1,24 @@ +'use strict'; + +module.exports = (app) => { + const { INTEGER, STRING } = app.Sequelize; + + const Multiple = app.model2.define('multiple', { + id: { type: INTEGER(5), primaryKey: true, autoIncrement: true }, + stem: STRING(400), + options_a: STRING(400), + options_b: STRING(400), + options_c: STRING(400), + options_d: STRING(400), + options_e: STRING(400), + answer: STRING(5), + difficulty: INTEGER(3), + },{ + freezeTableName: true, + timestamp: false, + createdAt: false, + updatedAt: false, + }); + + return Multiple; +}; \ No newline at end of file diff --git a/app/model2/Radio.js b/app/model2/Radio.js new file mode 100644 index 0000000..1517e9e --- /dev/null +++ b/app/model2/Radio.js @@ -0,0 +1,23 @@ +'use strict'; + +module.exports = (app) => { + const { INTEGER, STRING, CHAR } = app.Sequelize; + + const Radio = app.model2.define('radio', { + id: { type: INTEGER(5), primaryKey: true, autoIncrement: true }, + stem: STRING(400), + options_a: STRING(400), + options_b: STRING(400), + options_c: STRING(400), + options_d: STRING(400), + answer: CHAR(1), + difficulty: INTEGER(3), + },{ + freezeTableName: true, + timestamp: false, + createdAt: false, + updatedAt: false, + }); + + return Radio; +}; \ No newline at end of file diff --git a/app/public/userPhoto.zip b/app/public/userPhoto.zip new file mode 100644 index 0000000000000000000000000000000000000000..4b61363cc287ba9915802d6e8c538c04ce0bc826 GIT binary patch literal 727669 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 z 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�-cyMCKP!;V2o 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 {tE}Lw?8DI`6^iFO{!AMr4N71gnJ*_W2m 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