|
@@ -15,6 +15,7 @@ import com.huimv.env.common.service.ISprayStatusService;
|
|
|
import com.huimv.env.common.utils.Const;
|
|
|
import com.huimv.env.common.utils.DateUtil;
|
|
|
import com.huimv.env.common.utils.MathUtil;
|
|
|
+import com.huimv.env.common.utils.MathUtil2;
|
|
|
import com.huimv.env.device.config.WeChatMessageHelperTest;
|
|
|
import com.huimv.env.device.config.WebSocket;
|
|
|
import com.huimv.env.device.producer.Producer;
|
|
@@ -52,7 +53,7 @@ public class DeviceListener {
|
|
|
@Autowired
|
|
|
private IDeviceService deviceService;
|
|
|
@Autowired
|
|
|
- private MathUtil mathUtil;
|
|
|
+ private MathUtil2 mathUtil;
|
|
|
@Autowired
|
|
|
private ICommandParserService cmdParserService;
|
|
|
@Autowired
|
|
@@ -63,6 +64,92 @@ public class DeviceListener {
|
|
|
@Autowired
|
|
|
private WebSocket webSocket;
|
|
|
|
|
|
+ @RabbitListener(queues = Const.QUEUE_ELECTRICITY_METER)
|
|
|
+ @RabbitHandler
|
|
|
+ public void processElectricityMeter(Map RawMap) {
|
|
|
+ System.out.println(">>>>>>>>>>>>>>接收电表数据 RawMap>>" + RawMap.toString());
|
|
|
+ String askText = RawMap.get("askText").toString();
|
|
|
+ JSONObject dataJo = deviceService.handleAskText(askText);
|
|
|
+ dataJo.put("dataUnit", "");
|
|
|
+ System.out.println("电表数据=" + dataJo);
|
|
|
+ java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
|
|
|
+ Timestamp nowTimestamp = new Timestamp(new java.util.Date().getTime());
|
|
|
+ String deviceCode = dataJo.getString("deviceCode");
|
|
|
+ //根据设备编码获取设备注册信息
|
|
|
+ EnvDeviceRegisterEntity envDeviceRegisterEntity = deviceRegisterService.getDeviceRegisterByDeviceCode(deviceCode);
|
|
|
+ if (envDeviceRegisterEntity == null) {
|
|
|
+ log.error("该设备[" + dataJo.getString("deviceCode") + "]未注册.");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String farmCode = envDeviceRegisterEntity.getFarmCode();
|
|
|
+ String electricityMeter = new BigDecimal(mathUtil.countMeter(dataJo.getIntValue("value"))).setScale(1, RoundingMode.UP)+dataJo.getString("dataUnit");;
|
|
|
+ int sensorSort = 1;
|
|
|
+ //更新传感器数据
|
|
|
+// deviceService.updateSensorRegister(deviceCode, dataJo.getInteger("sensorSn"), nowTimestamp, todayDate, temp, farmCode,sensorSort);
|
|
|
+ deviceService.sendSensorToMQ(deviceCode, dataJo.getInteger("sensorSn"), nowTimestamp, todayDate, electricityMeter, farmCode,sensorSort);
|
|
|
+
|
|
|
+ //保存电表流水数据
|
|
|
+ deviceService.saveElectricityMeter(dataJo, envDeviceRegisterEntity, nowTimestamp, todayDate, farmCode);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @RabbitListener(queues = Const.QUEUE_WATER_METER)
|
|
|
+ @RabbitHandler
|
|
|
+ public void processWaterMeterGege(Map RawMap) {
|
|
|
+ System.out.println(">>>>>>>>>>>>>>接收水表数据 RawMap>>" + RawMap.toString());
|
|
|
+ String askText = RawMap.get("askText").toString();
|
|
|
+ JSONObject dataJo = deviceService.handleAskText(askText);
|
|
|
+ dataJo.put("dataUnit", "");
|
|
|
+ System.out.println("水表数据=" + dataJo);
|
|
|
+ java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
|
|
|
+ Timestamp nowTimestamp = new Timestamp(new java.util.Date().getTime());
|
|
|
+ String deviceCode = dataJo.getString("deviceCode");
|
|
|
+ //根据设备编码获取设备注册信息
|
|
|
+ EnvDeviceRegisterEntity envDeviceRegisterEntity = deviceRegisterService.getDeviceRegisterByDeviceCode(deviceCode);
|
|
|
+ if (envDeviceRegisterEntity == null) {
|
|
|
+ log.error("该设备[" + dataJo.getString("deviceCode") + "]未注册.");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String farmCode = envDeviceRegisterEntity.getFarmCode();
|
|
|
+ String waterMeter = new BigDecimal(mathUtil.countMeter(dataJo.getIntValue("value"))).setScale(1, RoundingMode.UP)+dataJo.getString("dataUnit");;
|
|
|
+ int sensorSort = 1;
|
|
|
+ //更新传感器数据
|
|
|
+// deviceService.updateSensorRegister(deviceCode, dataJo.getInteger("sensorSn"), nowTimestamp, todayDate, temp, farmCode,sensorSort);
|
|
|
+ deviceService.sendSensorToMQ(deviceCode, dataJo.getInteger("sensorSn"), nowTimestamp, todayDate, waterMeter, farmCode,sensorSort);
|
|
|
+
|
|
|
+ //保存水表流水数据
|
|
|
+ deviceService.saveWaterMeter(dataJo, envDeviceRegisterEntity, nowTimestamp, todayDate, farmCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ @RabbitListener(queues = Const.QUEUE_PH)
|
|
|
+ @RabbitHandler
|
|
|
+ public void processPhGege(Map RawMap) {
|
|
|
+ System.out.println(">>>>>>>>>>>>>>接收PH数据 RawMap>>" + RawMap.toString());
|
|
|
+ String askText = RawMap.get("askText").toString();
|
|
|
+ JSONObject dataJo = deviceService.handleAskText(askText);
|
|
|
+ dataJo.put("dataUnit", "");
|
|
|
+ System.out.println("PH数据=" + dataJo);
|
|
|
+ java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
|
|
|
+ Timestamp nowTimestamp = new Timestamp(new java.util.Date().getTime());
|
|
|
+ String deviceCode = dataJo.getString("deviceCode");
|
|
|
+ //根据设备编码获取设备注册信息
|
|
|
+ EnvDeviceRegisterEntity envDeviceRegisterEntity = deviceRegisterService.getDeviceRegisterByDeviceCode(deviceCode);
|
|
|
+ if (envDeviceRegisterEntity == null) {
|
|
|
+ log.error("该设备[" + dataJo.getString("deviceCode") + "]未注册.");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String farmCode = envDeviceRegisterEntity.getFarmCode();
|
|
|
+ String PH = new BigDecimal(mathUtil.countMeter(dataJo.getIntValue("value"))).setScale(1, RoundingMode.UP)+dataJo.getString("dataUnit");
|
|
|
+
|
|
|
+ int sensorSort = 1;
|
|
|
+ //更新传感器数据
|
|
|
+// deviceService.updateSensorRegister(deviceCode, dataJo.getInteger("sensorSn"), nowTimestamp, todayDate, temp, farmCode,sensorSort);
|
|
|
+ deviceService.sendSensorToMQ(deviceCode, dataJo.getInteger("sensorSn"), nowTimestamp, todayDate, PH, farmCode,sensorSort);
|
|
|
+
|
|
|
+ //保存PH流水数据
|
|
|
+ deviceService.savePH(dataJo, envDeviceRegisterEntity, nowTimestamp, todayDate, farmCode);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
@RabbitListener(queues = Const.QUEUE_WATER_GEGE)
|
|
|
@RabbitHandler
|
|
@@ -88,7 +175,7 @@ public class DeviceListener {
|
|
|
// deviceService.updateSensorRegister(deviceCode, dataJo.getInteger("sensorSn"), nowTimestamp, todayDate, temp, farmCode,sensorSort);
|
|
|
deviceService.sendSensorToMQ(deviceCode, dataJo.getInteger("sensorSn"), nowTimestamp, todayDate, watreGege, farmCode,sensorSort);
|
|
|
|
|
|
- //保存温度流水数据
|
|
|
+ //保存水压流水数据
|
|
|
deviceService.saveWaterGege(dataJo, envDeviceRegisterEntity, nowTimestamp, todayDate, farmCode);
|
|
|
}
|
|
|
|