付智勇

no message

  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;
@@ -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)}