| | |
| | | if b, err := sv.CameraUpdate(camVo); b { |
| | | //更新分辨率 |
| | | if ok { |
| | | // |
| | | logger.Debug("DoPostRequest:", camVo) |
| | | if cam.IsRunning && (cam.ResolutionWidth != camVo.ResolutionWidth && cam.ResolutionHeight != camVo.ResolutionHeight) { |
| | | header := map[string]string{} |
| | |
| | | "videoType": 0, |
| | | } |
| | | res, err := util.DoPostRequest("http://127.0.0.1:8088/v1/task/openAnalysis", util.CONTENT_TYPE_JSON, paramBody, nil, header, time.Second*10) |
| | | if err != nil { |
| | | logger.Debug("DoPostRequest err:", err) |
| | | } |
| | | logger.Debug("DoPostRequest:", res) |
| | | } |
| | | //更新状态 |
| | | if cam.IsRunning { |
| | | header := map[string]string{} |
| | | paramBody := map[string]interface{}{ |
| | | "state": 1, |
| | | } |
| | | res, err := util.DoPostRequest("http://127.0.0.1:8088/v1/task/updateAllStatus?state=1", util.CONTENT_TYPE_JSON, paramBody, nil, header, time.Second*10) |
| | | if err != nil { |
| | | logger.Debug("DoPostRequest err:", err) |
| | | } |
| | |
| | | if cid == "" { |
| | | return &bhomeclient.Reply{Msg: "参数有误,摄像机id不能为空"} |
| | | } |
| | | |
| | | //判断是否有配置任务 |
| | | // total, _ := models.GetTaskTotal(cid) |
| | | // if total > 0 { |
| | | // return &bhomeclient.Reply{Success: false, Msg: "请先删除配置的任务"} |
| | | // } |
| | | |
| | | rows, _ := cam.Delete(cid) |
| | | if rows == 0 { |
| | | return &bhomeclient.Reply{Success: true, Msg: "记录不存在"} |
| | | } |
| | | |
| | | //删除任务 |
| | | items, _ := models.GetTaskTotal(cid) |
| | | if len(items) > 0 { |
| | | for _, item := range items { |
| | | cam.DelLink(item.ID) |
| | | } |
| | | } |
| | | |
| | | pMsg := protomsg.DbChangeMessage{ //需要重新计算算力占用情况 |
| | | Table: protomsg.TableChanged_T_Camera, |
| | | Action: protomsg.DbAction_Delete, |
| | |
| | | } |
| | | |
| | | /** |
| | | * 删除记录 |
| | | */ |
| | | func (cc CameraController) DelRecord(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { |
| | | filter := " id > 0 " |
| | | info := models.TimeRange{} |
| | | if err := c.BindJSON(&info); err != nil { |
| | | return &bhomeclient.Reply{Success: false, Msg: "参数有误"} |
| | | } |
| | | startTime := info.StartTime |
| | | endTime := info.EndTime |
| | | if len(startTime) > 0 && len(endTime) > 0 { |
| | | filter += fmt.Sprintf(" and detect_time > '%s'", startTime) |
| | | filter += fmt.Sprintf(" and detect_time < '%s'", endTime) |
| | | deleteRecord, err := models.DeleteRecord("smartobject", filter) |
| | | if err != nil { |
| | | return &bhomeclient.Reply{Success: false, Msg: "删除失败" + err.Error(), Data: nil} |
| | | } else { |
| | | return &bhomeclient.Reply{Success: true, Msg: "删除成功", Data: deleteRecord} |
| | | } |
| | | } else { |
| | | return &bhomeclient.Reply{Success: false, Msg: "删除失败", Data: nil} |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取抓拍记录 |
| | | */ |
| | | func (cc CameraController) GetRecord(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { |
| | |
| | | if len(TaskName) > 0 { |
| | | quotedNames := make([]string, len(TaskName)) |
| | | for i, name := range TaskName { |
| | | quotedNames[i] = "'" + name + "'" // 每个元素加单引号 |
| | | quotedNames[i] = " task_name like '%%" + name + "%%' " // 每个元素加单引号 |
| | | } |
| | | filter += fmt.Sprintf(" and %s in [%s]", "task_name", strings.Join(quotedNames, ",")) |
| | | filter += " and (" + strings.Join(quotedNames, "or") + ")" |
| | | } else { |
| | | if Warning > 0 { |
| | | return &bhomeclient.Reply{Success: true, Msg: "获取成功", Data: nil} |
| | |
| | | IsWarning: v.IsWarning, |
| | | DetectNum: v.DetectNum, |
| | | TaskName: v.TaskName, |
| | | WarnTaskName: v.WarnTaskName, |
| | | ZhDescClass: v.ZhDescClass, |
| | | EventLevelName: v.EventLevelName, |
| | | KnowledgeId: v.KnowledgeId, |
| | |
| | | CameraAddr: v.CameraName, |
| | | CameraName: v.CameraName, |
| | | } |
| | | var taskId []int64 |
| | | |
| | | //任务名称 |
| | | //任务id重新赋值 |
| | | if len(v.WarnTaskName) > 0 { |
| | | v.TaskId = []int64{} |
| | | taskId = []int64{} |
| | | arr := strings.Split(v.WarnTaskName, ";") |
| | | for _, temp := range arr { |
| | | if len(temp) > 0 { |
| | | |
| | | tempId, _ := strconv.ParseInt(strings.TrimSpace(temp), 10, 64) |
| | | |
| | | taskId = append(taskId, tempId) |
| | | } |
| | | } |
| | | v.TaskId = taskId |
| | | } |
| | | items, _ := models.GetTaskByIds(v.TaskId) |
| | | 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 += "," |
| | | } |
| | | result += item.TaskName |
| | | } |
| | | temp.TaskName = result |
| | | } |
| | | |
| | | //视频内容 |
| | | // items4, _ := models.GetVideoById(v.VideoPointId) |
| | |
| | | items5, _ := models.GetEventByIds(v.EventLevelId) |
| | | temp.EventLevels = items5 |
| | | |
| | | //事件等级重新赋值 |
| | | var result2 string |
| | | if len(taskId) > 0 && len(items5) > 0 { |
| | | for i, item5 := range items5 { |
| | | if i > 0 { |
| | | result2 += "," |
| | | } |
| | | result2 += item5.DictValue |
| | | } |
| | | temp.EventLevelName = result2 |
| | | } |
| | | |
| | | //知识库 |
| | | items6, _ := models.GetKnowledgeDocumentByIds(v.KnowledgeId) |
| | | // 知识库路径 |