From 724c05408de0cd74cc852e15cd2c8a0fce0be0c9 Mon Sep 17 00:00:00 2001
From: qixiaoning <jony.kee@outlook.com>
Date: 星期五, 19 九月 2025 09:17:08 +0800
Subject: [PATCH] 获取英伟达显卡的型号

---
 sync-service/service/cameraService.go |  127 +++++++++++++++++++++---------------------
 1 files changed, 64 insertions(+), 63 deletions(-)

diff --git a/sync-service/service/cameraService.go b/sync-service/service/cameraService.go
index 3935c4a..83208eb 100644
--- a/sync-service/service/cameraService.go
+++ b/sync-service/service/cameraService.go
@@ -1,22 +1,22 @@
 package service
 
 import (
+	"errors"
+	"strconv"
+	"vamicro/config"
+	"vamicro/sync-service/models"
+	"vamicro/sync-service/vo"
+
 	"basic.com/pubsub/protomsg.git"
 	"basic.com/valib/bhomedbapi.git"
 	"basic.com/valib/logger.git"
-	"errors"
-	"github.com/satori/go.uuid"
-	"strconv"
-	"vamicro/sync-service/models"
-	"vamicro/sync-service/vo"
-	"vamicro/config"
+	uuid "github.com/satori/go.uuid"
 )
 
 type CameraService struct {
-
 }
 
