ptSend/util/sql/video.js
2023-09-03 21:11:46 +08:00

73 lines
1.9 KiB
JavaScript

const { run, getAll } = require("./base");
const dayjs = require("dayjs");
async function addSub(info){
let selSql = `select * from VideoInfo where sid='${info.sid}' and season=${info.season}`
let list = await getAll(selSql)
if(list.length != 0){
return "订阅已存在"
}
let sql = `insert into VideoInfo(name,rename,skip,desc,url,subtitle,img,year,time,subTime,enable,season,sid,count,imdb,type,tags) values(?,?,?,?,?,?,?,?,?,${new Date().getTime()},1,?,?,?,?,?,?)`
await run(sql,info.name,info.rename,info.skip,info.desc,info.url,info.subtitle,info.img,info.year,info.time,info.season,info.sid,info.count,info.imdb,info.type,info.tags)
}
// 获取所有订阅 (不包括已完成)
async function getSub(state = 1){
let sql = `select * from VideoInfo where enable=${state}`
let list = await getAll(sql)
return list
}
async function delSub(id){
let sql = `delete from VideoInfo where id=${id}`
await run(sql)
}
async function updateSkip(num,id){
let sql = `update VideoInfo set skip=${num} where id=${id}`
await run(sql)
// 清理完成的订阅
await updateState(id)
}
// skip = 总集数 设置完成
async function updateState(id){
let info = await getVideoInfoById(id)
console.log(JSON.stringify(info))
if(info.skip > info.count){
let sql = `update VideoInfo set enable=2 where id=${id}`
await run(sql)
}
}
// 通过sid获取媒体信息
async function getVideoInfo(sid){
let sql = `select * from VideoInfo where sid=?`
let info = await getAll(sql,sid)
if(info.length > 0){
return info[0]
}else{
return false
}
}
// 通过id获取媒体信息
async function getVideoInfoById(id){
let sql = `select * from VideoInfo where id=?`
let info = await getAll(sql,id)
if(info.length > 0){
return info[0]
}else{
return false
}
}
module.exports = {
addSub,
getSub,
delSub,
updateSkip,
getVideoInfo
}