| | |
| | | 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 |
| | | } |
| | | 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
|
| | | }
|