付智勇

no message

@@ -18,6 +18,34 @@ const parser = new xml2js.Parser(); //xml -> json @@ -18,6 +18,34 @@ const parser = new xml2js.Parser(); //xml -> json
18 18
19 }; 19 };
20 20
  21 +meetingController.prototype.AuthId = async(ctx, next)=>{
  22 + console.log(ctx.request)
  23 + var string = ` <?xml version="1.0" encoding="UTF-8"?>
  24 + <param>
  25 + <siteId>testcdn</siteId>
  26 + <mtgKey>15678966</mtgKey>
  27 + <mtgTitle>ceshi</mtgTitle>
  28 + <startTime>2017-08-12 14:00:00</startTime>
  29 + <endTime>2018-08-12 14:30:00</endTime>
  30 + <language>2</language>
  31 + <userName>sq</userName>
  32 + <userId>12346333378</userId>
  33 + <userType>1</userType>
  34 + <hostPwd>123456</hostPwd>
  35 + <docID>8ab3b0ed5e54f63b015e794546a600cb</docID>
  36 + <timestamp>1235050321</timestamp>
  37 + <authId>2fd56bf9428a05a1abfe97f60caa6b69</authId>
  38 + </param>`
  39 +
  40 + var jsoml = await requestUtil.json2xml(string);
  41 + let site = await siteModel.findOne({where:{siteId:jsoml.param.siteId}})
  42 + console.log(jsoml.param);
  43 + let num = JSON.stringify(Math.floor(Math.random() * 99999) + 1000)
  44 + let authIdMd5 = site.siteKey+jsoml.param.siteId+num+jsoml.param.userId+jsoml.param.userType+jsoml.param.timestamp
  45 + return saitMd5.md5(authIdMd5)
  46 +
  47 +}
  48 +
