正在显示
4 个修改的文件
包含
65 行增加
和
2 行删除
model/oldMeetingRecording.js
0 → 100644
| 1 | +var sequelize = require('../db2.config'); | ||
| 2 | +var Sequelize = require('sequelize'); | ||
| 3 | +const uuid = require('../util/UuidUtil') | ||
| 4 | + | ||
| 5 | + | ||
| 6 | +var recordingMeeting = sequelize.define('3m_recording_meeting', { | ||
| 7 | + id: { | ||
| 8 | + type: Sequelize.STRING(32), | ||
| 9 | + defaultValue:uuid.db32(), | ||
| 10 | + allowNull: false, | ||
| 11 | + unique: true, | ||
| 12 | + primaryKey: true, | ||
| 13 | + field: "id" | ||
| 14 | + }, | ||
| 15 | + meetingId: { | ||
| 16 | + type:Sequelize.STRING(32), | ||
| 17 | + field: "meeting_id" | ||
| 18 | + }, | ||
| 19 | + configFile: { | ||
| 20 | + type:Sequelize.STRING(32), | ||
| 21 | + field: "config_file" | ||
| 22 | + }, | ||
| 23 | + startTime:{ | ||
| 24 | + type:Sequelize.DATE, | ||
| 25 | + field: "start_time" | ||
| 26 | + }, | ||
| 27 | + endTime:{ | ||
| 28 | + type:Sequelize.DATE, | ||
| 29 | + field: "end_time" | ||
| 30 | + }, | ||
| 31 | +},{ | ||
| 32 | + timestamps: false, | ||
| 33 | + freezeTableName: true | ||
| 34 | +}) | ||
| 35 | + | ||
| 36 | + | ||
| 37 | +module.exports = recordingMeeting; |
routes/tgp.txt
0 → 100644
| @@ -32,6 +32,16 @@ router.post('/upLoadDoc',uploaddemo, async (ctx, next) => { | @@ -32,6 +32,16 @@ router.post('/upLoadDoc',uploaddemo, async (ctx, next) => { | ||
| 32 | } | 32 | } |
| 33 | }) | 33 | }) |
| 34 | 34 | ||
| 35 | +router.post('/tgpCallback', async (ctx, next) => { | ||
| 36 | + | ||
| 37 | + //let s = await uploaddemo(ctx.req,ctx.res,next) | ||
| 38 | + //let w = await fs.rename('/Users/fzy/project/koa2_Sequelize_project/uploads/'+'19543f72d9682d0bedf67fc98da4597b','/Users/fzy/project/koa2_Sequelize_project/uploads/'+'www.jpg') | ||
| 39 | + let f = await fs.appendFileSync(path.join(__dirname, 'tgp.txt'),JSON.stringify(ctx.request.body)+'/n') | ||
| 40 | + ctx.body = { | ||
| 41 | + filename:2 | ||
| 42 | + } | ||
| 43 | + }) | ||
| 44 | + | ||
| 35 | 45 | ||
| 36 | 46 | ||
| 37 | module.exports = router | 47 | module.exports = router |
| 1 | var meetingModel = require('../model/meetingModel'); | 1 | var meetingModel = require('../model/meetingModel'); |
| 2 | var oldMeetingModel = require('../model/oldMeetingModel'); | 2 | var oldMeetingModel = require('../model/oldMeetingModel'); |
| 3 | +var oldMeetingRecording = require('../model/oldMeetingRecording'); | ||
| 3 | var status = require('../util/resTemplate'); | 4 | var status = require('../util/resTemplate'); |
| 4 | var saitMd5 = require('../util/saltMD5'); | 5 | var saitMd5 = require('../util/saltMD5'); |
| 5 | var sequelize = require('../config'); | 6 | var sequelize = require('../config'); |
| 6 | var tokenUtil = require('../util/tokenUtil'); | 7 | var tokenUtil = require('../util/tokenUtil'); |
| 8 | +var saitMd5 = require('../util/saltMD5') | ||
| 7 | var co = require('co'); | 9 | var co = require('co'); |
| 8 | 10 | ||
| 11 | +const xml2js = require('xml2js'); | ||
| 12 | +const requestUtil = require('../util/requestUtil') | ||
| 13 | +const builder = new xml2js.Builder(); // JSON->xml | ||
| 14 | +const parser = new xml2js.Parser(); //xml -> json | ||
| 15 | + | ||
| 9 | 16 | ||
| 10 | function meetingService(){ | 17 | function meetingService(){ |
| 11 | } | 18 | } |
| @@ -158,7 +165,6 @@ meetingService.prototype.getAllMeetingBySiteID = async(params)=>{ | @@ -158,7 +165,6 @@ meetingService.prototype.getAllMeetingBySiteID = async(params)=>{ | ||
| 158 | meetingService.prototype.recording = async(params)=>{ | 165 | meetingService.prototype.recording = async(params)=>{ |
| 159 | try { | 166 | try { |
| 160 | let newURL = 'http://'+params.siteId+'.xuedianyun.com/3m/doPlayRecord.do?meetingNumber='; | 167 | let newURL = 'http://'+params.siteId+'.xuedianyun.com/3m/doPlayRecord.do?meetingNumber='; |
| 161 | - let oldURL = 'http://saas.3mang.com:80/3m/attend.do?meetingNumber='+meetingId+'&streamNameOfRecord='+meetingId+'_'; | ||
| 162 | let Meeting = await meetingModel.findOne({where:{id:params.meetingId}}); | 168 | let Meeting = await meetingModel.findOne({where:{id:params.meetingId}}); |
| 163 | if(Meeting){ | 169 | if(Meeting){ |
| 164 | return {url:newURL+Meeting.meetingNumber} | 170 | return {url:newURL+Meeting.meetingNumber} |
| @@ -167,7 +173,17 @@ meetingService.prototype.recording = async(params)=>{ | @@ -167,7 +173,17 @@ meetingService.prototype.recording = async(params)=>{ | ||
| 167 | if(!oldMeeting){ | 173 | if(!oldMeeting){ |
| 168 | return {code:11,msg:'课堂不存在'} | 174 | return {code:11,msg:'课堂不存在'} |
| 169 | }else{ | 175 | }else{ |
| 170 | - | 176 | + let oldURL = 'http://saas.3mang.com:80/3m/attend.do?meetingNumber='+oldMeeting.meetingNumber+'&streamNameOfRecord='; |
| 177 | + let oldMRecording = await oldMeetingRecording.findOne({where:{meetingId:oldMeeting.meetingNumber}}); | ||
| 178 | + if(!oldMRecording){ | ||
| 179 | + throw new Error('课堂没有录制') | ||
| 180 | + } | ||
| 181 | + var d = oldMRecording.configFile.split('.')[0] | ||
| 182 | + let a = oldURL+d+"&userRole=record&userName="+params.username+"&password="+oldMeeting.attendeePassword; | ||
| 183 | + return {url:a} | ||
| 184 | + // var xml = builder.buildObject(recordInfo); | ||
| 185 | + // let info = await requestUtil.post('http://markettest.xuedianyun.com/3m/meeting/join_mtg.do',xml); | ||
| 186 | + // var jsonXml = await requestUtil.json2xml(info); | ||
| 171 | } | 187 | } |
| 172 | } | 188 | } |
| 173 | return {meeting:Meeting.concat(oldMeeting)} | 189 | return {meeting:Meeting.concat(oldMeeting)} |
-
请 注册 或 登录 后发表评论