videoplayer/dao/cid.go

137 lines
3.7 KiB
Go
Raw Normal View History

package dao
import (
"fmt"
"gorm.io/gorm"
"time"
)
type CID struct {
gorm.Model
Auth_id int `gorm:"column:auth_id"`
Name string `gorm:"column:name"`
Url string `gorm:"column:url"`
Time int `gorm:"column:time"` // 定时任务单位秒大于0表示定时任务
LastSuccess time.Time `gorm:"column:last_success" json:"last_success"`
LastFail time.Time `gorm:"column:last_fail" json:"last_fail"`
Script string `gorm:"column:script"`
Token string `gorm:"column:token"` // 用于外部回调
}
type CIDRunLog struct {
gorm.Model
2025-03-27 11:19:20 +08:00
CID_id int `gorm:"column:cid_id"`
Auth_id int `form:"column:auth_id"`
Script string `gorm:"column:script"`
RunTime float64 `gorm:"column:run_time"`
Log string `gorm:"column:log"`
Error string `gorm:"column:error"`
}
// CreateCID 创建持续集成、部署
func CreateCID(name, url, script, token string, time, auth_id int) uint {
cid := CID{Name: name, Url: url, Script: script, Token: token, Auth_id: auth_id, Time: time}
2024-10-08 13:51:10 +08:00
result := DB.Create(&cid)
if result.Error != nil {
return 0
}
return cid.ID
}
// DeleteCIDByID 删除持续集成、部署
func DeleteCIDByID(id, auth_id int) bool {
2024-10-08 13:51:10 +08:00
res := DB.Model(&CID{}).Where("id = ? and auth_id = ?", id, auth_id).Delete(&CID{})
if res.Error != nil {
return false
}
return true
}
// FindCIDByID 查找持续集成、部署
func FindCIDByID(id, auth_id int) CID {
var cid CID
2024-10-08 13:51:10 +08:00
DB.Where("id = ? and auth_id = ?", id, auth_id).First(&cid)
return cid
}
// FindCIDByAuthID 查找持续集成、部署
func FindCIDByAuthID(auth_id int) []CID {
var cids []CID
2024-10-08 13:51:10 +08:00
DB.Where("auth_id = ?", auth_id).Find(&cids)
return cids
}
// UpdateCIDByID 更新持续集成、部署
func UpdateCIDByID(id, auth_id, time int, name, url, script, token string) bool {
pd := FindCIDByID(id, auth_id)
if pd.ID == 0 {
return false
}
// 如果token为空则不更新token
if token == "" {
token = pd.Token
}
result := DB.Model(&CID{}).Where("id = ? and auth_id = ?", id, auth_id).Updates(CID{Name: name, Url: url, Script: script, Token: token, Time: time})
if result.Error != nil {
return false
}
return true
}
// CreateRunLog,添加执行日志
2025-03-27 11:19:20 +08:00
func CreateRunLog(cid_id, auth_id int, script, log, err string, runtime float64) uint {
cidRunLog := CIDRunLog{CID_id: cid_id, Auth_id: auth_id, Log: log, Error: err, Script: script, RunTime: runtime}
2024-10-08 13:51:10 +08:00
result := DB.Create(&cidRunLog)
if result != nil {
fmt.Println(err)
return 0
}
return cidRunLog.ID
}
func FindRunLogByAuthID(auth_id int) []CIDRunLog {
var cidRunLogs []CIDRunLog
2024-10-08 13:51:10 +08:00
DB.Where(" auth_id = ?", auth_id).Order("created_at desc").Find(&cidRunLogs)
return cidRunLogs
}
2024-07-06 20:48:38 +08:00
func FindRunLogByID(auth_id, cid_id int) []CIDRunLog {
var cidRunLog []CIDRunLog
DB.Where("cid_id = ? and auth_id = ?", cid_id, auth_id).Order("created_at desc").Limit(30).Find(&cidRunLog)
return cidRunLog
}
func FindRunLogByCIDLogID(id, auth_id int) []CIDRunLog {
var cidRunLogs []CIDRunLog
DB.Where("id = ? and auth_id = ?", id, auth_id).Order("created_at desc").Limit(30).Find(&cidRunLogs)
return cidRunLogs
}
func FindCIDByIDAndToken(id int, token string) CID {
var cid CID
2024-10-08 13:51:10 +08:00
DB.Where("id = ? and token = ?", id, token).First(&cid)
return cid
}
func FindCIDByTime() []CID {
var cids []CID
DB.Where("time > 0").Find(&cids)
return cids
}
// FindCIDByID 查找持续集成、部署
func FindCIDByCID(id uint) CID {
var cid CID
2024-11-30 11:19:16 +08:00
DB.Where("id = ? ", id).First(&cid)
return cid
}
func UpdateLastSuccessByID(id int, time time.Time) error {
res := DB.Where("id = ?", id).Update("last_success", time)
return res.Error
}
func UpdateLastFailByID(id int, time time.Time) error {
res := DB.Where("id = ?", id).Update("last_fail", time)
return res.Error
}