-func (sv CameraService) CameraAdd(camVo vo.CameraEditVo) (bool,models.Camera){
+func (sv CameraService) CameraAdd(camVo vo.CameraEditVo) (bool, models.Camera) {
 	var sysApi bhomedbapi.SysSetApi
 	flag, sysconf := sysApi.GetServerInfo()
 	var realMax = 16
@@ -26,16 +26,16 @@
 	var err error
 	tx := models.GetDB().Begin()
 	defer func() {
-		if err !=nil && tx !=nil {
+		if err != nil && tx != nil {
 			tx.Rollback()
 		}
 	}()
 	cam := camVo.Copy2Camera()
 	cam.Type = models.TYPE_LOCAL_CAMERA // 鏈湴鎽勫儚鏈�
 	var areaE models.Area
-	if camVo.AreaId !="0" {
+	if camVo.AreaId != "0" {
 		if _, err = areaE.SelectbyId(camVo.AreaId); err != nil {
-			return false,cam
+			return false, cam
 		}
 	}
 	cam.Id = uuid.NewV4().String()
@@ -45,10 +45,10 @@
 	} else {
 		cam.RunType = camVo.RunType
 	}
-	if cam.RunType == models.TYPE_RUNTYPE_REALTIME {//瀹炴椂闇�瑕佸垽鏂疄鏃舵暟閲�
+	if cam.RunType == models.TYPE_RUNTYPE_REALTIME { //瀹炴椂闇�瑕佸垽鏂疄鏃舵暟閲�
 		realList, e := cam.GetCamerasByRunType(models.TYPE_RUNTYPE_REALTIME, "")
-		if e !=nil || len(realList) >= realMax {
-			return false,cam
+		if e != nil || len(realList) >= realMax {
+			return false, cam
 		}
 	}
 
@@ -56,17 +56,17 @@
 	cam.Floor = models.Default_Layer
 
 	//娣诲姞鎽勫儚鏈虹殑鏃跺�欎笉搴旇鎸囧畾RunServerId,鍦ㄥ摢鍙版湇鍔″櫒涓婇厤浜嗕换鍔★紝RunServerId灏辨槸瀵瑰簲鐨勯偅鍙版湇鍔″櫒
-	if err = tx.Table("cameras").Create(&cam).Error;err !=nil {
-		return false,cam
+	if err = tx.Table("cameras").Create(&cam).Error; err != nil {
+		return false, cam
 	}
 
-	if err = tx.Table("camera_area").Create(&models.CameraArea{Cameraid:cam.Id,Areaid:camVo.AreaId}).Error;err !=nil{
-		return false,cam
+	if err = tx.Table("camera_area").Create(&models.CameraArea{Cameraid: cam.Id, Areaid: camVo.AreaId}).Error; err != nil {
+		return false, cam
 	}
 
 	//澶勭悊浼犳劅鍣�
 	if len(camVo.Sensors) > 0 {
-		for _,sor := range camVo.Sensors {
+		for _, sor := range camVo.Sensors {
 			var sorE models.Sensor
 			exist := sorE.Exist(sor.Ip, sor.Port)
 			sorId := ""
@@ -79,16 +79,16 @@
 				}
 				sorId = sor.Id
 			}
-			if err =tx.Exec("insert into camera_sensor(camera_id, sensor_id) select '"+cam.Id+"','"+sorId+"' where not exists (select 1 from camera_sensor where camera_id='"+cam.Id+"' and sensor_id='"+sorId+"')").Error;err !=nil {
+			if err = tx.Exec("insert into camera_sensor(camera_id, sensor_id) select '" + cam.Id + "','" + sorId + "' where not exists (select 1 from camera_sensor where camera_id='" + cam.Id + "' and sensor_id='" + sorId + "')").Error; err != nil {
 				return false, cam
 			}
 		}
 	}
 	tx.Commit()
-	return true,cam
+	return true, cam
 }
 
-func (sv CameraService) CameraUpdate(camVo vo.CameraEditVo) bool{
+func (sv CameraService) CameraUpdate(camVo vo.CameraEditVo) bool {
 	cam := camVo.Copy2Camera()
 	var sysApi bhomedbapi.SysSetApi
 	flag, sysconf := sysApi.GetServerInfo()
@@ -99,12 +99,12 @@
 
 	var camTmp models.Camera
 	rows, err := camTmp.SelectById(cam.Id)
-	if err != nil || rows ==0 {
+	if err != nil || rows == 0 {
 		return false
 	}
 
 	cam.Floor = camTmp.Floor
-	if camTmp.RunServerId == "" {//鏈缃繃run_server_id,姝ょ鎯呭喌鏄浗鏍囨憚鍍忔満绗竴娆′繚瀛�,浼氶�夋嫨鐩爣鏈嶅姟鍣ㄧ殑id
+	if camTmp.RunServerId == "" { //鏈缃繃run_server_id,姝ょ鎯呭喌鏄浗鏍囨憚鍍忔満绗竴娆′繚瀛�,浼氶�夋嫨鐩爣鏈嶅姟鍣ㄧ殑id
 		cam.RunServerId = config.Server.AnalyServerId //姝ゆ憚鍍忔満褰掑睘鍒版湰鍙板垎鏋愭湇鍔″櫒
 		//if cam.RunServerId == "" {
 		//	return false
@@ -120,7 +120,7 @@
 	if cam.RunType == models.TYPE_RUNTYPE_REALTIME {
 		if camTmp.RunType != models.TYPE_RUNTYPE_REALTIME { //鐢遍潪瀹炴椂鍒板疄鏃剁殑鍒囨崲鏃讹紝闇�瑕佸垽鏂綋鍓嶇殑瀹炴椂鏁伴噺
 			realList, e := cam.GetCamerasByRunType(models.TYPE_RUNTYPE_REALTIME, "")
-			if e !=nil || len(realList) >= realMax {
+			if e != nil || len(realList) >= realMax {
 				return false
 			}
 		}
@@ -133,13 +133,13 @@
 	}
 
 	if camVo.Sensors != nil && len(camVo.Sensors) > 0 {
-		for _,sor :=range camVo.Sensors {
+		for _, sor := range camVo.Sensors {
 			var sorE models.Sensor
 			exist := sorE.Exist(sor.Ip, sor.Port)
 			sorId := ""
 			if exist {
 				sorId = sorE.Id
-				if err = models.GetDB().Table(sor.TableName()).Where("id=?", sorId).Update(&sor).Error;err !=nil {
+				if err = models.GetDB().Table(sor.TableName()).Where("id=?", sorId).Update(&sor).Error; err != nil {
 					return false
 				}
 			} else {
@@ -149,7 +149,7 @@
 				}
 				sorId = sor.Id
 			}
-			if err = models.GetDB().Exec("insert into camera_sensor(camera_id, sensor_id) select '"+cam.Id+"','"+sorId+"' where not exists (select 1 from camera_sensor where camera_id='"+camVo.Id+"' and sensor_id='"+sorId+"')").Error;err !=nil {
+			if err = models.GetDB().Exec("insert into camera_sensor(camera_id, sensor_id) select '" + cam.Id + "','" + sorId + "' where not exists (select 1 from camera_sensor where camera_id='" + camVo.Id + "' and sensor_id='" + sorId + "')").Error; err != nil {
 				return false
 			}
 		}
@@ -163,16 +163,16 @@
 	return true
 }
 
-func (sv CameraService) GetCamerasByRunType(runType int,cameraName string) (cams []vo.CamSensorVo,err error){
+func (sv CameraService) GetCamerasByRunType(runType int, cameraName string) (cams []vo.CamSensorVo, err error) {
 	//鎸囧畾褰撳墠鏈哄櫒涓鸿繃婊ゆ潯浠�
 	var cameraE models.Camera
 	list, err := cameraE.GetCamerasByRunType(runType, cameraName)
-	if err !=nil {
-		return nil,err
+	if err != nil {
+		return nil, err
 	}
 	var crApi bhomedbapi.CameraRuleApi
 	var sensorE models.Sensor
-	for _,cam :=range list {//鍒ゆ柇姣忎竴涓憚鍍忔満鏄惁鏈夊彲杩愯鐨勪换鍔″拰瑙勫垯
+	for _, cam := range list { //鍒ゆ柇姣忎竴涓憚鍍忔満鏄惁鏈夊彲杩愯鐨勪换鍔″拰瑙勫垯
 		if crApi.ExistRunningTask(cam.Id) {
 			sensors, _ := sensorE.FindByCameraId(cam.Id)
 			var camSor vo.CamSensorVo
@@ -186,12 +186,12 @@
 			cams = append(cams, camSor)
 		}
 	}
-	return cams,nil
+	return cams, nil
 }
 
-func (sv CameraService) UpdateIsRunningState(id string,isRunning bool) bool{
+func (sv CameraService) UpdateIsRunningState(id string, isRunning bool) bool {
 	var cameraE models.Camera
-	return cameraE.UpdateIsRunningState(id,isRunning)
+	return cameraE.UpdateIsRunningState(id, isRunning)
 
 }
 
@@ -200,13 +200,13 @@
 	return cameraE.UpdateIsRunningAll(camIds)
 }
 
-func (sv CameraService) UpdateRunEnable(cameraId string,runEnable bool) bool{
+func (sv CameraService) UpdateRunEnable(cameraId string, runEnable bool) bool {
 	var cameraE models.Camera
 	return cameraE.UpdateRunEnable(cameraId, runEnable)
 }
 
-//1.鍒ゆ柇鏈湴鎽勫儚鏈虹殑瀹炴椂鏁伴噺
-//2.鍒ゆ柇鏄惁瀹夎鏈夊浗鏍囷紝浠ュ強鍥芥爣瀹炴椂鎽勫儚鏈虹殑鏁伴噺
+// 1.鍒ゆ柇鏈湴鎽勫儚鏈虹殑瀹炴椂鏁伴噺
+// 2.鍒ゆ柇鏄惁瀹夎鏈夊浗鏍囷紝浠ュ強鍥芥爣瀹炴椂鎽勫儚鏈虹殑鏁伴噺
 func (sv CameraService) ChangeRunType(ccrVo vo.CameraChangeRunVo) bool {
 	var sysApi bhomedbapi.SysSetApi
 	flag, sysconf := sysApi.GetServerInfo()
@@ -218,20 +218,20 @@
 	var err error
 	tx := models.GetDB().Begin()
 	defer func() {
-		if err !=nil && tx !=nil{
+		if err != nil && tx != nil {
 			tx.Rollback()
 		}
 	}()
-	for _,cameraId :=range ccrVo.CameraIds{
+	for _, cameraId := range ccrVo.CameraIds {
 		var camE models.Camera
 		rows, e := camE.SelectById(cameraId)
-		if e == nil && rows>0 {
+		if e == nil && rows > 0 {
 			if ccrVo.RunType == models.TYPE_RUNTYPE_REALTIME {
 				//闈炲疄鏃跺悜瀹炴椂鍒囨崲
 				if camE.RunType != models.TYPE_RUNTYPE_REALTIME {
 					realList, e := camE.GetCamerasByRunType(models.TYPE_RUNTYPE_REALTIME, "")
-					if e !=nil || len(realList) >= realMax {
-						err = errors.New("realTime cameras limit "+strconv.Itoa(realMax))
+					if e != nil || len(realList) >= realMax {
+						err = errors.New("realTime cameras limit " + strconv.Itoa(realMax))
 						return false
 					}
 				} else {
@@ -239,11 +239,11 @@
 				}
 			}
 			if camE.RunServerId == "" {
-				if err = tx.Exec("update cameras set run_type=?,run_server_id=?,is_running=0 where id=?", ccrVo.RunType,config.Server.AnalyServerId, cameraId).Error;err !=nil{
+				if err = tx.Exec("update cameras set run_type=?,run_server_id=?,is_running=0 where id=?", ccrVo.RunType, config.Server.AnalyServerId, cameraId).Error; err != nil {
 					return false
 				}
 			} else {
-				if err = tx.Exec("update cameras set run_type=?,is_running=0 where id=?", ccrVo.RunType, cameraId).Error;err !=nil{
+				if err = tx.Exec("update cameras set run_type=?,is_running=0 where id=?", ccrVo.RunType, cameraId).Error; err != nil {
 					return false
 				}
 			}
@@ -259,44 +259,44 @@
 	return cameraE.UpdateSnapshot(cameraId, snapshot)
 }
 
-func (sv CameraService) GetAllCamerasByServer(serverId string, cameraName string) (criList []vo.CameraRunInfo,err error) {
+func (sv CameraService) GetAllCamerasByServer(serverId string, cameraName string) (criList []vo.CameraRunInfo, err error) {
 	var cameraE models.Camera
 	list, err := cameraE.FindAllByServer(serverId, cameraName)
-	if err !=nil {
-		return nil,err
+	if err != nil {
+		return nil, err
 	}
 	serverName := ""
 	var syssetApi bhomedbapi.SysSetApi
-	fb,localConf := syssetApi.GetServerInfo()
+	fb, localConf := syssetApi.GetServerInfo()
 	if fb {
 		serverName = localConf.ServerName
 	}
 	nodesMap := make(map[string]protomsg.Node)
 	var clusterApi bhomedbapi.ClusterApi
 	flag, cInfo := clusterApi.FindCluster()
-	if flag && cInfo.Nodes != nil{
-		for _,node :=range cInfo.Nodes {
+	if flag && cInfo.Nodes != nil {
+		for _, node := range cInfo.Nodes {
 			nodesMap[node.Id] = *node
 		}
 	}
 	var crApi bhomedbapi.CameraRuleApi
 
-	if list !=nil && len(list) >0 {
-		for _,cE :=range list {
+	if list != nil && len(list) > 0 {
+		for _, cE := range list {
 			var cri vo.CameraRunInfo
 			cri.CopyFromCamera(cE)
 			if cri.RunServerId != "" {
 				if cri.RunServerId == config.Server.AnalyServerId {
 					cri.RunServerName = serverName
 				} else {
-					if ne,ok :=nodesMap[cri.RunServerId];ok {
+					if ne, ok := nodesMap[cri.RunServerId]; ok {
 						cri.RunServerName = ne.NodeName
 					}
 				}
 			}
 			fb, cgs := crApi.FindAllTaskById(cE.Id)
 			if fb && cgs.Rules != nil {
-				for _, g :=range cgs.Rules {
+				for _, g := range cgs.Rules {
 					var crTask vo.CameraRunTask
 
 					crTask.HasRule = g.Enable
@@ -306,6 +306,7 @@
 			} else {
 				cri.Tasks = []vo.CameraRunTask{}
 			}
+
 			//澶勭悊鎽勫儚鏈虹殑鐘舵��
 			if cE.RunType == models.TYPE_RUNTYPE_POLL || cE.RunType == models.TYPE_RUNTYPE_REALTIME {
 				if crApi.ExistRunningTask(cE.Id) {
@@ -324,27 +325,27 @@
 			criList = append(criList, cri)
 		}
 	}
-	return criList,nil
+	return criList, nil
 }
 
-//閫氳繃鎽勫儚鏈篿d鑾峰彇鍦ㄥ摢鍙版湇鍔″櫒涓婅繍琛�
+// 閫氳繃鎽勫儚鏈篿d鑾峰彇鍦ㄥ摢鍙版湇鍔″櫒涓婅繍琛�
 func GetRunServerName(cameraId string) string {
 	var runServerName = ""
 
 	var camTmp models.Camera
 	rows, _ := camTmp.SelectById(cameraId)
-	if rows >0 {
+	if rows > 0 {
 		var syssetApi bhomedbapi.SysSetApi
-		fb,localConf := syssetApi.GetServerInfo()
+		fb, localConf := syssetApi.GetServerInfo()
 		if fb {
-			if camTmp.RunServerId == localConf.ServerId {//褰掑睘鏈彴鏈嶅姟鍣�
+			if camTmp.RunServerId == localConf.ServerId { //褰掑睘鏈彴鏈嶅姟鍣�
 				runServerName = localConf.ServerName
-			} else {//灞炰簬鍏朵粬鏈嶅姟鍣�
+			} else { //灞炰簬鍏朵粬鏈嶅姟鍣�
 				var clusterApi bhomedbapi.ClusterApi
 				flag, cInfo := clusterApi.FindCluster()
 				if flag {
 					if cInfo.Nodes != nil {
-						for _,n := range cInfo.Nodes {
+						for _, n := range cInfo.Nodes {
 							if n.Id == camTmp.RunServerId {
 								runServerName = n.NodeName
 								break
@@ -357,4 +358,4 @@
 	}
 
 	return runServerName
-}
\ No newline at end of file
+}

--
Gitblit v1.8.0