From 9ed440cb3913cb6b53a1495de2b3b722cf78682b Mon Sep 17 00:00:00 2001 From: Archer_cdm Date: Tue, 20 Dec 2022 09:03:46 +0800 Subject: [PATCH] =?UTF-8?q?=EF=BC=88+=EF=BC=89=E4=B8=AA=E4=BA=BA=E5=9F=B9?= =?UTF-8?q?=E8=AE=AD=E8=AE=B0=E5=BD=95=E8=A1=A8=E5=AF=BC=E5=85=A5=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/controllers/personalTrain/index.js | 20 ++++++++++++++++++- api/app/lib/routes/personalTrain/index.js | 3 +++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/api/app/lib/controllers/personalTrain/index.js b/api/app/lib/controllers/personalTrain/index.js index 51d13a1..28d6182 100644 --- a/api/app/lib/controllers/personalTrain/index.js +++ b/api/app/lib/controllers/personalTrain/index.js @@ -18,6 +18,24 @@ async function getPersonalTrainRecordList(ctx) { } } +async function importPersonalTrainData(ctx) { + let errorMsg = { message: '导入个人培训记录信息失败' }; + const transaction = await ctx.fs.dc.orm.transaction(); + try { + const models = ctx.fs.dc.models; + const data = ctx.request.body; + await models.PersonalTraining.bulkCreate(data, { transaction }); + await transaction.commit(); + ctx.status = 204; + } catch (error) { + await transaction.rollback(); + ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); + ctx.status = 400; + ctx.body = errorMsg; + } +} + module.exports = { - getPersonalTrainRecordList + getPersonalTrainRecordList, + importPersonalTrainData } diff --git a/api/app/lib/routes/personalTrain/index.js b/api/app/lib/routes/personalTrain/index.js index 4779899..271466f 100644 --- a/api/app/lib/routes/personalTrain/index.js +++ b/api/app/lib/routes/personalTrain/index.js @@ -5,4 +5,7 @@ const personalTrain = require('../../controllers/personalTrain'); module.exports = function (app, router, opts) { app.fs.api.logAttr['GET/personal/train/record/list'] = { content: '查询个人培训记录列表', visible: true }; router.get('/personal/train/record/list', personalTrain.getPersonalTrainRecordList); + + app.fs.api.logAttr['POST/personal/train/record/bulk'] = { content: '导入个人培训记录信息', visible: true }; + router.post('/personal/train/record/bulk', personalTrain.importPersonalTrainData); }; \ No newline at end of file