From b5166ec34cea995536384391712373f1d0d69e28 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期二, 28 五月 2024 17:53:25 +0800
Subject: [PATCH] 修改新 face id 格式

---
 service/subscribe.go |   31 +++++++++++++++++--------------
 1 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/service/subscribe.go b/service/subscribe.go
index 556043e..70853cf 100644
--- a/service/subscribe.go
+++ b/service/subscribe.go
@@ -3,6 +3,7 @@
 import (
 	"context"
 	"encoding/json"
+	"gat1400Exchange/config"
 	"strings"
 	"sync"
 	"time"
@@ -52,12 +53,12 @@
 	}
 }
 
-func InitSubscribeTask() error {
+func InitSubscribeTask() {
 	var s models.Subscribe
-	subList, err := s.FindAll()
+	subList, err := s.FindByFromId(config.ClientConf.ServerId)
 	if err != nil {
-		logger.Error("Find account by channel error:%v", err)
-		return err
+		logger.Error("Find subscribe error, server id %s, %v", config.ClientConf.ServerId, err)
+		return
 	}
 
 	for idx, _ := range subList {
@@ -68,17 +69,16 @@
 		CreateTask(&subList[idx])
 	}
 
-	return nil
+	return
 }
 
-func AddFaceCapture(face *vo.FaceObject) {
+func AddFaceNotification(face *vo.FaceObject) {
 	TaskProcMap.Range(func(key, value interface{}) bool {
 		value.(TaskProcInfo).task.AddFace(face)
 		return true
 	})
 
-	logger.Debug("娣诲姞浜鸿劯.")
-	//TaskWaitGroup.Wait()
+	logger.Debug("Add Face Notification.faceId: %s, faceFeath: %s", face.IDNumber, face.OtherFeature)
 }
 
 func StopSubscribeTask() {
@@ -109,10 +109,11 @@
 }
 
 type SubscribeTask struct {
-	ctx      context.Context
-	conf     *models.Subscribe
-	faceList []*vo.FaceObject
-	mutex    sync.Mutex
+	ctx             context.Context
+	conf            *models.Subscribe
+	faceList        []*vo.FaceObject
+	mutex           sync.Mutex
+	lastApeExecTime int64
 }
 
 func (task *SubscribeTask) Start() {
@@ -148,8 +149,10 @@
 	for _, subType := range subDetails {
 		triggerTime := time.Now().Format("20060102150405")
 
-		// 涓婃姤璁惧
-		if subType == vo.SubscribeApe {
+		// 涓婃姤璁惧 鎺у埗璁惧閫氱煡鎺у埗棰戠巼, 閬垮厤棰戠箒, 涓婄骇涓�鑸細涓嬪彂绉掔骇鐨勪换鍔�, 浣嗚澶囦笉浼氶绻佹洿鏂�,
+		if subType == vo.SubscribeApe && time.Now().Unix()-task.lastApeExecTime > 60*10 {
+			task.lastApeExecTime = time.Now().Unix()
+
 			var notification = vo.DeviceNotification{
 				NotificationID:   triggerTime + snowflake.GenerateIdStr(),
 				SubscribeID:      task.conf.Id,

--
Gitblit v1.8.0