From c69f721df41c9c7c1e2e9a5f167c881c04536986 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期一, 03 六月 2024 19:44:30 +0800
Subject: [PATCH] 添加人员订阅
---
config/config.go | 1 +
vo/subscribe.go | 11 +++++++++++
service/notification.go | 41 +++++++++++++++++++++++++++++++++++++++--
controller/subscribeCtl.go | 4 ++++
4 files changed, 55 insertions(+), 2 deletions(-)
diff --git a/config/config.go b/config/config.go
index 9e6034b..7515d62 100644
--- a/config/config.go
+++ b/config/config.go
@@ -77,6 +77,7 @@
v := viper.New()
v.SetConfigType("yaml")
v.SetConfigName("gat1400")
+ v.AddConfigPath("./")
v.AddConfigPath("./config/")
v.AddConfigPath("../config/")
err = v.ReadInConfig()
diff --git a/controller/subscribeCtl.go b/controller/subscribeCtl.go
index 99058f0..cf4fe73 100644
--- a/controller/subscribeCtl.go
+++ b/controller/subscribeCtl.go
@@ -133,6 +133,10 @@
go s.Capture.FaceForward(msg.FaceObjectList.FaceObject)
}
+ if config.ForwardConf.SyncServer != "" && len(msg.PersonObjectList.PersonObject) > 0 {
+ go s.Capture.PersonForward(msg.PersonObjectList.PersonObject)
+ }
+
if len(msg.DeviceList.APEObject) > 0 {
fromId := c.GetHeader("User-Identify")
go s.Ape.HandleNotification(fromId, msg.DeviceList.APEObject)
diff --git a/service/notification.go b/service/notification.go
index 1605025..32b67a1 100644
--- a/service/notification.go
+++ b/service/notification.go
@@ -115,7 +115,44 @@
task.mutex.Unlock()
var req vo.RequestSubscribeNotification
- req.SubscribeNotificationListObject.SubscribeNotificationObject[0] = notification
+ req.SubscribeNotificationListObject.SubscribeNotificationObject = append(req.SubscribeNotificationListObject.SubscribeNotificationObject, notification)
+
+ return &req
+}
+
+func (task *NotificationTask) packPersonNotificationMsg() *vo.RequestSubscribeNotification {
+ triggerTime := time.Now().Format("20060102150405")
+ if len(task.faceList) == 0 {
+ return nil
+ }
+
+ var notification = vo.PersonNotification{
+ NotificationID: triggerTime + snowflake.GenerateIdStr(),
+ SubscribeID: task.conf.Id,
+ Title: task.conf.Ext.Title,
+ TriggerTime: triggerTime,
+ ExecuteOperation: 1,
+ }
+
+ var ids []string
+ for idx, _ := range task.personList {
+ // 鎸夋捣搴风ず渚嬪~鍏呬慨鏀瑰瓧娈�
+ for i, _ := range task.personList[idx].SubImageList.SubImageInfoObject {
+ task.personList[idx].SubImageList.SubImageInfoObject[i].EventSort = 2
+ }
+
+ ids = append(ids, task.personList[idx].PersonID)
+ notification.PersonObjectList.PersonObject = append(notification.PersonObjectList.PersonObject, *task.personList[idx])
+ }
+
+ notification.InfoIDs = strings.Join(ids, ";")
+
+ task.mutex.Lock()
+ task.personList = []*vo.PersonObject{}
+ task.mutex.Unlock()
+
+ var req vo.RequestSubscribeNotification
+ req.SubscribeNotificationListObject.SubscribeNotificationObject = append(req.SubscribeNotificationListObject.SubscribeNotificationObject, notification)
return &req
}
@@ -154,7 +191,7 @@
notification.InfoIDs = strings.Join(ids, ";")
var req vo.RequestSubscribeNotification
- req.SubscribeNotificationListObject.SubscribeNotificationObject[0] = notification
+ req.SubscribeNotificationListObject.SubscribeNotificationObject = append(req.SubscribeNotificationListObject.SubscribeNotificationObject, notification)
return &req
}
diff --git a/vo/subscribe.go b/vo/subscribe.go
index 322dfe7..7fd2300 100644
--- a/vo/subscribe.go
+++ b/vo/subscribe.go
@@ -89,6 +89,16 @@
FaceObjectList NotificationFaceList
}
+type PersonNotification struct {
+ NotificationID string
+ SubscribeID string
+ Title string
+ TriggerTime string
+ InfoIDs string
+ ExecuteOperation int
+ PersonObjectList NotificationPersonList
+}
+
type Notification struct {
NotificationID string
SubscribeID string
@@ -98,4 +108,5 @@
ExecuteOperation int
DeviceList NotificationApeList
FaceObjectList NotificationFaceList
+ PersonObjectList NotificationPersonList
}
--
Gitblit v1.8.0