const Controller = require('../core/base_controller'); const fileName = "ContestMsg"; class ContestMsgController extends Controller { // 管理系统检索竞赛 uid async searchContestUid() { 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.contestMsg.searchContestUid(uid, body); if (result == "error") { this.setResponse(ctx, 500, '服务器错误', "none"); return; } if (result) { let contestUid = []; result.forEach(element => { contestUid.push({ value: element.dataValues.uid }); }); this.setResponse(ctx, 200, '操作成功', "polymerization", contestUid); } else { this.setResponse(ctx, 404, '操作失败', "none"); } } catch (error) { const blockName = fileName + "--" + "searchContestUid"; ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); this.setResponse(ctx, 500, '服务器错误', "none"); } } // 管理系统创建竞赛信息 async addContest() { 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.generateNumberString('H'); element.contest_name = this.decryptRequest(element.contest_name); element.contest_organizers = this.decryptRequest(element.contest_organizers); element.contest_term = this.decryptRequest(element.contest_term); element.type = Number(element.type); element.status = 0; element.online_start = new Date(element.online_start); element.online_end = new Date(element.online_end); element.offline_start = new Date(element.offline_start); element.offline_end = new Date(element.offline_end); element.contest_start = new Date(element.contest_start); element.contest_end = new Date(element.contest_end); element.created_at = new Date(); }); const result = await ctx.service.contestMsg.addContest(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 + "--" + "addContest"; ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); this.setResponse(ctx, 500, '服务器错误', "none"); } } // 管理系统查看竞赛信息 async showContest() { 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.contestMsg.showContest(body); if (result == "error") { this.setResponse(ctx, 500, '服务器错误', "none"); return; } if (result) { let contestMsg = []; result.rows.forEach(element => { contestMsg.push(element.dataValues); }); const data = { contestMsg, count: result.count }; this.setResponse(ctx, 200, '操作成功', "deconstruction", data); } else { this.setResponse(ctx, 404, '操作失败', "none"); } } catch (error) { const blockName = fileName + "--" + "showContest"; ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); this.setResponse(ctx, 500, '服务器错误', "none"); } } // 管理系统编辑竞赛信息 async editContest() { 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, updateMsg, requestMsg } = body const modelType = this.decryptRequest(model); const result = await ctx.service.contestMsg.editContest(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 + "--" + "editContest"; ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); this.setResponse(ctx, 500, '服务器错误', "none"); } } // 管理系统删除竞赛信息 async delContest() { 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.contestMsg.delContest(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 + "--" + "delContest"; ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error); this.setResponse(ctx, 500, '服务器错误', "none"); } } } module.exports = ContestMsgController;