正在显示
1 个修改的文件
包含
9 行增加
和
37 行删除
| 1 | package com.zhonglai.luhui.device.protocol.wendubao.analysis; | 1 | package com.zhonglai.luhui.device.protocol.wendubao.analysis; |
| 2 | 2 | ||
| 3 | +import com.google.gson.JsonElement; | ||
| 3 | import com.google.gson.JsonObject; | 4 | import com.google.gson.JsonObject; |
| 4 | import com.ruoyi.common.utils.GsonConstructor; | 5 | import com.ruoyi.common.utils.GsonConstructor; |
| 6 | +import com.ruoyi.common.utils.spring.SpringUtils; | ||
| 5 | import com.zhonglai.luhui.device.analysis.comm.dao.BaseDao; | 7 | import com.zhonglai.luhui.device.analysis.comm.dao.BaseDao; |
| 6 | import com.zhonglai.luhui.device.analysis.comm.dto.DeviceSensorData; | 8 | import com.zhonglai.luhui.device.analysis.comm.dto.DeviceSensorData; |
| 7 | import com.zhonglai.luhui.device.analysis.comm.dto.LogDeviceOperation; | 9 | import com.zhonglai.luhui.device.analysis.comm.dto.LogDeviceOperation; |
| 10 | +import com.zhonglai.luhui.device.analysis.comm.dto.thingsmodels.ThingsModelDataTypeEnum; | ||
| 8 | import com.zhonglai.luhui.device.analysis.comm.dto.thingsmodels.ThingsModelItemBase; | 11 | import com.zhonglai.luhui.device.analysis.comm.dto.thingsmodels.ThingsModelItemBase; |
| 12 | +import com.zhonglai.luhui.device.domain.IotThingsModel; | ||
| 9 | import com.zhonglai.luhui.device.protocol.factory.config.DeviceCach; | 13 | import com.zhonglai.luhui.device.protocol.factory.config.DeviceCach; |
| 10 | import com.zhonglai.luhui.device.protocol.factory.dto.DeviceHost; | 14 | import com.zhonglai.luhui.device.protocol.factory.dto.DeviceHost; |
| 11 | import com.zhonglai.luhui.device.protocol.factory.dto.ParserDeviceHostDto; | 15 | import com.zhonglai.luhui.device.protocol.factory.dto.ParserDeviceHostDto; |
| 12 | import com.zhonglai.luhui.device.protocol.factory.dto.ParserDeviceInfoDto; | 16 | import com.zhonglai.luhui.device.protocol.factory.dto.ParserDeviceInfoDto; |
| 17 | +import com.zhonglai.luhui.device.protocol.factory.service.IotThingsModelService; | ||
| 13 | import com.zhonglai.luhui.device.protocol.factory.sync.ProtocolSyncFactory; | 18 | import com.zhonglai.luhui.device.protocol.factory.sync.ProtocolSyncFactory; |
| 14 | import com.zhonglai.luhui.device.protocol.wendubao.db.WdbDBFactoryImp; | 19 | import com.zhonglai.luhui.device.protocol.wendubao.db.WdbDBFactoryImp; |
| 15 | import com.zhonglai.luhui.device.protocol.wendubao.dto.WdbTerminal; | 20 | import com.zhonglai.luhui.device.protocol.wendubao.dto.WdbTerminal; |
| 21 | +import org.apache.commons.lang3.EnumUtils; | ||
| 16 | import org.springframework.stereotype.Service; | 22 | import org.springframework.stereotype.Service; |
| 17 | 23 | ||
| 18 | import java.math.BigDecimal; | 24 | import java.math.BigDecimal; |
| @@ -80,7 +86,7 @@ public class WenDuBaoProtocolSyncFactoryImpl implements ProtocolSyncFactory { | @@ -80,7 +86,7 @@ public class WenDuBaoProtocolSyncFactoryImpl implements ProtocolSyncFactory { | ||
| 80 | if(null == wdbTerminal) | 86 | if(null == wdbTerminal) |
| 81 | { | 87 | { |
| 82 | wdbTerminal = new WdbTerminal(); | 88 | wdbTerminal = new WdbTerminal(); |
| 83 | - wdbTerminal.setId(deviceInfoId); | 89 | + wdbTerminal.setId(deviceInfoId+"_1_1"); |
| 84 | wdbTerminal.setCreateTime(parserDeviceInfoDto.getUpdateTime()); | 90 | wdbTerminal.setCreateTime(parserDeviceInfoDto.getUpdateTime()); |
| 85 | wdbTerminal.setBaseStationId(deviceInfoId); | 91 | wdbTerminal.setBaseStationId(deviceInfoId); |
| 86 | wdbTerminal.setBaseStationName(deviceInfoId); | 92 | wdbTerminal.setBaseStationName(deviceInfoId); |
| @@ -91,42 +97,8 @@ public class WenDuBaoProtocolSyncFactoryImpl implements ProtocolSyncFactory { | @@ -91,42 +97,8 @@ public class WenDuBaoProtocolSyncFactoryImpl implements ProtocolSyncFactory { | ||
| 91 | JsonObject devcieData = parserDeviceInfoDto.getData(); | 97 | JsonObject devcieData = parserDeviceInfoDto.getData(); |
| 92 | for (String key:devcieData.keySet()) | 98 | for (String key:devcieData.keySet()) |
| 93 | { | 99 | { |
| 94 | - switch (key) | ||
| 95 | - { | ||
| 96 | - case "4": //气温float型 | ||
| 97 | - break; | ||
| 98 | - case "21": //光照 int型 | ||
| 99 | - break; | ||
| 100 | - case "55": //水面 float型 | ||
| 101 | - if(null != wdbTerminal && null != wdbTerminal.getWaterSurfaceErrorConfig()) | ||
| 102 | - { | ||
| 103 | - jsonObject.addProperty("55",new BigDecimal(devcieData.get(key).getAsJsonObject().get("saveView").getAsFloat()).add(new BigDecimal(wdbTerminal.getWaterSurfaceErrorConfig())).floatValue()); | ||
| 104 | - } | ||
| 105 | - break; | ||
| 106 | - case "23": //水中 float型 | ||
| 107 | - if(null != wdbTerminal && null != wdbTerminal.getWaterSurfaceErrorConfig()) | ||
| 108 | - { | ||
| 109 | - jsonObject.addProperty("23",new BigDecimal(devcieData.get(key).getAsJsonObject().get("saveView").getAsFloat()).add(new BigDecimal(wdbTerminal.getWaterErrorConfig())).floatValue()); | ||
| 110 | - } | ||
| 111 | - break; | ||
| 112 | - case "24": //水底 float型 | ||
| 113 | - if(null != wdbTerminal && null != wdbTerminal.getWaterSurfaceErrorConfig()) | ||
| 114 | - { | ||
| 115 | - jsonObject.addProperty("24",new BigDecimal(devcieData.get(key).getAsJsonObject().get("saveView").getAsFloat()).add(new BigDecimal(wdbTerminal.getBedErrorConfig())).floatValue()); | ||
| 116 | - } | ||
| 117 | - break; | ||
| 118 | - case "25": //电池电量百分比0-100 int型 | ||
| 119 | - jsonObject.add("25",devcieData.get(key).getAsJsonObject().get("saveView")); | ||
| 120 | - break; | ||
| 121 | - case "26": //信噪比 int型 | ||
| 122 | - jsonObject.add("26",devcieData.get(key).getAsJsonObject().get("saveView")); | ||
| 123 | - break; | ||
| 124 | - case "28": //信号接收灵敏度 int型 | ||
| 125 | - jsonObject.add("28",devcieData.get(key).getAsJsonObject().get("saveView")); | ||
| 126 | - break; | ||
| 127 | - default: | ||
| 128 | - jsonObject.add(key,devcieData.get(key).getAsJsonObject().get("saveView")); | ||
| 129 | - } | 100 | + ThingsModelItemBase thingsModelItemBase = ThingsModelItemBase.newhingsModelItem(devcieData.get(key).getAsJsonObject()); |
| 101 | + jsonObject.add(key,GsonConstructor.get().toJsonTree(thingsModelItemBase.getSaveView())); | ||
| 130 | } | 102 | } |
| 131 | wdbTerminal.setDataUpdateTime(parserDeviceInfoDto.getUpdateTime()); | 103 | wdbTerminal.setDataUpdateTime(parserDeviceInfoDto.getUpdateTime()); |
| 132 | wdbTerminal.setOnline("01"); | 104 | wdbTerminal.setOnline("01"); |
-
请 注册 或 登录 后发表评论