From 8ba0a125eb7302d8c51d3c85cf8ea8a4de5413db Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期六, 25 五月 2024 17:56:27 +0800
Subject: [PATCH] 修复ape类型判断

---
 service/resend.go |   44 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/service/resend.go b/service/resend.go
index d243126..ade60a8 100644
--- a/service/resend.go
+++ b/service/resend.go
@@ -1,26 +1,50 @@
 package service
 
 import (
+	"gat1400Exchange/client"
 	"gat1400Exchange/config"
 	"gat1400Exchange/models"
 	"gat1400Exchange/pkg/logger"
 	"gat1400Exchange/util"
+	"gat1400Exchange/vo"
 )
 
+var resendTaskRunning bool
+
 func ResendImageData() {
+	if resendTaskRunning {
+		return
+	}
+	resendTaskRunning = true
+	defer func() { resendTaskRunning = false }()
+
 	var cacheMod models.Cache
-	cacheItems, _ := cacheMod.FindAll()
+	total, _ := cacheMod.Count()
+	logger.Debug("Start resend task. cache len:%d", total)
 
-	for _, c := range cacheItems {
-		if !util.SendData([]byte(c.Data), config.ForwardConf.SyncServer) {
-			logger.Warn("The data resend failed. retry count %d", c.Retry)
-
-			c.Retry = c.Retry + 1
-			c.Update()
-		} else {
-			c.Delete()
-			logger.Debug("The data resend successful.")
+	for i := 0; i < int(total); i++ {
+		var c models.Cache
+		err := c.First()
+		if err != nil {
+			logger.Error(err.Error())
+			return
 		}
+		if c.Type == "1400" {
+			if client.FaceCapture([]byte(c.Data)) != vo.StatusSuccess {
+				c.UpdateRetryCount()
+				logger.Warn("The data resend failed. retry count %d", c.Retry+1)
+				return
+			}
+		} else {
+			if !util.SendData([]byte(c.Data), config.ForwardConf.SyncServer) {
+				c.UpdateRetryCount()
+				logger.Warn("The data resend failed. retry count %d", c.Retry+1)
+				return
+			}
+		}
+
+		c.Delete()
+		logger.Debug("The data resend successful.")
 	}
 
 }

--
Gitblit v1.8.0