diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java new file mode 100644 index 0000000..67631b6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java @@ -0,0 +1,29 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class RetryTimesTag extends BirmmBaseTag { + + final String RETRY_TIMES_TAG_OID = "1000000A"; + + // TYPE_U8整型,重传次数 1-10 + int times; + + @Override + public String toString() { + return super.toString() + "[value: " + times + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + times = Integer.parseInt(valueStr, 16); + } +} diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java new file mode 100644 index 0000000..67631b6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java @@ -0,0 +1,29 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class RetryTimesTag extends BirmmBaseTag { + + final String RETRY_TIMES_TAG_OID = "1000000A"; + + // TYPE_U8整型,重传次数 1-10 + int times; + + @Override + public String toString() { + return super.toString() + "[value: " + times + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + times = Integer.parseInt(valueStr, 16); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java index 3040799..c3ce539 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java @@ -15,6 +15,11 @@ int snr; @Override + public String toString() { + return super.toString() + "[value: " + snr + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); snr = BytesUtil.hexStringToSInt(valueStr); diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java new file mode 100644 index 0000000..67631b6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java @@ -0,0 +1,29 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class RetryTimesTag extends BirmmBaseTag { + + final String RETRY_TIMES_TAG_OID = "1000000A"; + + // TYPE_U8整型,重传次数 1-10 + int times; + + @Override + public String toString() { + return super.toString() + "[value: " + times + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + times = Integer.parseInt(valueStr, 16); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java index 3040799..c3ce539 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java @@ -15,6 +15,11 @@ int snr; @Override + public String toString() { + return super.toString() + "[value: " + snr + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); snr = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java new file mode 100644 index 0000000..f930e42 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class SoftwareVersionTag extends BirmmBaseTag { + + final String SOFTWARE_VERSION_TAG_OID = "60000500"; + + String version; + + @Override + public String toString() { + return super.toString() + "[value: " + version + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + version = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java new file mode 100644 index 0000000..67631b6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java @@ -0,0 +1,29 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class RetryTimesTag extends BirmmBaseTag { + + final String RETRY_TIMES_TAG_OID = "1000000A"; + + // TYPE_U8整型,重传次数 1-10 + int times; + + @Override + public String toString() { + return super.toString() + "[value: " + times + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + times = Integer.parseInt(valueStr, 16); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java index 3040799..c3ce539 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java @@ -15,6 +15,11 @@ int snr; @Override + public String toString() { + return super.toString() + "[value: " + snr + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); snr = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java new file mode 100644 index 0000000..f930e42 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class SoftwareVersionTag extends BirmmBaseTag { + + final String SOFTWARE_VERSION_TAG_OID = "60000500"; + + String version; + + @Override + public String toString() { + return super.toString() + "[value: " + version + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + version = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java new file mode 100644 index 0000000..c899694 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class StartTimeTag extends BirmmBaseTag { + + final String START_TIME_TAG_OID = "10000104"; + + // TYPE_U16整型,数据采集开始分钟,范围: 0 – 1440 + int startMinute; + + @Override + public String toString() { + return super.toString() + "[value: " + startMinute + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + startMinute = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java new file mode 100644 index 0000000..67631b6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java @@ -0,0 +1,29 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class RetryTimesTag extends BirmmBaseTag { + + final String RETRY_TIMES_TAG_OID = "1000000A"; + + // TYPE_U8整型,重传次数 1-10 + int times; + + @Override + public String toString() { + return super.toString() + "[value: " + times + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + times = Integer.parseInt(valueStr, 16); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java index 3040799..c3ce539 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java @@ -15,6 +15,11 @@ int snr; @Override + public String toString() { + return super.toString() + "[value: " + snr + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); snr = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java new file mode 100644 index 0000000..f930e42 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class SoftwareVersionTag extends BirmmBaseTag { + + final String SOFTWARE_VERSION_TAG_OID = "60000500"; + + String version; + + @Override + public String toString() { + return super.toString() + "[value: " + version + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + version = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java new file mode 100644 index 0000000..c899694 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class StartTimeTag extends BirmmBaseTag { + + final String START_TIME_TAG_OID = "10000104"; + + // TYPE_U16整型,数据采集开始分钟,范围: 0 – 1440 + int startMinute; + + @Override + public String toString() { + return super.toString() + "[value: " + startMinute + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + startMinute = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java new file mode 100644 index 0000000..c7555a6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UploadIntervalTag extends BirmmBaseTag { + + final String UPLOAD_INTERVAL_TAG_OID = "10000062"; + + // TYPE_U16整型,数据上报间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java new file mode 100644 index 0000000..67631b6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java @@ -0,0 +1,29 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class RetryTimesTag extends BirmmBaseTag { + + final String RETRY_TIMES_TAG_OID = "1000000A"; + + // TYPE_U8整型,重传次数 1-10 + int times; + + @Override + public String toString() { + return super.toString() + "[value: " + times + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + times = Integer.parseInt(valueStr, 16); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java index 3040799..c3ce539 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java @@ -15,6 +15,11 @@ int snr; @Override + public String toString() { + return super.toString() + "[value: " + snr + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); snr = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java new file mode 100644 index 0000000..f930e42 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class SoftwareVersionTag extends BirmmBaseTag { + + final String SOFTWARE_VERSION_TAG_OID = "60000500"; + + String version; + + @Override + public String toString() { + return super.toString() + "[value: " + version + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + version = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java new file mode 100644 index 0000000..c899694 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class StartTimeTag extends BirmmBaseTag { + + final String START_TIME_TAG_OID = "10000104"; + + // TYPE_U16整型,数据采集开始分钟,范围: 0 – 1440 + int startMinute; + + @Override + public String toString() { + return super.toString() + "[value: " + startMinute + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + startMinute = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java new file mode 100644 index 0000000..c7555a6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UploadIntervalTag extends BirmmBaseTag { + + final String UPLOAD_INTERVAL_TAG_OID = "10000062"; + + // TYPE_U16整型,数据上报间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java new file mode 100644 index 0000000..4e96926 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UpperLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000901"; + + // 单精度浮点数 + float upperLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + upperLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + upperLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java new file mode 100644 index 0000000..67631b6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java @@ -0,0 +1,29 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class RetryTimesTag extends BirmmBaseTag { + + final String RETRY_TIMES_TAG_OID = "1000000A"; + + // TYPE_U8整型,重传次数 1-10 + int times; + + @Override + public String toString() { + return super.toString() + "[value: " + times + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + times = Integer.parseInt(valueStr, 16); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java index 3040799..c3ce539 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java @@ -15,6 +15,11 @@ int snr; @Override + public String toString() { + return super.toString() + "[value: " + snr + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); snr = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java new file mode 100644 index 0000000..f930e42 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class SoftwareVersionTag extends BirmmBaseTag { + + final String SOFTWARE_VERSION_TAG_OID = "60000500"; + + String version; + + @Override + public String toString() { + return super.toString() + "[value: " + version + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + version = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java new file mode 100644 index 0000000..c899694 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class StartTimeTag extends BirmmBaseTag { + + final String START_TIME_TAG_OID = "10000104"; + + // TYPE_U16整型,数据采集开始分钟,范围: 0 – 1440 + int startMinute; + + @Override + public String toString() { + return super.toString() + "[value: " + startMinute + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + startMinute = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java new file mode 100644 index 0000000..c7555a6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UploadIntervalTag extends BirmmBaseTag { + + final String UPLOAD_INTERVAL_TAG_OID = "10000062"; + + // TYPE_U16整型,数据上报间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java new file mode 100644 index 0000000..4e96926 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UpperLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000901"; + + // 单精度浮点数 + float upperLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + upperLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + upperLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java new file mode 100644 index 0000000..f540980 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java @@ -0,0 +1,6 @@ +package com.casic.missiles.frame.methane; + +import com.casic.missiles.frame.BirmmBaseFrame; + +public class MethaneOnlineRequestFrame extends BirmmBaseFrame { +} diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java new file mode 100644 index 0000000..67631b6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java @@ -0,0 +1,29 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class RetryTimesTag extends BirmmBaseTag { + + final String RETRY_TIMES_TAG_OID = "1000000A"; + + // TYPE_U8整型,重传次数 1-10 + int times; + + @Override + public String toString() { + return super.toString() + "[value: " + times + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + times = Integer.parseInt(valueStr, 16); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java index 3040799..c3ce539 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java @@ -15,6 +15,11 @@ int snr; @Override + public String toString() { + return super.toString() + "[value: " + snr + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); snr = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java new file mode 100644 index 0000000..f930e42 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class SoftwareVersionTag extends BirmmBaseTag { + + final String SOFTWARE_VERSION_TAG_OID = "60000500"; + + String version; + + @Override + public String toString() { + return super.toString() + "[value: " + version + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + version = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java new file mode 100644 index 0000000..c899694 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class StartTimeTag extends BirmmBaseTag { + + final String START_TIME_TAG_OID = "10000104"; + + // TYPE_U16整型,数据采集开始分钟,范围: 0 – 1440 + int startMinute; + + @Override + public String toString() { + return super.toString() + "[value: " + startMinute + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + startMinute = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java new file mode 100644 index 0000000..c7555a6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UploadIntervalTag extends BirmmBaseTag { + + final String UPLOAD_INTERVAL_TAG_OID = "10000062"; + + // TYPE_U16整型,数据上报间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java new file mode 100644 index 0000000..4e96926 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UpperLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000901"; + + // 单精度浮点数 + float upperLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + upperLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + upperLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java new file mode 100644 index 0000000..f540980 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java @@ -0,0 +1,6 @@ +package com.casic.missiles.frame.methane; + +import com.casic.missiles.frame.BirmmBaseFrame; + +public class MethaneOnlineRequestFrame extends BirmmBaseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java new file mode 100644 index 0000000..47fd65b --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java @@ -0,0 +1,4 @@ +package com.casic.missiles.frame.methane; + +public class MethaneSetResponseFrame { +} diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java new file mode 100644 index 0000000..67631b6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java @@ -0,0 +1,29 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class RetryTimesTag extends BirmmBaseTag { + + final String RETRY_TIMES_TAG_OID = "1000000A"; + + // TYPE_U8整型,重传次数 1-10 + int times; + + @Override + public String toString() { + return super.toString() + "[value: " + times + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + times = Integer.parseInt(valueStr, 16); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java index 3040799..c3ce539 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java @@ -15,6 +15,11 @@ int snr; @Override + public String toString() { + return super.toString() + "[value: " + snr + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); snr = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java new file mode 100644 index 0000000..f930e42 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class SoftwareVersionTag extends BirmmBaseTag { + + final String SOFTWARE_VERSION_TAG_OID = "60000500"; + + String version; + + @Override + public String toString() { + return super.toString() + "[value: " + version + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + version = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java new file mode 100644 index 0000000..c899694 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class StartTimeTag extends BirmmBaseTag { + + final String START_TIME_TAG_OID = "10000104"; + + // TYPE_U16整型,数据采集开始分钟,范围: 0 – 1440 + int startMinute; + + @Override + public String toString() { + return super.toString() + "[value: " + startMinute + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + startMinute = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java new file mode 100644 index 0000000..c7555a6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UploadIntervalTag extends BirmmBaseTag { + + final String UPLOAD_INTERVAL_TAG_OID = "10000062"; + + // TYPE_U16整型,数据上报间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java new file mode 100644 index 0000000..4e96926 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UpperLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000901"; + + // 单精度浮点数 + float upperLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + upperLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + upperLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java new file mode 100644 index 0000000..f540980 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java @@ -0,0 +1,6 @@ +package com.casic.missiles.frame.methane; + +import com.casic.missiles.frame.BirmmBaseFrame; + +public class MethaneOnlineRequestFrame extends BirmmBaseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java new file mode 100644 index 0000000..47fd65b --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java @@ -0,0 +1,4 @@ +package com.casic.missiles.frame.methane; + +public class MethaneSetResponseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java new file mode 100644 index 0000000..1f4d831 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java @@ -0,0 +1,6 @@ +package com.casic.missiles.frame.methane; + +import com.casic.missiles.frame.BirmmBaseFrame; + +public class MethaneTrapRequestFrame extends BirmmBaseFrame { +} diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java new file mode 100644 index 0000000..67631b6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java @@ -0,0 +1,29 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class RetryTimesTag extends BirmmBaseTag { + + final String RETRY_TIMES_TAG_OID = "1000000A"; + + // TYPE_U8整型,重传次数 1-10 + int times; + + @Override + public String toString() { + return super.toString() + "[value: " + times + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + times = Integer.parseInt(valueStr, 16); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java index 3040799..c3ce539 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java @@ -15,6 +15,11 @@ int snr; @Override + public String toString() { + return super.toString() + "[value: " + snr + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); snr = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java new file mode 100644 index 0000000..f930e42 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class SoftwareVersionTag extends BirmmBaseTag { + + final String SOFTWARE_VERSION_TAG_OID = "60000500"; + + String version; + + @Override + public String toString() { + return super.toString() + "[value: " + version + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + version = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java new file mode 100644 index 0000000..c899694 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class StartTimeTag extends BirmmBaseTag { + + final String START_TIME_TAG_OID = "10000104"; + + // TYPE_U16整型,数据采集开始分钟,范围: 0 – 1440 + int startMinute; + + @Override + public String toString() { + return super.toString() + "[value: " + startMinute + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + startMinute = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java new file mode 100644 index 0000000..c7555a6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UploadIntervalTag extends BirmmBaseTag { + + final String UPLOAD_INTERVAL_TAG_OID = "10000062"; + + // TYPE_U16整型,数据上报间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java new file mode 100644 index 0000000..4e96926 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UpperLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000901"; + + // 单精度浮点数 + float upperLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + upperLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + upperLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java new file mode 100644 index 0000000..f540980 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java @@ -0,0 +1,6 @@ +package com.casic.missiles.frame.methane; + +import com.casic.missiles.frame.BirmmBaseFrame; + +public class MethaneOnlineRequestFrame extends BirmmBaseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java new file mode 100644 index 0000000..47fd65b --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java @@ -0,0 +1,4 @@ +package com.casic.missiles.frame.methane; + +public class MethaneSetResponseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java new file mode 100644 index 0000000..1f4d831 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java @@ -0,0 +1,6 @@ +package com.casic.missiles.frame.methane; + +import com.casic.missiles.frame.BirmmBaseFrame; + +public class MethaneTrapRequestFrame extends BirmmBaseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java b/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java index a593eb8..e079239 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java @@ -4,7 +4,6 @@ package com.casic.missiles.netty.codec; import com.casic.missiles.pojo.Msg; -import com.casic.missiles.enums.FrameAttributeEnums; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; import io.netty.buffer.ByteBufUtil; diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java new file mode 100644 index 0000000..67631b6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java @@ -0,0 +1,29 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class RetryTimesTag extends BirmmBaseTag { + + final String RETRY_TIMES_TAG_OID = "1000000A"; + + // TYPE_U8整型,重传次数 1-10 + int times; + + @Override + public String toString() { + return super.toString() + "[value: " + times + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + times = Integer.parseInt(valueStr, 16); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java index 3040799..c3ce539 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java @@ -15,6 +15,11 @@ int snr; @Override + public String toString() { + return super.toString() + "[value: " + snr + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); snr = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java new file mode 100644 index 0000000..f930e42 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class SoftwareVersionTag extends BirmmBaseTag { + + final String SOFTWARE_VERSION_TAG_OID = "60000500"; + + String version; + + @Override + public String toString() { + return super.toString() + "[value: " + version + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + version = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java new file mode 100644 index 0000000..c899694 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class StartTimeTag extends BirmmBaseTag { + + final String START_TIME_TAG_OID = "10000104"; + + // TYPE_U16整型,数据采集开始分钟,范围: 0 – 1440 + int startMinute; + + @Override + public String toString() { + return super.toString() + "[value: " + startMinute + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + startMinute = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java new file mode 100644 index 0000000..c7555a6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UploadIntervalTag extends BirmmBaseTag { + + final String UPLOAD_INTERVAL_TAG_OID = "10000062"; + + // TYPE_U16整型,数据上报间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java new file mode 100644 index 0000000..4e96926 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UpperLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000901"; + + // 单精度浮点数 + float upperLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + upperLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + upperLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java new file mode 100644 index 0000000..f540980 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java @@ -0,0 +1,6 @@ +package com.casic.missiles.frame.methane; + +import com.casic.missiles.frame.BirmmBaseFrame; + +public class MethaneOnlineRequestFrame extends BirmmBaseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java new file mode 100644 index 0000000..47fd65b --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java @@ -0,0 +1,4 @@ +package com.casic.missiles.frame.methane; + +public class MethaneSetResponseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java new file mode 100644 index 0000000..1f4d831 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java @@ -0,0 +1,6 @@ +package com.casic.missiles.frame.methane; + +import com.casic.missiles.frame.BirmmBaseFrame; + +public class MethaneTrapRequestFrame extends BirmmBaseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java b/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java index a593eb8..e079239 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java @@ -4,7 +4,6 @@ package com.casic.missiles.netty.codec; import com.casic.missiles.pojo.Msg; -import com.casic.missiles.enums.FrameAttributeEnums; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; import io.netty.buffer.ByteBufUtil; diff --git a/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java b/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java index 11c542d..d3e7391 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java @@ -113,8 +113,11 @@ BirmmBaseTag tagBase = BirmmTagBuilderFactory.createTagByOid(oid); if (null != tagBase) { String valStr = BytesUtil.extractHexString(tagBytes, idx, tagLen); + tagBase.setOid(oid); tagBase.setValueStr(valStr); + log.debug("解析Tag:{}", tagBase); + tagList.add(tagBase); } } diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java new file mode 100644 index 0000000..67631b6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java @@ -0,0 +1,29 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class RetryTimesTag extends BirmmBaseTag { + + final String RETRY_TIMES_TAG_OID = "1000000A"; + + // TYPE_U8整型,重传次数 1-10 + int times; + + @Override + public String toString() { + return super.toString() + "[value: " + times + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + times = Integer.parseInt(valueStr, 16); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java index 3040799..c3ce539 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java @@ -15,6 +15,11 @@ int snr; @Override + public String toString() { + return super.toString() + "[value: " + snr + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); snr = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java new file mode 100644 index 0000000..f930e42 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class SoftwareVersionTag extends BirmmBaseTag { + + final String SOFTWARE_VERSION_TAG_OID = "60000500"; + + String version; + + @Override + public String toString() { + return super.toString() + "[value: " + version + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + version = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java new file mode 100644 index 0000000..c899694 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class StartTimeTag extends BirmmBaseTag { + + final String START_TIME_TAG_OID = "10000104"; + + // TYPE_U16整型,数据采集开始分钟,范围: 0 – 1440 + int startMinute; + + @Override + public String toString() { + return super.toString() + "[value: " + startMinute + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + startMinute = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java new file mode 100644 index 0000000..c7555a6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UploadIntervalTag extends BirmmBaseTag { + + final String UPLOAD_INTERVAL_TAG_OID = "10000062"; + + // TYPE_U16整型,数据上报间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java new file mode 100644 index 0000000..4e96926 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UpperLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000901"; + + // 单精度浮点数 + float upperLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + upperLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + upperLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java new file mode 100644 index 0000000..f540980 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java @@ -0,0 +1,6 @@ +package com.casic.missiles.frame.methane; + +import com.casic.missiles.frame.BirmmBaseFrame; + +public class MethaneOnlineRequestFrame extends BirmmBaseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java new file mode 100644 index 0000000..47fd65b --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java @@ -0,0 +1,4 @@ +package com.casic.missiles.frame.methane; + +public class MethaneSetResponseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java new file mode 100644 index 0000000..1f4d831 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java @@ -0,0 +1,6 @@ +package com.casic.missiles.frame.methane; + +import com.casic.missiles.frame.BirmmBaseFrame; + +public class MethaneTrapRequestFrame extends BirmmBaseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java b/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java index a593eb8..e079239 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java @@ -4,7 +4,6 @@ package com.casic.missiles.netty.codec; import com.casic.missiles.pojo.Msg; -import com.casic.missiles.enums.FrameAttributeEnums; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; import io.netty.buffer.ByteBufUtil; diff --git a/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java b/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java index 11c542d..d3e7391 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java @@ -113,8 +113,11 @@ BirmmBaseTag tagBase = BirmmTagBuilderFactory.createTagByOid(oid); if (null != tagBase) { String valStr = BytesUtil.extractHexString(tagBytes, idx, tagLen); + tagBase.setOid(oid); tagBase.setValueStr(valStr); + log.debug("解析Tag:{}", tagBase); + tagList.add(tagBase); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java b/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java index 118a8de..fda0518 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java @@ -57,7 +57,9 @@ // 获得业务字段tagList List tagList = protocol.getTagList(plainBytes); - System.out.println(tagList.size()); + + // 创建Frame + BirmmBaseFrame birmmFrame = BirmmFrameBuilderFactory.createBirmmFrame(pduType); } return null; diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java new file mode 100644 index 0000000..67631b6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java @@ -0,0 +1,29 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class RetryTimesTag extends BirmmBaseTag { + + final String RETRY_TIMES_TAG_OID = "1000000A"; + + // TYPE_U8整型,重传次数 1-10 + int times; + + @Override + public String toString() { + return super.toString() + "[value: " + times + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + times = Integer.parseInt(valueStr, 16); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java index 3040799..c3ce539 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java @@ -15,6 +15,11 @@ int snr; @Override + public String toString() { + return super.toString() + "[value: " + snr + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); snr = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java new file mode 100644 index 0000000..f930e42 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class SoftwareVersionTag extends BirmmBaseTag { + + final String SOFTWARE_VERSION_TAG_OID = "60000500"; + + String version; + + @Override + public String toString() { + return super.toString() + "[value: " + version + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + version = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java new file mode 100644 index 0000000..c899694 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class StartTimeTag extends BirmmBaseTag { + + final String START_TIME_TAG_OID = "10000104"; + + // TYPE_U16整型,数据采集开始分钟,范围: 0 – 1440 + int startMinute; + + @Override + public String toString() { + return super.toString() + "[value: " + startMinute + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + startMinute = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java new file mode 100644 index 0000000..c7555a6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UploadIntervalTag extends BirmmBaseTag { + + final String UPLOAD_INTERVAL_TAG_OID = "10000062"; + + // TYPE_U16整型,数据上报间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java new file mode 100644 index 0000000..4e96926 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UpperLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000901"; + + // 单精度浮点数 + float upperLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + upperLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + upperLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java new file mode 100644 index 0000000..f540980 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java @@ -0,0 +1,6 @@ +package com.casic.missiles.frame.methane; + +import com.casic.missiles.frame.BirmmBaseFrame; + +public class MethaneOnlineRequestFrame extends BirmmBaseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java new file mode 100644 index 0000000..47fd65b --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java @@ -0,0 +1,4 @@ +package com.casic.missiles.frame.methane; + +public class MethaneSetResponseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java new file mode 100644 index 0000000..1f4d831 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java @@ -0,0 +1,6 @@ +package com.casic.missiles.frame.methane; + +import com.casic.missiles.frame.BirmmBaseFrame; + +public class MethaneTrapRequestFrame extends BirmmBaseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java b/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java index a593eb8..e079239 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java @@ -4,7 +4,6 @@ package com.casic.missiles.netty.codec; import com.casic.missiles.pojo.Msg; -import com.casic.missiles.enums.FrameAttributeEnums; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; import io.netty.buffer.ByteBufUtil; diff --git a/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java b/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java index 11c542d..d3e7391 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java @@ -113,8 +113,11 @@ BirmmBaseTag tagBase = BirmmTagBuilderFactory.createTagByOid(oid); if (null != tagBase) { String valStr = BytesUtil.extractHexString(tagBytes, idx, tagLen); + tagBase.setOid(oid); tagBase.setValueStr(valStr); + log.debug("解析Tag:{}", tagBase); + tagList.add(tagBase); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java b/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java index 118a8de..fda0518 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java @@ -57,7 +57,9 @@ // 获得业务字段tagList List tagList = protocol.getTagList(plainBytes); - System.out.println(tagList.size()); + + // 创建Frame + BirmmBaseFrame birmmFrame = BirmmFrameBuilderFactory.createBirmmFrame(pduType); } return null; diff --git a/sensorhub-support/src/main/java/com/casic/missiles/enums/BirmmTagAttributeEnums.java b/sensorhub-support/src/main/java/com/casic/missiles/enums/BirmmTagAttributeEnums.java index 1df2e90..911cbe0 100644 --- a/sensorhub-support/src/main/java/com/casic/missiles/enums/BirmmTagAttributeEnums.java +++ b/sensorhub-support/src/main/java/com/casic/missiles/enums/BirmmTagAttributeEnums.java @@ -9,12 +9,25 @@ */ @Getter public enum BirmmTagAttributeEnums { - CELL_TAG("60000020", 1), + RETRY_TIMES_TAG("1000000A", 1), + DESTINATION_IP_TAG("10000022", -1), + DESTINATION_PORT_TAG("10000023", -1), DATE_TAG("10000050", 3), - PIC_TAG("60000511", 2), + DATETIME_TAG("10000051", 6), + UPLOAD_INTERVAL_TAG("10000062", 2), + START_TIME_TAG("10000104", 2), + COLLECT_INTERVAL_TAG("10000105", 2), + COLLECT_COUNT_TAG("10000106", 2), + LOWER_LIMIT_TAG("10000900", 4), + UPPER_LIMIMT_TAG("10000901", 4), + + CELL_TAG("60000020", 1), + SOFTWARE_VERSION_TAG("60000500", -1), + PCI_TAG("60000511", 2), RSRP_TAG("60000513", 2), SNR_TAG("60000516", 2); + /** * 名称 */ diff --git a/casic-iot-web/src/main/resources/config/logback-spring.xml b/casic-iot-web/src/main/resources/config/logback-spring.xml deleted file mode 100644 index 2d308a8..0000000 --- a/casic-iot-web/src/main/resources/config/logback-spring.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - utf-8 - - - - - - - - ${LOG_PATH}/missiles_error.log - - - - - - ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - error - ACCEPT - DENY - - - - - - - - ${LOG_PATH}/missiles_total.log - - - - - - ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log - - - - 10MB - - - - - true - - - - ${FILE_LOG_PATTERN} - utf-8 - - - - - - - - - - - \ No newline at end of file diff --git a/casic-iot-web/src/main/resources/logback-spring.xml b/casic-iot-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..2d308a8 --- /dev/null +++ b/casic-iot-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java index 2285f9a..08ed720 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseTag.java @@ -8,4 +8,9 @@ private String oid; private int tagLen; private String valueStr; + + @Override + public String toString() { + return "[name: " + getClass().getSimpleName() + "][oid: " + oid + "][hex: " + valueStr + "]"; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java index 95ebdab..86db0a3 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmTagBuilderFactory.java @@ -9,21 +9,54 @@ BirmmTagAttributeEnums tag = BirmmTagAttributeEnums.toType(oid); if (null != tag) { switch (tag) { - case CELL_TAG: - return new CellTag(); + case RETRY_TIMES_TAG: + return new RetryTimesTag(); + + case DESTINATION_IP_TAG: + return new DestIPTag(); + + case DESTINATION_PORT_TAG: + return new DestPortTag(); case DATE_TAG: return new DateTag(); - case PIC_TAG: - return new PCITag(); + case DATETIME_TAG: + return new DateTimeTag(); - case SNR_TAG: - return new SNRTag(); + case UPLOAD_INTERVAL_TAG: + return new UploadIntervalTag(); + + case START_TIME_TAG: + return new StartTimeTag(); + + case COLLECT_INTERVAL_TAG: + return new CollectIntervalTag(); + + case COLLECT_COUNT_TAG: + return new CollectCountTag(); + + case LOWER_LIMIT_TAG: + return new LowerLimitTag(); + + case UPPER_LIMIMT_TAG: + return new UpperLimitTag(); + + case CELL_TAG: + return new CellTag(); + + case SOFTWARE_VERSION_TAG: + return new SoftwareVersionTag(); + + case PCI_TAG: + return new PCITag(); case RSRP_TAG: return new RSRPTag(); + case SNR_TAG: + return new SNRTag(); + default: return null; } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java index b0e0360..1448b5e 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CellTag.java @@ -13,6 +13,11 @@ int cellVal; @Override + public String toString() { + return super.toString() + "[value: " + cellVal + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); cellVal = Integer.parseInt(valueStr, 16); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java new file mode 100644 index 0000000..11fc951 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectCountTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectCountTag extends BirmmBaseTag { + + final String COLLECT_COUNT_TAG_OID = "10000106"; + + // TYPE_U16整型,数据上报的采集次数,范围: 1 – 1440 + int count; + + @Override + public String toString() { + return super.toString() + "[value: " + count + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + count = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java new file mode 100644 index 0000000..dba7778 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/CollectIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class CollectIntervalTag extends BirmmBaseTag { + + final String COLLECT_INTERVAL_TAG_OID = "10000105"; + + // TYPE_U16整型,数据采集间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java index e8c5db4..1e5d1c6 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTag.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @EqualsAndHashCode(callSuper = true) @Data @@ -16,15 +17,17 @@ LocalDate date; @Override + public String toString() { + return super.toString() + "[value: " + date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); String hexY = valueStr.substring(0, 2); String hexM = valueStr.substring(2, 4); String hexD = valueStr.substring(4, 6); - date = LocalDate.now(); - date = date.withYear(BytesUtil.hexStringToUInt(hexY) + 2000); - date = date.withMonth(BytesUtil.hexStringToUInt(hexM)); - date = date.withDayOfMonth(BytesUtil.hexStringToUInt(hexD)); + date = LocalDate.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD)); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java new file mode 100644 index 0000000..8cf6d81 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DateTimeTag.java @@ -0,0 +1,38 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DateTimeTag extends BirmmBaseTag { + + final String DATETIME_TAG_OID = "10000051"; + + LocalDateTime dateTime; + + @Override + public String toString() { + return super.toString() + "[value: " + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + String hexY = valueStr.substring(0, 2); + String hexM = valueStr.substring(2, 4); + String hexD = valueStr.substring(4, 6); + + String hexH = valueStr.substring(6, 8); + String hexMin = valueStr.substring(8, 10); + String hexS = valueStr.substring(10, 12); + + dateTime = LocalDateTime.of(BytesUtil.hexStringToUInt(hexY) + 2000, BytesUtil.hexStringToUInt(hexM), BytesUtil.hexStringToUInt(hexD), + BytesUtil.hexStringToUInt(hexH), BytesUtil.hexStringToUInt(hexMin), BytesUtil.hexStringToUInt(hexS)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java new file mode 100644 index 0000000..4e8297a --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestIPTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestIPTag extends BirmmBaseTag { + + final String DESTINATION_IP_TAG_OID = "10000022"; + + String ip; + + @Override + public String toString() { + return super.toString() + "[value: " + ip + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + ip = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java new file mode 100644 index 0000000..90e001e --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/DestPortTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class DestPortTag extends BirmmBaseTag { + + final String DESTINATION_PORT_TAG_OID = "10000023"; + + String port; + + @Override + public String toString() { + return super.toString() + "[value: " + port + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + port = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java new file mode 100644 index 0000000..0c707b0 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/LowerLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class LowerLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000900"; + + // 单精度浮点数 + float lowerLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + lowerLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + lowerLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java index 4433cea..7fc806a 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/PCITag.java @@ -15,6 +15,11 @@ int pci; @Override + public String toString() { + return super.toString() + "[value: " + pci + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); pci = BytesUtil.hexStringToUInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java index d1bb0a8..7513c21 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RSRPTag.java @@ -15,6 +15,11 @@ int rsrp; @Override + public String toString() { + return super.toString() + "[value: " + rsrp + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); rsrp = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java new file mode 100644 index 0000000..67631b6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/RetryTimesTag.java @@ -0,0 +1,29 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.format.DateTimeFormatter; + +@EqualsAndHashCode(callSuper = true) +@Data +public class RetryTimesTag extends BirmmBaseTag { + + final String RETRY_TIMES_TAG_OID = "1000000A"; + + // TYPE_U8整型,重传次数 1-10 + int times; + + @Override + public String toString() { + return super.toString() + "[value: " + times + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + times = Integer.parseInt(valueStr, 16); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java index 3040799..c3ce539 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SNRTag.java @@ -15,6 +15,11 @@ int snr; @Override + public String toString() { + return super.toString() + "[value: " + snr + "]"; + } + + @Override public void setValueStr(String valueStr) { super.setValueStr(valueStr); snr = BytesUtil.hexStringToSInt(valueStr); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java new file mode 100644 index 0000000..f930e42 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/SoftwareVersionTag.java @@ -0,0 +1,26 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class SoftwareVersionTag extends BirmmBaseTag { + + final String SOFTWARE_VERSION_TAG_OID = "60000500"; + + String version; + + @Override + public String toString() { + return super.toString() + "[value: " + version + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + version = new String(BytesUtil.hexStringToBytes(valueStr)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java new file mode 100644 index 0000000..c899694 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/StartTimeTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class StartTimeTag extends BirmmBaseTag { + + final String START_TIME_TAG_OID = "10000104"; + + // TYPE_U16整型,数据采集开始分钟,范围: 0 – 1440 + int startMinute; + + @Override + public String toString() { + return super.toString() + "[value: " + startMinute + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + startMinute = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java new file mode 100644 index 0000000..c7555a6 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UploadIntervalTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UploadIntervalTag extends BirmmBaseTag { + + final String UPLOAD_INTERVAL_TAG_OID = "10000062"; + + // TYPE_U16整型,数据上报间隔,范围: 3 – 1440 + int interval; + + @Override + public String toString() { + return super.toString() + "[value: " + interval + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + interval = BytesUtil.hexStringToUInt(valueStr); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java new file mode 100644 index 0000000..4e96926 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/commanTag/UpperLimitTag.java @@ -0,0 +1,27 @@ +package com.casic.missiles.frame.commanTag; + +import com.casic.missiles.frame.BirmmBaseTag; +import com.casic.missiles.util.BytesUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class UpperLimitTag extends BirmmBaseTag { + + final String UPPER_LIMIT_TAG_OID = "10000901"; + + // 单精度浮点数 + float upperLimit; + + @Override + public String toString() { + return super.toString() + "[value: " + upperLimit + "]"; + } + + @Override + public void setValueStr(String valueStr) { + super.setValueStr(valueStr); + upperLimit = Float.intBitsToFloat(Integer.parseInt(BytesUtil.reverseHexString(valueStr), 16)); + } +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java new file mode 100644 index 0000000..f540980 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneOnlineRequestFrame.java @@ -0,0 +1,6 @@ +package com.casic.missiles.frame.methane; + +import com.casic.missiles.frame.BirmmBaseFrame; + +public class MethaneOnlineRequestFrame extends BirmmBaseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java new file mode 100644 index 0000000..47fd65b --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneSetResponseFrame.java @@ -0,0 +1,4 @@ +package com.casic.missiles.frame.methane; + +public class MethaneSetResponseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java new file mode 100644 index 0000000..1f4d831 --- /dev/null +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java @@ -0,0 +1,6 @@ +package com.casic.missiles.frame.methane; + +import com.casic.missiles.frame.BirmmBaseFrame; + +public class MethaneTrapRequestFrame extends BirmmBaseFrame { +} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java b/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java index a593eb8..e079239 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/netty/codec/SensorhubEncoder.java @@ -4,7 +4,6 @@ package com.casic.missiles.netty.codec; import com.casic.missiles.pojo.Msg; -import com.casic.missiles.enums.FrameAttributeEnums; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; import io.netty.buffer.ByteBufUtil; diff --git a/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java b/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java index 11c542d..d3e7391 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/parser/impl/BirmmProtocolParserImpl.java @@ -113,8 +113,11 @@ BirmmBaseTag tagBase = BirmmTagBuilderFactory.createTagByOid(oid); if (null != tagBase) { String valStr = BytesUtil.extractHexString(tagBytes, idx, tagLen); + tagBase.setOid(oid); tagBase.setValueStr(valStr); + log.debug("解析Tag:{}", tagBase); + tagList.add(tagBase); } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java b/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java index 118a8de..fda0518 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java @@ -57,7 +57,9 @@ // 获得业务字段tagList List tagList = protocol.getTagList(plainBytes); - System.out.println(tagList.size()); + + // 创建Frame + BirmmBaseFrame birmmFrame = BirmmFrameBuilderFactory.createBirmmFrame(pduType); } return null; diff --git a/sensorhub-support/src/main/java/com/casic/missiles/enums/BirmmTagAttributeEnums.java b/sensorhub-support/src/main/java/com/casic/missiles/enums/BirmmTagAttributeEnums.java index 1df2e90..911cbe0 100644 --- a/sensorhub-support/src/main/java/com/casic/missiles/enums/BirmmTagAttributeEnums.java +++ b/sensorhub-support/src/main/java/com/casic/missiles/enums/BirmmTagAttributeEnums.java @@ -9,12 +9,25 @@ */ @Getter public enum BirmmTagAttributeEnums { - CELL_TAG("60000020", 1), + RETRY_TIMES_TAG("1000000A", 1), + DESTINATION_IP_TAG("10000022", -1), + DESTINATION_PORT_TAG("10000023", -1), DATE_TAG("10000050", 3), - PIC_TAG("60000511", 2), + DATETIME_TAG("10000051", 6), + UPLOAD_INTERVAL_TAG("10000062", 2), + START_TIME_TAG("10000104", 2), + COLLECT_INTERVAL_TAG("10000105", 2), + COLLECT_COUNT_TAG("10000106", 2), + LOWER_LIMIT_TAG("10000900", 4), + UPPER_LIMIMT_TAG("10000901", 4), + + CELL_TAG("60000020", 1), + SOFTWARE_VERSION_TAG("60000500", -1), + PCI_TAG("60000511", 2), RSRP_TAG("60000513", 2), SNR_TAG("60000516", 2); + /** * 名称 */ diff --git a/sensorhub-support/src/main/java/com/casic/missiles/util/BytesUtil.java b/sensorhub-support/src/main/java/com/casic/missiles/util/BytesUtil.java index c09b998..588b15b 100644 --- a/sensorhub-support/src/main/java/com/casic/missiles/util/BytesUtil.java +++ b/sensorhub-support/src/main/java/com/casic/missiles/util/BytesUtil.java @@ -34,4 +34,32 @@ public static int hexStringToSInt(String str) { return hexStringToSInt(HexUtils.fromHexString(str)); } + + public static byte[] hexStringToBytes(String str) { + if (str.length() % 2 == 1) { + str = "0" + str; + } + + byte[] bytes = new byte[str.length() / 2]; + for (int i = 0; i < bytes.length; i++) { + String s = str.substring(i * 2, i * 2 + 2); + bytes[i] = (byte) Integer.parseInt(s, 16); + } + + return bytes; + } + + public static String reverseHexString(String str) { + StringBuilder reverse = new StringBuilder(); + + if (str.length() % 2 == 1) { + str = "0" + str; + } + int len = str.length(); + for (int i = 0; i < str.length() / 2; i++) { + reverse.append(str, len - 2 * (i+1), len - 2 * i); + } + + return reverse.toString(); + } }