| | |
| | | import ( |
| | | "encoding/base64" |
| | | "encoding/json" |
| | | "strconv" |
| | | "strings" |
| | | "time" |
| | | |
| | | "gat1400Exchange/client" |
| | |
| | | floor = runState.Floor |
| | | |
| | | for i := 0; i < config.NVCSConf.WaitRunTime; i++ { |
| | | if runState = nvcs.FindMovePosition(faceAppearTime.Unix()+3, floor); runState.Floor != "" { |
| | | switch runState.RunState { |
| | | case nvcs.RunUp: |
| | | runDir = "in" |
| | | case nvcs.RunDown: |
| | | runDir = "out" |
| | | case nvcs.RunStop: |
| | | runDir = "" |
| | | } |
| | | |
| | | if runState = nvcs.CurrentRunState(); runState.Floor != "" && runState.Floor != floor { |
| | | runDir = compareFloor(floor, runState.Floor) |
| | | break |
| | | } |
| | | |
| | |
| | | floor = runState.Floor |
| | | |
| | | for i := 0; i < config.NVCSConf.WaitRunTime; i++ { |
| | | if runState = nvcs.FindMovePosition(faceAppearTime.Unix()+3, floor); runState.Floor != "" { |
| | | switch runState.RunState { |
| | | case nvcs.RunUp: |
| | | runDir = "in" |
| | | case nvcs.RunDown: |
| | | runDir = "out" |
| | | case nvcs.RunStop: |
| | | runDir = "" |
| | | } |
| | | |
| | | if runState = nvcs.CurrentRunState(); runState.Floor != "" && runState.Floor != floor { |
| | | runDir = compareFloor(floor, runState.Floor) |
| | | break |
| | | } |
| | | |
| | |
| | | logger.Warn(err.Error()) |
| | | } |
| | | } |
| | | |
| | | func compareFloor(str1, str2 string) string { |
| | | // 去掉字符串最后一个字符 'F' |
| | | numStr1 := strings.TrimSuffix(str1, "F") |
| | | numStr2 := strings.TrimSuffix(str2, "F") |
| | | |
| | | // 转换为 int 类型 |
| | | num1, err1 := strconv.Atoi(numStr1) |
| | | num2, err2 := strconv.Atoi(numStr2) |
| | | |
| | | // 检查转换是否成功 |
| | | if err1 != nil || err2 != nil { |
| | | return "" |
| | | } |
| | | |
| | | // 比较两个整数的大小 |
| | | if num1 > num2 { |
| | | return "out" |
| | | } else { |
| | | return "in" |
| | | } |
| | | } |