package models import ( "fmt" "strings" ) // 智查任务 type Task struct { TaskId int64 `db:"task_id" json:"taskId"` TaskName string `db:"task_name" json:"taskName"` } type TaskAggregate struct { ID int64 `gorm:"column:task_id" json:"id"` Name string `gorm:"column:task_name" json:"name"` IsDelete int8 `json:"isDelete"` } type TaskM struct { TaskId int64 `db:"task_id" json:"taskId"` TaskName string `db:"task_name" json:"taskName"` TaskDescription string `db:"task_description" json:"taskDescription"` EventName string `db:"event_name" json:"eventName"` } // 视频 type Video struct { VideoIds []string `json:"videoIds"` } // 查询列表数据 func GetListTask(ids []string) (items []Task, 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 FROM mal_task_video_link a LEFT JOIN mal_smart_task c ON a.task_id = c.task_id WHERE a.video_id IN (%s) ORDER BY a.task_id DESC `, idList) if err := db.Raw(sqlStr).Scan(&items).Error; err != nil { fmt.Println(err.Error()) return nil, err } return } // 查询列表数据 func GetAllTask() (items []TaskAggregate, err error) { // 主查询SQL sqlStr := fmt.Sprintf(` SELECT task_id, task_name FROM mal_smart_task ORDER BY task_id DESC `) if err := db.Raw(sqlStr).Scan(&items).Error; err != nil { fmt.Println(err.Error()) return nil, err } return }