| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- const API = require("../../../../lib/API")
- const AccessControl = require("../../../../lib/AccessControl")
- const { BaseStdResponse } = require("../../../../BaseStdResponse")
- const { syncAccountInfo } = require("../../../../lib/Lepao/syncAccountInfo")
- class UpdateAccountInfo extends API {
- constructor() {
- super()
- this.setPath('/Admin/Lepao/Account/UpdateAccountInfo')
- this.setMethod('POST')
- }
- async onRequest(req, res) {
- const { uuid, session, student_num } = req.body
- if ([uuid, session, student_num].some(v => v === '' || v === null || v === undefined)) {
- return res.json({
- ...BaseStdResponse.MISSING_PARAMETER
- })
- }
- if (!await AccessControl.checkSession(uuid, session)) {
- return res.status(401).json({
- ...BaseStdResponse.ACCESS_DENIED
- })
- }
- const permission = await AccessControl.getPermission(uuid)
- if (!permission.includes('admin') && !permission.includes('service')) {
- return res.json({
- ...BaseStdResponse.PERMISSION_DENIED
- })
- }
- try {
- const syncResult = await syncAccountInfo({
- studentNum: student_num,
- logger: this.logger
- })
- if (!syncResult.ok) {
- return res.json({
- ...BaseStdResponse.ERR,
- msg: syncResult.msg || '同步失败,请稍后再试'
- })
- }
- return res.json({
- ...BaseStdResponse.OK,
- data: syncResult.data
- })
- } catch (error) {
- this.logger.error(`管理员同步乐跑账号失败: ${error.stack || error}`)
- return res.json({
- ...BaseStdResponse.ERR,
- msg: '同步失败,请稍后再试'
- })
- }
- }
- }
- module.exports.UpdateAccountInfo = UpdateAccountInfo
|