From 6a696c25fe142f6db813067ee82632142dc2b2ec Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期六, 19 八月 2023 18:57:45 +0800
Subject: [PATCH] fix

---
 api/v1/plc.go |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/api/v1/plc.go b/api/v1/plc.go
index bec602d..2a93a15 100644
--- a/api/v1/plc.go
+++ b/api/v1/plc.go
@@ -11,6 +11,7 @@
 	"apsClient/service"
 	"encoding/json"
 	"github.com/gin-gonic/gin"
+	"github.com/spf13/cast"
 )
 
 type PlcApi struct{}
@@ -51,30 +52,32 @@
 		ctx.FailWithMsg(ecode.UnknownErr, "璇峰厛閰嶇疆PLC")
 		return
 	}
-
 	conn, err := plc.NewModbusConnection(ipAddr)
-	defer conn.Close()
+	if conn != nil {
+		defer conn.Close()
+	}
+
 	if err != nil {
 		ctx.FailWithMsg(ecode.UnknownErr, "杩炴帴plc澶辫触")
 		logx.Errorf("GetProductProgress 杩炴帴plc澶辫触: %v", err.Error())
 		return
 	}
 
-	raw, err := plc.ReadHoldingRegister(conn, startAddress, dataLength)
+	rawData, err := plc.ReadHoldingRegister(conn, startAddress, dataLength)
 	if err != nil {
 		ctx.FailWithMsg(ecode.UnknownErr, "鑾峰彇plc鏁版嵁澶辫触")
 		logx.Errorf("GetProductProgress 鑾峰彇plc鏁版嵁澶辫触: %v", err.Error())
 		return
 	}
-	var finishNumber int
-	err = json.Unmarshal(raw, &finishNumber)
+	var finishNumber interface{}
+	err = json.Unmarshal(rawData, &finishNumber)
 	if err != nil {
 		ctx.FailWithMsg(ecode.UnknownErr, "鑾峰彇鐢熶骇杩涘害鏁版嵁瑙f瀽澶辫触")
-		logx.Errorf("GetProductProgress 鑾峰彇鐢熶骇杩涘害鏁版嵁瑙f瀽澶辫触: %v, data: %v, valueType:%v", err.Error(), raw, valueType)
+		logx.Errorf("GetProductProgress 鑾峰彇鐢熶骇杩涘害鏁版嵁瑙f瀽澶辫触: %v, data: %v, valueType:%v", err.Error(), rawData, valueType)
 		return
 	}
 	resp := response.ProductProgress{
-		FinishNumber: finishNumber,
+		FinishNumber: cast.ToInt(finishNumber),
 	}
 	ctx.OkWithDetailed(resp)
 }

--
Gitblit v1.8.0