From d102b2563f9e069a4a2767e9088f234b010a98ad Mon Sep 17 00:00:00 2001 From: 付智勇 <fuzhiyong@efangtec.com> Date: Thu, 14 Sep 2017 09:36:28 +0800 Subject: [PATCH] no message --- controller/meetingController.js | 30 +++++++++++++++++++++++++++++- controller/userController.js | 17 +++++++++++++++++ package.json | 1 + routes/meeting.js | 12 ++++++++++++ routes/users.js | 13 +++++++++++++ services/userService.js | 29 +++++++++++++++++++++++++++++ 6 files changed, 101 insertions(+), 1 deletion(-) diff --git a/controller/meetingController.js b/controller/meetingController.js index b9eb16a..8855a69 100644 --- a/controller/meetingController.js +++ b/controller/meetingController.js @@ -18,6 +18,34 @@ const parser = new xml2js.Parser(); //xml -> json }; +meetingController.prototype.AuthId = async(ctx, next)=>{ + console.log(ctx.request) + var string = ` <?xml version="1.0" encoding="UTF-8"?> + <param> + <siteId>testcdn</siteId> + <mtgKey>15678966</mtgKey> + <mtgTitle>ceshi</mtgTitle> + <startTime>2017-08-12 14:00:00</startTime> + <endTime>2018-08-12 14:30:00</endTime> + <language>2</language> + <userName>sq</userName> + <userId>12346333378</userId> + <userType>1</userType> + <hostPwd>123456</hostPwd> + <docID>8ab3b0ed5e54f63b015e794546a600cb</docID> + <timestamp>1235050321</timestamp> + <authId>2fd56bf9428a05a1abfe97f60caa6b69</authId> + </param>` + + var jsoml = await requestUtil.json2xml(string); + let site = await siteModel.findOne({where:{siteId:jsoml.param.siteId}}) + console.log(jsoml.param); + let num = JSON.stringify(Math.floor(Math.random() * 99999) + 1000) + let authIdMd5 = site.siteKey+jsoml.param.siteId+num+jsoml.param.userId+jsoml.param.userType+jsoml.param.timestamp + return saitMd5.md5(authIdMd5) + +} + meetingController.prototype.createMeeting = async(ctx,next)=>{ try { let meetingbody = ctx.request.body; @@ -81,7 +109,7 @@ meetingController.prototype.createMeeting = async(ctx,next)=>{ console.log(xml) let info = await requestUtil.post('http://markettest.xuedianyun.com/3m/meeting/join_mtg.do',xml); var jsonXml = await requestUtil.json2xml(info); - console.log('json string',jsonXml) + console.log('json string',typeof info) let backJsonMeeting ={ code:jsonXml.result.errorCode, meetingUrl:jsonXml.result.url[0]//+'?param='+jsonXml.result.param[0], diff --git a/controller/userController.js b/controller/userController.js index e69432f..68213b7 100644 --- a/controller/userController.js +++ b/controller/userController.js @@ -11,6 +11,8 @@ var userController =function (){ }; + + /** * Generate documentation output. * @@ -131,6 +133,21 @@ userController.prototype.getStu = async(ctx, next) =>{ } } +userController.prototype.getUserByUserType = async(ctx, next) =>{ + try { + const stuType = ctx.request.body; + if(!stuType){ + return status.paramError('type'); + } + let page = ctx.header.page ? Number(ctx.header.page):ctx.header.page; + let pageno = ctx.header.pageno ? Number(ctx.header.pageno):ctx.header.pageno; + let stu = await userService.getUserByUserType(stuType,page,pageno); + return stu + } catch (error) { + throw new Error(error) + } +} + userController.prototype.updateUserByUserId = async(ctx, next) =>{ const userId = ctx.params.userId; const updateData = ctx.request.body; diff --git a/package.json b/package.json index 60cb808..8522538 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { + "co-busboy": "^1.3.1", "debug": "^2.6.3", "filepreview": "^1.0.14", "koa": "^2.2.0", diff --git a/routes/meeting.js b/routes/meeting.js index 8fc6002..9c17ffb 100644 --- a/routes/meeting.js +++ b/routes/meeting.js @@ -15,6 +15,18 @@ router.post('/createMeeting', async (ctx, next) => { status.catchError(ctx,400,e.message); } }) + /** + * 生成authId + */ +router.post('/AuthId',async (ctx, next) => { + try{ + var data = await meetingContoller.AuthId(ctx, next); + status.successTemp(ctx,200,data); + }catch(e){ + console.log(e) + status.catchError(ctx,400,e.message); + } +}) router.post('/getMeeting', async (ctx, next) => { try{ diff --git a/routes/users.js b/routes/users.js index 44a23f1..f70f83d 100644 --- a/routes/users.js +++ b/routes/users.js @@ -22,6 +22,8 @@ router.post('/addUser',async (ctx, next) => { }) + + /** * 用户登录 */ @@ -56,6 +58,17 @@ router.post('/getUser',async(ctx, next)=>{ }) /** + *获取用户列表 + */ +router.post('/getUserByUserType',async(ctx, next)=>{ + try{ + var data = await userContoller.getUserByUserType(ctx, next); + status.successTemp(ctx,200,data); + }catch(e){ + status.catchError(ctx,400,e.message); + } +}) +/** * 修改用户信息 */ router.put('/updateUserByUserId/:userId',async(ctx, next)=>{ diff --git a/services/userService.js b/services/userService.js index cc69f09..a9c76d7 100644 --- a/services/userService.js +++ b/services/userService.js @@ -77,6 +77,35 @@ userService.prototype.getStu = async(type,page = 1,pageno =10)=>{ } } +userService.prototype.getUserByUserType = async(type,page = 1,pageno =10)=>{ + try { + let sql = `SELECT + u.*, ( + SELECT + COUNT(*) + FROM + 3m_student_meeting + LEFT JOIN 3m_meeting 3m ON 3m.id = 3m_student_meeting.meeting_id + WHERE + 3m.create_user = u.login_name + ) reservationNumber + FROM + 3m_user u + WHERE 1=1`; + if(type.userType){ + sql += ' AND u.user_type = ' + type.userType + } + sql += ' ORDER BY u.create_time DESC LIMIT '+(page-1)*pageno+' , ' +pageno + + let users = await userModel.findAll({where:type,offset: (page-1)*pageno, limit: pageno}); + let count = await userModel.count({where:type}) + let User = await sequelize.query(sql); + return {users:User[0],count:count,page:page,pageno:pageno}; + } catch (error) { + throw new Error(error); + } +} + userService.prototype.resetPasswordByUserId = async(userId,pw) => { try{ var t = await sequelize.transaction({ autocommit: true }) -- libgit2 0.24.0