qixiaoning
2025-10-29 9b17a8dcbc1f94eb117a37b3b24ca9dae0d2d588
camera-common/models/task.go
@@ -1 +1,91 @@
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 TaskIdM struct {
   ID int64 `gorm:"column:task_id" json:"id"`
}
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 TrainTags struct {
   Id         int64  `gorm:"primaryKey;autoIncrement;column:id" json:"id"`
   Createtime string `gorm:"type:varchar(50);column:create_time;default:''" json:"create_time"`
}
func (TrainTags) TableName() string {
   return "mal_train_tags"
}
// 视频
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
}
// 根据cid查询视频
func GetTaskTotal(cid string) (items []TaskIdM, err error) {
   sqlStr := "select task_id from mal_task_video_link where video_id='" + cid + "'"
   if err := db.Raw(sqlStr).Scan(&items).Error; err != nil {
      fmt.Println(err.Error())
      return nil, err
   }
   return
}