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