qixiaoning
2025-09-04 87b55a899bc1b4bc7d5a0f8d6ad1a1ede233ebd1
camera-service/controllers/camera.go
@@ -166,10 +166,14 @@
   }
   m["resolutions"] = []models.Resolution{dRe0, dRe1, dRe2}
   //获取督查任务
   tasks := models.GetTasks()
   //处理摄像机的状态
   var crApi bhomedbapi.CameraRuleApi
   //var crApi bhomedbapi.CameraRuleApi
   if cam.RunType == models.TYPE_RUNTYPE_POLL || cam.RunType == models.TYPE_RUNTYPE_REALTIME {
      if crApi.ExistRunningTask(cam.Id) {
      //if crApi.ExistRunningTask(cam.Id) {
      if taskInfo, ok := tasks[cam.Id]; ok && taskInfo != nil && len(taskInfo) > 0 {
         if cam.IsRunning {
            m["status"] = models.Camera_Status_Doing
         } else {
@@ -323,9 +327,9 @@
   sv := service.CameraService{}
   if sv.ChangeRunType(ccrVo) {
      cIds := strings.Join(ccrVo.CameraIds, ",")
      cc.addDbChangeMsg(h.Bk, protomsg.TableChanged_T_Camera, cIds, protomsg.DbAction_Update, "")
      _, _ = service2.DoBusReq("/data/api-v/saas/syncCamera", config.Server.AnalyServerId, aiot.RequestMethod_Post, aiot.RequestContentType_ApplicationJson, map[string]interface{}{})
      //cIds := strings.Join(ccrVo.CameraIds, ",")
      //cc.addDbChangeMsg(h.Bk, protomsg.TableChanged_T_Camera, cIds, protomsg.DbAction_Update, "")
      //   _, _ = service2.DoBusReq("/data/api-v/saas/syncCamera", config.Server.AnalyServerId, aiot.RequestMethod_Post, aiot.RequestContentType_ApplicationJson, map[string]interface{}{})
      return &bhomeclient.Reply{Success: true, Msg: "更新成功"}
   } else {
      return &bhomeclient.Reply{Success: false, Msg: "更新失败"}
@@ -1019,6 +1023,7 @@
   pageSize := info.PageSize
   idsStr := info.Ids
   TaskIds := info.TaskIds
   TaskName := info.TaskName
   videoIdStr := info.VideoIds
   Warning := info.Warning
@@ -1045,7 +1050,7 @@
         }
      }
      //根据id查询视频id
      var vids []int
      var vids []int64
      cameras, _ := models.GetCameraIds(videoIds)
      for _, camera := range cameras {
         if len(camera.Id) > 0 {
@@ -1054,7 +1059,7 @@
      }
      idStr := make([]string, len(vids))
      for i, id := range vids {
         idStr[i] = strconv.Itoa(id)
         idStr[i] = strconv.FormatInt(id, 10)
      }
      filter += fmt.Sprintf(" and %s in [%s]", "video_point_id", strings.Join(idStr, ","))
   }
@@ -1062,6 +1067,19 @@
   //根据任务查询
   if len(TaskIds) > 0 {
      filter += fmt.Sprintf(" and array_contains(task_id, %d)", TaskIds[0])
   }
   //根据任务名称
   if len(TaskName) > 0 {
      quotedNames := make([]string, len(TaskName))
      for i, name := range TaskName {
         quotedNames[i] = "'" + name + "'" // 每个元素加单引号
      }
      filter += fmt.Sprintf(" and %s in [%s]", "task_name", strings.Join(quotedNames, ","))
   } else {
      if Warning > 0 {
         return &bhomeclient.Reply{Success: true, Msg: "获取成功", Data: nil}
      }
   }
   //是否预警
@@ -1121,6 +1139,9 @@
         Content:         v.CameraName,
         PicDate:         v.PicDate,
         LikeDate:        v.LikeDate,
         VideoName:       v.CameraName,
         CameraAddr:      v.CameraName,
         CameraName:      v.CameraName,
      }
      //任务名称
@@ -1128,9 +1149,9 @@
      temp.TaskNames = items
      //视频内容
      items4, _ := models.GetVideoById(v.VideoPointId)
      temp.VideoName = items4.Name
      temp.CameraAddr = items4.Addr
      // items4, _ := models.GetVideoById(v.VideoPointId)
      // temp.VideoName = items4.Name
      // temp.CameraAddr = items4.Addr
      //检查内容
      items2, _ := models.GetCheckByIds(v.DetectId)
@@ -1193,3 +1214,14 @@
   return &bhomeclient.Reply{Success: true, Msg: "获取成功", Data: tasks}
}
// 获取所有
func (cc CameraController) GetAllTasks(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
   //绑定json和结构体
   var tasks []models.TaskAggregate
   tasks, _ = models.GetAllTask()
   return &bhomeclient.Reply{Success: true, Msg: "获取成功", Data: tasks}
}