Procházet zdrojové kódy

2023-11-10 处理信标转换后,补0问题。

chaiyunlong před 2 roky
rodič
revize
9fca46ad0e

+ 16 - 2
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/socket/service/impl/BeaconMateImpl.java

@@ -131,11 +131,25 @@ public class BeaconMateImpl implements BeaconMate {
         StringBuilder appStr = new StringBuilder();
         beaconStr = beaconStr.substring(beaconStr.length()-12);
         appStr.append("00"+beaconStr.substring(0,2));
-        appStr.append(Integer.parseInt(beaconStr.substring(2,6),16));
-        appStr.append(Integer.parseInt(beaconStr.substring(6,10),16));
+        appStr.append(zeroFill(Integer.parseInt(beaconStr.substring(2,6),16)+""));
+        appStr.append(zeroFill(Integer.parseInt(beaconStr.substring(6,10),16)+""));
         return appStr.toString();
     }
 
+    //处理信标补0机制
+    private String zeroFill(String numStr){
+        StringBuilder builderStr = new StringBuilder();
+        if(numStr.length()<5){
+            for(int i=0;i<5-numStr.length();i++){
+                builderStr.append("0");
+            }
+            builderStr.append(numStr);
+        }else{
+            builderStr.append(numStr);
+        }
+        return builderStr.toString();
+    }
+
     //蓝牙网关修改在线
     public void setOpenBluetoothGateway(String mac){
         Map <String,Object> map = new HashMap<>();