const router = require('koa-router')() const fs = require('fs'); var status = require('../util/resTemplate') var mu = require('../util/multerUtil') const os = require('os'); const path = require('path'); const multer = require('koa-multer'); const moment = require('moment') var body = require('koa-better-body') var formParse = require('co-busboy') const uuid = require('../util/UuidUtil'); const attachmentModel =require( '../model/attachmentModel') const applacation = require('../applacation'); const tencentRecordInfoModel =require( '../model/tencentRecordInfoModel') router.prefix('/upload'); var uploaddemo=mu.single('file'); router.post('/upLoadDoc',uploaddemo, async (ctx, next) => { try { const businessId = ctx.query.businessId; const category = ctx.query.category; const siteId = ctx.query.siteId; let w = await fs.rename(applacation.uploade+ctx.req.file.filename,applacation.uploade+ctx.req.file.originalname) let path = 'http://localhost:10000/'+ctx.req.file.originalname attachmentData = { id:uuid.db32(), businessId:businessId, category:category, path:path, siteId:siteId } let oldAttachment = await attachmentModel.findOne({where:{businessId:businessId,category:1}}) if(category==2){ let oldAttachment2 = await attachmentModel.findAll({where:{category:2,siteId:siteId}}) if(oldAttachment2.length>5){ throw new Error('最多上传5张') }else { let oldAttachment2one = await attachmentModel.findOne({where:{businessId:businessId,category:2,siteId:siteId}}) if(oldAttachment2one){ let oldAttachment = await attachmentModel.update({path:path},{where:{id:oldAttachment2one.id}}) }else{ let attachment = await attachmentModel.create(attachmentData) } } }else if(oldAttachment){ let oldAttachment = await attachmentModel.update({path:path},{where:{businessId:businessId,category:1}}) }else{ let attachment = await attachmentModel.create(attachmentData) } ctx.response.status= 200; ctx.body = { code:200, fileUrl:path } } catch (error) { console.log(error) ctx.response.status= 400; ctx.body = {code:400,msg:error} } }) router.post('/getImgBySiteId',async(ctx, next)=>{ try{ let img = await attachmentModel.findAll({ where:{ siteId:ctx.request.body.siteId, category:2 } }); status.successTemp(ctx,200,img); }catch(e){ console.log(e) status.catchError(ctx,400,e.message); } }) router.post('/getImgBySiteId',async(ctx, next)=>{ try{ let img = await attachmentModel.findAll({ where:{ siteId:ctx.request.body.siteId, category:2 } }); status.successTemp(ctx,200,img); }catch(e){ console.log(e) status.catchError(ctx,400,e.message); } }) router.post('/tgpCallback', async (ctx, next) => { //let s = await uploaddemo(ctx.req,ctx.res,next) //let w = await fs.rename('/Users/fzy/project/koa2_Sequelize_project/uploads/'+'19543f72d9682d0bedf67fc98da4597b','/Users/fzy/project/koa2_Sequelize_project/uploads/'+'www.jpg') try { //let f = await fs.appendFileSync(path.join(__dirname, 'tgp.txt'),JSON.stringify(ctx.request.body)+'/n') var body = ctx.request.body let id = uuid.db32() let stream = body.stream_id.split('_'); let info = { id:id, channelId:stream[0]+'_'+stream[1], recordInfo:JSON.stringify(body), createTime:JSON.stringify( new Date()) } let tencentRecordInfo = await tencentRecordInfoModel.create(info) ctx.response.status= 200; ctx.body = { "code":0 } } catch (error) { console.log(error) ctx.response.status= 400; ctx.body = {} } }) module.exports = router