From 468ceb8a9bfe9e15e3be470b23809dde83a11f0d Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 09 十月 2023 19:14:53 +0800
Subject: [PATCH] merge master

---
 service/cache_store.go |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/service/cache_store.go b/service/cache_store.go
index 2f6c515..743e4a7 100644
--- a/service/cache_store.go
+++ b/service/cache_store.go
@@ -1,9 +1,11 @@
 package service
 
 import (
+	"apsClient/conf"
 	"apsClient/constvar"
 	"apsClient/model"
 	"fmt"
+	"github.com/jinzhu/gorm"
 	"github.com/spf13/cast"
 	"sync"
 	"time"
@@ -79,18 +81,25 @@
 }
 
 func TaskFlagSet(channel int32) {
-	defaultCacheStore.Add(fmt.Sprintf(CurrentTaskCacheKey, channel), struct{}{})
+	defaultCacheStore.Add(fmt.Sprintf(CurrentTaskCacheKey, channel), true)
 }
 
 func TaskFlagUnset(channel int32) {
-	defaultCacheStore.Remove(fmt.Sprintf(CurrentTaskCacheKey, channel))
+	defaultCacheStore.Add(fmt.Sprintf(CurrentTaskCacheKey, channel), false)
 }
 
 func TaskFlagGet(channel int32) bool {
-	if _, ok := defaultCacheStore.Get(fmt.Sprintf(CurrentTaskCacheKey, channel)); ok {
+	if v, ok := defaultCacheStore.Get(fmt.Sprintf(CurrentTaskCacheKey, channel)); ok {
+		return v.(bool)
+	}
+	_, err := model.NewProceduresSearch(nil).SetDeviceId(conf.Conf.System.DeviceId).SetStatus(model.ProcedureStatusProcessing).SetChannels([]int32{channel}).First()
+	if err == gorm.ErrRecordNotFound {
+		defaultCacheStore.Add(fmt.Sprintf(CurrentTaskCacheKey, channel), false)
+		return false
+	} else {
+		defaultCacheStore.Add(fmt.Sprintf(CurrentTaskCacheKey, channel), true)
 		return true
 	}
-	return false
 }
 
 func ProgressCacheGet(channel int32) (*model.ProductionProgress, bool) {

--
Gitblit v1.8.0