From 7799d5acb4a25526625b3e99c2f7fd71d1be39ff Mon Sep 17 00:00:00 2001
From: qixiaoning <jony.kee@outlook.com>
Date: 星期二, 26 八月 2025 08:47:58 +0800
Subject: [PATCH] mqtt引入

---
 camera-common/models/camera.go |   69 ++++++++++++++++++++++++++++++++--
 1 files changed, 64 insertions(+), 5 deletions(-)

diff --git a/camera-common/models/camera.go b/camera-common/models/camera.go
index 13294ca..4161961 100644
--- a/camera-common/models/camera.go
+++ b/camera-common/models/camera.go
@@ -1,14 +1,15 @@
 package models
 
 import (
-	"basic.com/pubsub/protomsg.git"
-	"basic.com/valib/logger.git"
 	"encoding/json"
 	"fmt"
 	"strconv"
 	"strings"
 	"vamicro/camera-common/pub"
 	"vamicro/config"
+
+	"basic.com/pubsub/protomsg.git"
+	"basic.com/valib/logger.git"
 )
 
 const (
@@ -28,7 +29,8 @@
 )
 
 type Camera struct {
-	Id          string  `gorm:"primary_key;column:id;type:varchar(100);unique;" json:"id"`
+	VideoId     int64   `gorm:"-;primaryKey;autoIncrement"` //鎽勫儚鏈篿d
+	Id          string  `gorm:"column:id;type:varchar(100);unique;" json:"id"`
 	Name        string  `gorm:"column:name" json:"name"  bind:"required"`
 	Alias       string  `gorm:"column:alias" json:"alias"`               //鎽勫儚鏈虹殑鍒悕
 	SnapshotUrl string  `gorm:"column:snapshot_url" json:"snapshot_url"` //蹇収鍦板潃
@@ -55,6 +57,39 @@
 	VoiceEnable    bool   `gorm:"column:voiceEnable;default:0" json:"voiceEnable"`
 	VoiceId        string `gorm:"column:voiceId" json:"voiceId"`
 	CoordTransform string `gorm:"column:coordTransform" json:"coordTransform"` //鍧愭爣杞崲,闀挎槬杩借釜reid鐢�
+
+}
+
+type CameraDto struct {
+	VideoId     int64   `gorm:"primaryKey;autoIncrement"` //鎽勫儚鏈篿d
+	Id          string  `gorm:"column:id;type:varchar(100);unique;" json:"id"`
+	Name        string  `gorm:"column:name" json:"name"  bind:"required"`
+	Alias       string  `gorm:"column:alias" json:"alias"`               //鎽勫儚鏈虹殑鍒悕
+	SnapshotUrl string  `gorm:"column:snapshot_url" json:"snapshot_url"` //蹇収鍦板潃
+	Type        int     `gorm:"column:type" json:"type" `
+	Addr        string  `gorm:"column:addr" json:"addr"`
+	Longitude   float32 `gorm:"column:longitude" json:"longitude"`
+	Latitude    float32 `gorm:"column:latitude" json:"latitude"`
+	Floor       int     `gorm:"column:floor" json:"floor"` //妤煎眰
+	Rtsp        string  `gorm:"column:rtsp" json:"rtsp"`
+	Ip          string  `gorm:"column:ip" json:"ip"`
+	Port        int     `gorm:"column:port" json:"port"`
+	Username    string  `gorm:"column:username" json:"username"`
+	Password    string  `gorm:"column:password" json:"password"`
+	Brand       string  `gorm:"column:brand" json:"brand"`
+	Reserved    string  `gorm:"column:reserved" json:"reserved"`
+	IsRunning   bool    `gorm:"column:is_running" json:"is_running"`       //鏄惁姝e湪瑙g爜
+	RunEnable   bool    `gorm:"column:run_enable" json:"run_enable"`       //鎺у埗瀹炴椂澶勭悊鎴栬疆璇㈠鐞嗙殑寮�鍏�
+	RunType     int     `gorm:"column:run_type" json:"run_type"`           //澶勭悊绫诲瀷锛�0锛氳疆璇紝1锛氬疄鏃�,-1:鏃犱换鍔★紝涓嶅仛鍒嗘瀽鎴栬�呭垎鏋愪换鍔¤鍏充簡
+	RunServerId string  `gorm:"column:run_server_id" json:"run_server_id"` //褰撳墠姝e湪澶勭悊鐨勫垎鏋愭湇鍔″櫒id
+
+	ResolutionWidth  int `gorm:"column:resolution_width;default:0" json:"resolution_width"`   //鍒嗚鲸鐜囧
+	ResolutionHeight int `gorm:"column:resolution_height;default:0" json:"resolution_height"` //鍒嗚鲸鐜囬珮
+
+	VoiceEnable    bool   `gorm:"column:voiceEnable;default:0" json:"voiceEnable"`
+	VoiceId        string `gorm:"column:voiceId" json:"voiceId"`
+	CoordTransform string `gorm:"column:coordTransform" json:"coordTransform"` //鍧愭爣杞崲,闀挎槬杩借釜reid鐢�
+
 }
 
 func (Camera) TableName() string {
@@ -86,8 +121,8 @@
 	return cameraEMap
 }
 
-//cameraType (0:鏌ュ叏閮�,1:鍒嗘瀽鎽勫儚鏈�,2:鐩戞帶鎽勫儚鏈�)
-//cameraName
+// cameraType (0:鏌ュ叏閮�,1:鍒嗘瀽鎽勫儚鏈�,2:鐩戞帶鎽勫儚鏈�)
+// cameraName
 func (camera *Camera) Find(cameraType int, cameraName string, camType int, isPlatform int, linkStr string) (camMenus []CameraTreeNode, err error) {
 	logger.Debug("camType:", camType)
 	cType := strconv.Itoa(camType)
@@ -372,3 +407,27 @@
 	}
 	pub.AddDbMessage(&dbMsg)
 }
+
+type VideoLink struct {
+	ID      int    `gorm:"column:id"       json:"id"`
+	VideoId string `gorm:"column:video_id" json:"videoId"`
+	TaskId  int    `gorm:"column:task_id"  json:"taskId"`
+}
+
+func GetTasks() map[string][]interface{} {
+
+	var lists []VideoLink
+	sqlStr := `select id,video_id,task_id from mal_task_video_link`
+	if err := db.Raw(sqlStr).Scan(&lists).Error; err != nil {
+		fmt.Println(err.Error())
+		return nil
+	}
+
+	checkMap := make(map[string][]interface{})
+	for _, d2 := range lists {
+		if d2.VideoId != "" {
+			checkMap[d2.VideoId] = append(checkMap[d2.VideoId], d2)
+		}
+	}
+	return checkMap
+}

--
Gitblit v1.8.0