付智勇

no message

... ... @@ -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],
... ...
... ... @@ -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;
... ...
... ... @@ -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",
... ...
... ... @@ -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{
... ...
... ... @@ -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)=>{
... ...
... ... @@ -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 })
... ...