21 meetingController.prototype.createMeeting = async(ctx,next)=>{ 49 meetingController.prototype.createMeeting = async(ctx,next)=>{
22 try { 50 try {
23 let meetingbody = ctx.request.body; 51 let meetingbody = ctx.request.body;
@@ -81,7 +109,7 @@ meetingController.prototype.createMeeting = async(ctx,next)=>{ @@ -81,7 +109,7 @@ meetingController.prototype.createMeeting = async(ctx,next)=>{
81 console.log(xml) 109 console.log(xml)
82 let info = await requestUtil.post('http://markettest.xuedianyun.com/3m/meeting/join_mtg.do',xml); 110 let info = await requestUtil.post('http://markettest.xuedianyun.com/3m/meeting/join_mtg.do',xml);
83 var jsonXml = await requestUtil.json2xml(info); 111 var jsonXml = await requestUtil.json2xml(info);
84 - console.log('json string',jsonXml) 112 + console.log('json string',typeof info)
85 let backJsonMeeting ={ 113 let backJsonMeeting ={
86 code:jsonXml.result.errorCode, 114 code:jsonXml.result.errorCode,
87 meetingUrl:jsonXml.result.url[0]//+'?param='+jsonXml.result.param[0], 115 meetingUrl:jsonXml.result.url[0]//+'?param='+jsonXml.result.param[0],
@@ -11,6 +11,8 @@ var userController =function (){ @@ -11,6 +11,8 @@ var userController =function (){
11 11
12 }; 12 };
13 13
  14 +
  15 +
14 /** 16 /**
15 * Generate documentation output. 17 * Generate documentation output.
16 * 18 *
@@ -131,6 +133,21 @@ userController.prototype.getStu = async(ctx, next) =>{ @@ -131,6 +133,21 @@ userController.prototype.getStu = async(ctx, next) =>{
131 } 133 }
132 } 134 }
133 135
  136 +userController.prototype.getUserByUserType = async(ctx, next) =>{
  137 + try {
  138 + const stuType = ctx.request.body;
  139 + if(!stuType){
  140 + return status.paramError('type');
  141 + }
  142 + let page = ctx.header.page ? Number(ctx.header.page):ctx.header.page;
  143 + let pageno = ctx.header.pageno ? Number(ctx.header.pageno):ctx.header.pageno;
  144 + let stu = await userService.getUserByUserType(stuType,page,pageno);
  145 + return stu
  146 + } catch (error) {
  147 + throw new Error(error)
  148 + }
  149 +}
  150 +
134 userController.prototype.updateUserByUserId = async(ctx, next) =>{ 151 userController.prototype.updateUserByUserId = async(ctx, next) =>{
135 const userId = ctx.params.userId; 152 const userId = ctx.params.userId;
136 const updateData = ctx.request.body; 153 const updateData = ctx.request.body;
@@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
9 "test": "echo \"Error: no test specified\" && exit 1" 9 "test": "echo \"Error: no test specified\" && exit 1"
10 }, 10 },
11 "dependencies": { 11 "dependencies": {
  12 + "co-busboy": "^1.3.1",
12 "debug": "^2.6.3", 13 "debug": "^2.6.3",
13 "filepreview": "^1.0.14", 14 "filepreview": "^1.0.14",
14 "koa": "^2.2.0", 15 "koa": "^2.2.0",
@@ -15,6 +15,18 @@ router.post('/createMeeting', async (ctx, next) => { @@ -15,6 +15,18 @@ router.post('/createMeeting', async (ctx, next) => {
15 status.catchError(ctx,400,e.message); 15 status.catchError(ctx,400,e.message);
16 } 16 }
17 }) 17 })
  18 + /**
  19 + * 生成authId
  20 + */
  21 +router.post('/AuthId',async (ctx, next) => {
  22 + try{
  23 + var data = await meetingContoller.AuthId(ctx, next);
  24 + status.successTemp(ctx,200,data);
  25 + }catch(e){
  26 + console.log(e)
  27 + status.catchError(ctx,400,e.message);
  28 + }
  29 +})
18 30
19 router.post('/getMeeting', async (ctx, next) => { 31 router.post('/getMeeting', async (ctx, next) => {
20 try{ 32 try{
@@ -22,6 +22,8 @@ router.post('/addUser',async (ctx, next) => { @@ -22,6 +22,8 @@ router.post('/addUser',async (ctx, next) => {
22 }) 22 })
23 23
24 24
  25 +
  26 +
25 /** 27 /**
26 * 用户登录 28 * 用户登录
27 */ 29 */
@@ -56,6 +58,17 @@ router.post('/getUser',async(ctx, next)=>{ @@ -56,6 +58,17 @@ router.post('/getUser',async(ctx, next)=>{
56 }) 58 })
57 59
58 /** 60 /**
  61 + *获取用户列表
  62 + */
  63 +router.post('/getUserByUserType',async(ctx, next)=>{
  64 + try{
  65 + var data = await userContoller.getUserByUserType(ctx, next);
  66 + status.successTemp(ctx,200,data);
  67 + }catch(e){
  68 + status.catchError(ctx,400,e.message);
  69 + }
  70 +})
  71 +/**
59 * 修改用户信息 72 * 修改用户信息
60 */ 73 */
61 router.put('/updateUserByUserId/:userId',async(ctx, next)=>{ 74 router.put('/updateUserByUserId/:userId',async(ctx, next)=>{
@@ -77,6 +77,35 @@ userService.prototype.getStu = async(type,page = 1,pageno =10)=>{ @@ -77,6 +77,35 @@ userService.prototype.getStu = async(type,page = 1,pageno =10)=>{
77 } 77 }
78 } 78 }
79 79
  80 +userService.prototype.getUserByUserType = async(type,page = 1,pageno =10)=>{
  81 + try {
  82 + let sql = `SELECT
  83 + u.*, (
  84 + SELECT
  85 + COUNT(*)
  86 + FROM
  87 + 3m_student_meeting
  88 + LEFT JOIN 3m_meeting 3m ON 3m.id = 3m_student_meeting.meeting_id
  89 + WHERE
  90 + 3m.create_user = u.login_name
  91 + ) reservationNumber
  92 + FROM
  93 + 3m_user u
  94 + WHERE 1=1`;
  95 + if(type.userType){
  96 + sql += ' AND u.user_type = ' + type.userType
  97 + }
  98 + sql += ' ORDER BY u.create_time DESC LIMIT '+(page-1)*pageno+' , ' +pageno
  99 +
  100 + let users = await userModel.findAll({where:type,offset: (page-1)*pageno, limit: pageno});
  101 + let count = await userModel.count({where:type})
  102 + let User = await sequelize.query(sql);
  103 + return {users:User[0],count:count,page:page,pageno:pageno};
  104 + } catch (error) {
  105 + throw new Error(error);
  106 + }
  107 +}
  108 +
80 userService.prototype.resetPasswordByUserId = async(userId,pw) => { 109 userService.prototype.resetPasswordByUserId = async(userId,pw) => {
81 try{ 110 try{
82 var t = await sequelize.transaction({ autocommit: true }) 111 var t = await sequelize.transaction({ autocommit: true })