qixiaoning
2025-12-01 5ee5331527a19cb477cfebb8643c606fa2e42797
camera-service/controllers/camera.go
@@ -1213,7 +1213,7 @@
         IsWarning:       v.IsWarning,
         DetectNum:       v.DetectNum,
         TaskName:        v.TaskName,
         WarnTaskName:    v.WarnTaskName,
         WarnTaskId:      v.WarnTaskId,
         ZhDescClass:     v.ZhDescClass,
         EventLevelName:  v.EventLevelName,
         KnowledgeId:     v.KnowledgeId,
@@ -1231,14 +1231,15 @@
         VideoName:       v.CameraName,
         CameraAddr:      v.CameraName,
         CameraName:      v.CameraName,
         DynamicLevel:    v.DynamicLevel,
      }
      var taskId []int64
      //任务id重新赋值
      if len(v.WarnTaskName) > 0 {
      if len(v.WarnTaskId) > 0 {
         v.TaskId = []int64{}
         taskId = []int64{}
         arr := strings.Split(v.WarnTaskName, ";")
         arr := strings.Split(v.WarnTaskId, ";")
         for _, temp := range arr {
            if len(temp) > 0 {
@@ -1249,21 +1250,50 @@
         }
         v.TaskId = taskId
      }
      items, _ := models.GetTaskByIds(v.TaskId)
      // items, _ := models.GetTaskByIds(v.TaskId)
      //任务名称
      // items, _ := db.GetTaskByIds(v.TaskId)
      items := []models.TaskOption{}
      //if strings.Contains(v.TaskName, ",") {
      taskNames := strings.Split(v.TaskName, ",")
      for _, name := range taskNames {
         task := models.TaskOption{}
         if len(name) > 0 {
            if strings.Contains(name, "_") {
               tempNames := strings.Split(name, "_")
               if len(tempNames[0]) > 0 {
                  id, _ := strconv.ParseInt(tempNames[0], 10, 64)
                  task.TaskId = id
               }
               task.TaskName = tempNames[1]
            }
         }
         items = append(items, task)
      }
      //}
      temp.TaskNames = items
      //任务名称重新赋值
      var result string
      if len(taskId) > 0 && len(items) > 0 {
         v.EventLevelId = []int64{}
         for index, item := range items {
            v.EventLevelId = append(v.EventLevelId, item.EventLevel)
            if index > 0 {
               result += ","
      var result1 string
      if len(items) > 0 {
         for _, item := range items {
            // v.EventLevelId = append(v.EventLevelId, item.EventLevel)
            if containsID(taskId, item.TaskId) {
               result += item.TaskName + ","
            }
            result += item.TaskName
            result1 += item.TaskName + ","
         }
         temp.TaskName = result
         if len(taskId) > 0 {
            temp.TaskName = result
         } else {
            temp.TaskName = result1
         }
      }
      //任务
      temp.TaskName = strings.TrimSuffix(temp.TaskName, ",")
      //视频内容
      // items4, _ := models.GetVideoById(v.VideoPointId)
@@ -1279,19 +1309,51 @@
      temp.RuleNames = items3
      //事件
      items5, _ := models.GetEventByIds(v.EventLevelId)
      temp.EventLevels = items5
      items5 := []models.TaskOption{}
      //if strings.Contains(v.EventLevelName, ",") {
      eventNames := strings.Split(v.EventLevelName, ",")
      for _, name := range eventNames {
         task := models.TaskOption{}
         if len(name) > 0 {
            if strings.Contains(name, "_") {
               tempNames := strings.Split(name, "_")
               if len(tempNames[0]) > 0 {
                  id, _ := strconv.ParseInt(tempNames[0], 10, 64)
                  task.TaskId = id
               }
               task.EventLevelName = tempNames[1]
            }
         }
         items5 = append(items5, task)
      }
      //}
      tempEventName := temp.DynamicLevel
      //事件等级重新赋值
      var result2 string
      if len(taskId) > 0 && len(items5) > 0 {
         for i, item5 := range items5 {
            if i > 0 {
               result2 += ","
      var result22 string
      if len(taskId) > 0 {
         for _, item5 := range items5 {
            if containsID(taskId, item5.TaskId) {
               result2 += item5.EventLevelName + ","
            }
            result2 += item5.DictValue
            result22 += item5.EventLevelName + ","
         }
         temp.EventLevelName = result2
         if len(taskId) > 0 {
            temp.EventLevelName = result2
         } else {
            temp.EventLevelName = result22
         }
         temp.EventLevelName = strings.TrimSuffix(temp.EventLevelName, ",")
         if len(tempEventName) > 0 {
            if len(temp.EventLevelName) > 0 {
               temp.EventLevelName = tempEventName + "," + temp.EventLevelName
            } else {
               temp.EventLevelName = tempEventName
            }
         }
      }
      //知识库
@@ -1323,6 +1385,16 @@
   return &bhomeclient.Reply{Success: true, Msg: "获取成功", Data: pageRes}
}
// 包含id
func containsID(taskId []int64, id int64) bool {
   for _, v := range taskId {
      if v == id {
         return true
      }
   }
   return false
}
/**
 *获取督查任务
 */