From fecd8ff508b33715cbe24ca892fc19a2d1ad1ef5 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 06 十一月 2023 16:34:05 +0800
Subject: [PATCH] 加锁解决同时读串口时报的资源不可用和超时报错

---
 api/v1/task.go |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/api/v1/task.go b/api/v1/task.go
index 26cfb2d..553b76d 100644
--- a/api/v1/task.go
+++ b/api/v1/task.go
@@ -10,7 +10,6 @@
 	"apsClient/pkg/ecode"
 	"apsClient/pkg/logx"
 	"apsClient/service"
-	"apsClient/service/plc_address"
 	"errors"
 	"github.com/gin-gonic/gin"
 	"github.com/jinzhu/gorm"
@@ -235,7 +234,7 @@
 	}
 
 	service.TaskFlagUnset(procedure.Channel)
-
+	service.TaskEndTimeSet(procedure.Channel, time.Now().Unix()) //璁剧疆宸ュ簭杩愯缁撴潫鏃堕棿
 	ctx.Ok()
 }
 
@@ -322,7 +321,9 @@
 		return
 	}
 
-	service.TaskFlagSet(procedure.Channel)
+	service.TaskFlagSet(procedure.Channel, int(procedure.ID))
+	service.TaskStartTimeSet(procedure.Channel, time.Now().Unix()) //璁剧疆宸ュ簭杩愯寮�濮嬫椂闂�
+	service.TaskEndTimeSet(procedure.Channel, 0)                   //璁剧疆宸ュ簭杩愯缁撴潫鏃堕棿
 	ctx.Ok()
 }
 
@@ -390,8 +391,12 @@
 		logx.Info("----------------寮�濮嬩笅鍙戝伐鑹哄弬鏁�-----------------")
 	}
 	var failedNumbers int
+	processModelAddress, err := service.GetProcessModelAddress(conf.Conf.CurrentDeviceID)
+	if err != nil {
+		return err
+	}
 	for k, v := range paramsMap {
-		address, ok := plc_address.Get(k)
+		address, ok := processModelAddress[k]
 		if !ok {
 			logx.Errorf("miss param address, k:%v, v:%v", k, v)
 			continue

--
Gitblit v1.8.0