From 140981b95a73a3eaf9adcecf9227c22ec96fbba6 Mon Sep 17 00:00:00 2001 From: wangshilong Date: Wed, 11 Dec 2024 14:03:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=97=A0=E7=AC=A6=E5=8F=B7?= =?UTF-8?q?=E6=95=B4=E6=95=B0=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/UnsignedNumberDecodeHandler.java | 33 +++++++++++++++++++ .../command/etc/CasPressureOptimization.java | 2 +- .../vo/command/etc/TimingMode.java | 2 +- .../command/etc/TubPressureOptimization.java | 2 +- .../vo/command/scss/CasingMode.java | 2 +- .../vo/command/scss/SamplingInterval.java | 2 +- .../vo/command/scss/TimeMode.java | 2 +- 7 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/isu/gaswellwatch/modbus/data/decode/impl/UnsignedNumberDecodeHandler.java diff --git a/src/main/java/com/isu/gaswellwatch/modbus/data/decode/impl/UnsignedNumberDecodeHandler.java b/src/main/java/com/isu/gaswellwatch/modbus/data/decode/impl/UnsignedNumberDecodeHandler.java new file mode 100644 index 0000000..aa8c299 --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/modbus/data/decode/impl/UnsignedNumberDecodeHandler.java @@ -0,0 +1,33 @@ +package com.isu.gaswellwatch.modbus.data.decode.impl; + +import com.isu.gaswellwatch.modbus.data.ModbusMessage; +import com.isu.gaswellwatch.modbus.data.decode.DecodeHandler; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Component; + +import java.util.Map; + +/** + * 无符号整数转换 + * + * @author 王仕龙 + * 2024/12/10 22:48 + */ +@Component(UnsignedNumberDecodeHandler.NAME + DecodeHandler.DECODE_NAME) +public class UnsignedNumberDecodeHandler implements DecodeHandler { + public static final String NAME = "unsignedNumber"; + + @Override + public String decode(Map commandPointMap, String value) { + if (StringUtils.isBlank(value)) { + return value; + } + return String.valueOf(Integer.parseInt(value, 16)); + } + + @Override + public void decode(Map commandPointMap, ModbusMessage.MessagePoint point) { + point.setValue(this.decode(commandPointMap, point.getOriginalValue())); + } + +} diff --git a/src/main/java/com/isu/gaswellwatch/vo/command/etc/CasPressureOptimization.java b/src/main/java/com/isu/gaswellwatch/vo/command/etc/CasPressureOptimization.java index d414da1..3b2b6b4 100644 --- a/src/main/java/com/isu/gaswellwatch/vo/command/etc/CasPressureOptimization.java +++ b/src/main/java/com/isu/gaswellwatch/vo/command/etc/CasPressureOptimization.java @@ -17,7 +17,7 @@ import java.util.List; /** * 套压模式 * - * @author 王仕龙 + * @author 王仕龙 * 2024/12/11 9:22 */ @Getter diff --git a/src/main/java/com/isu/gaswellwatch/vo/command/etc/TimingMode.java b/src/main/java/com/isu/gaswellwatch/vo/command/etc/TimingMode.java index 40d33cd..41bfd70 100644 --- a/src/main/java/com/isu/gaswellwatch/vo/command/etc/TimingMode.java +++ b/src/main/java/com/isu/gaswellwatch/vo/command/etc/TimingMode.java @@ -14,7 +14,7 @@ import java.util.Collection; import java.util.List; /** - * @author 王仕龙 + * @author 王仕龙 * 2024/12/11 9:20 */ @Getter diff --git a/src/main/java/com/isu/gaswellwatch/vo/command/etc/TubPressureOptimization.java b/src/main/java/com/isu/gaswellwatch/vo/command/etc/TubPressureOptimization.java index 9a8ed8c..7751b2d 100644 --- a/src/main/java/com/isu/gaswellwatch/vo/command/etc/TubPressureOptimization.java +++ b/src/main/java/com/isu/gaswellwatch/vo/command/etc/TubPressureOptimization.java @@ -14,7 +14,7 @@ import java.util.Collection; import java.util.List; /** - * @author 王仕龙 + * @author 王仕龙 * 2024/12/11 9:22 */ @Getter diff --git a/src/main/java/com/isu/gaswellwatch/vo/command/scss/CasingMode.java b/src/main/java/com/isu/gaswellwatch/vo/command/scss/CasingMode.java index 2ce39c8..99bad71 100644 --- a/src/main/java/com/isu/gaswellwatch/vo/command/scss/CasingMode.java +++ b/src/main/java/com/isu/gaswellwatch/vo/command/scss/CasingMode.java @@ -19,7 +19,7 @@ import java.util.List; /** * 套压模式 * - * @author 王仕龙 + * @author 王仕龙 * 2024/12/10 17:01 */ @Getter diff --git a/src/main/java/com/isu/gaswellwatch/vo/command/scss/SamplingInterval.java b/src/main/java/com/isu/gaswellwatch/vo/command/scss/SamplingInterval.java index f2422bc..ae51bbe 100644 --- a/src/main/java/com/isu/gaswellwatch/vo/command/scss/SamplingInterval.java +++ b/src/main/java/com/isu/gaswellwatch/vo/command/scss/SamplingInterval.java @@ -16,7 +16,7 @@ import java.util.List; /** * 采样间隔 * - * @author 王仕龙 + * @author 王仕龙 * 2024/12/10 17:24 */ @Getter diff --git a/src/main/java/com/isu/gaswellwatch/vo/command/scss/TimeMode.java b/src/main/java/com/isu/gaswellwatch/vo/command/scss/TimeMode.java index e8dd84c..00ae413 100644 --- a/src/main/java/com/isu/gaswellwatch/vo/command/scss/TimeMode.java +++ b/src/main/java/com/isu/gaswellwatch/vo/command/scss/TimeMode.java @@ -17,7 +17,7 @@ import java.util.List; /** * 时间模式 * - * @author 王仕龙 + * @author 王仕龙 * 2024/12/10 16:57 */ @Getter