From 6dea379dc74a941a83c2e5582963c0e58e6ca5bf Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期五, 23 八月 2024 18:32:10 +0800
Subject: [PATCH] 修改楼层解析, 添加老版本兼容
---
pkg/floor.go | 20 +++++++++++++-------
1 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/pkg/floor.go b/pkg/floor.go
index c4c52a7..ad14c3b 100644
--- a/pkg/floor.go
+++ b/pkg/floor.go
@@ -56,21 +56,27 @@
// RestoreFloor restores the three-character string back to the original floor string
func RestoreFloor(encoded string) (string, string, error) {
- if len(encoded) != 4 {
+ var direction, sign uint8
+ var floorNumber, floorStr, directionStr string
+
+ // 3浣嶆槸鏃х殑鏍煎紡, 涓轰簡鍏煎, 鏆傛椂淇濈暀
+ if len(encoded) == 3 {
+ sign = encoded[0]
+ floorNumber = encoded[1:]
+ } else if len(encoded) == 4 {
+ direction = encoded[0]
+ sign = encoded[1]
+ floorNumber = encoded[2:]
+ } else {
return "", "", fmt.Errorf("encoded string must be 3 characters long")
}
- direction := encoded[0]
- sign := encoded[1]
- number := encoded[2:]
-
// Convert the number back to integer to remove any leading zeros
- parsedNumber, err := strconv.Atoi(number)
+ parsedNumber, err := strconv.Atoi(floorNumber)
if err != nil {
return "", "", err
}
- var floorStr, directionStr string
if sign == '1' {
floorStr = fmt.Sprintf("-%dF", parsedNumber)
} else if sign == '0' {
--
Gitblit v1.8.0