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 c502949..5b80199 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 4ce3fbe..f24b0b8 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