package models
|
|
import (
|
"fmt"
|
"strings"
|
"vamicro/camera-common/models"
|
)
|
|
// 查询列表数据
|
func GetListTask(ids []string) (items []models.TaskM, err error) {
|
|
//idList := strings.Join(ids, ",")
|
idList := "'" + strings.Join(ids, "','") + "'"
|
// 主查询SQL
|
//sqlStr := `select c.task_id, c.task_name from mal_task_video_link a left join mal_smart_task c on a.task_id = c.task_id where a.video_id in(?) ORDER BY a.task_id desc`
|
sqlStr := fmt.Sprintf(`
|
SELECT c.task_id, c.task_name,c.task_description,b.dict_value as event_name
|
FROM mal_task_video_link a
|
LEFT JOIN mal_smart_task c ON a.task_id = c.task_id
|
LEFT JOIN mal_dict_type b ON b.dict_id = c.event_level
|
WHERE a.video_id IN (%s)
|
ORDER BY a.task_id DESC
|
`, idList)
|
if err := db2.Raw(sqlStr).Scan(&items).Error; err != nil {
|
fmt.Println(err.Error())
|
return nil, err
|
}
|
return
|
}
|
|
func GetAllRule() map[int64]string {
|
var items []models.RuleOption
|
sqlStr := `
|
SELECT a.file_name,a.rule_id,b.task_id
|
FROM mal_warning_rule a
|
LEFT JOIN mal_task_rule_link b ON a.rule_id = b.rule_id
|
WHERE task_id>0
|
group BY a.rule_id
|
`
|
if err := db2.Raw(sqlStr).Scan(&items).Error; err != nil {
|
fmt.Println(err.Error())
|
return nil
|
}
|
|
ruleMap := make(map[int64]string)
|
for _, d2 := range items {
|
if d2.TaskId > 0 {
|
ruleMap[d2.TaskId] = d2.FileName
|
}
|
}
|
return ruleMap
|
}
|
|
type VideoLink struct {
|
ID int `gorm:"column:id" json:"id"`
|
VideoId string `gorm:"column:video_id" json:"videoId"`
|
TaskId int `gorm:"column:task_id" json:"taskId"`
|
}
|
|
func GetTasks() map[string][]interface{} {
|
|
var lists []VideoLink
|
sqlStr := `select id,video_id,task_id from mal_task_video_link`
|
if err := db2.Raw(sqlStr).Scan(&lists).Error; err != nil {
|
fmt.Println(err.Error())
|
return nil
|
}
|
|
checkMap := make(map[string][]interface{})
|
for _, d2 := range lists {
|
if d2.VideoId != "" {
|
checkMap[d2.VideoId] = append(checkMap[d2.VideoId], d2)
|
}
|
}
|
return checkMap
|
}
|