|
@@ -7,6 +7,7 @@ import com.yunfeiyun.agmp.common.utils.DateUtils;
|
|
|
import com.yunfeiyun.agmp.common.utils.JSONUtils;
|
|
import com.yunfeiyun.agmp.common.utils.JSONUtils;
|
|
|
import com.yunfeiyun.agmp.common.utils.StringUtils;
|
|
import com.yunfeiyun.agmp.common.utils.StringUtils;
|
|
|
import com.yunfeiyun.agmp.common.utils.reflect.ReflectUtils;
|
|
import com.yunfeiyun.agmp.common.utils.reflect.ReflectUtils;
|
|
|
|
|
+import com.yunfeiyun.agmp.common.utils.spring.SpringUtils;
|
|
|
import com.yunfeiyun.agmp.iot.common.constant.cmd.CmdDef;
|
|
import com.yunfeiyun.agmp.iot.common.constant.cmd.CmdDef;
|
|
|
import com.yunfeiyun.agmp.iot.common.constant.devicetype.ServiceNameConst;
|
|
import com.yunfeiyun.agmp.iot.common.constant.devicetype.ServiceNameConst;
|
|
|
import com.yunfeiyun.agmp.iot.common.constant.mqtt.IotMqttConstant;
|
|
import com.yunfeiyun.agmp.iot.common.constant.mqtt.IotMqttConstant;
|
|
@@ -30,6 +31,7 @@ import com.yunfeiyun.agmp.iots.service.IIotDeviceconfigService;
|
|
|
import com.yunfeiyun.agmp.iots.service.IIotDevicelasteddataService;
|
|
import com.yunfeiyun.agmp.iots.service.IIotDevicelasteddataService;
|
|
|
import com.yunfeiyun.agmp.iots.service.impl.IotCbdImgService;
|
|
import com.yunfeiyun.agmp.iots.service.impl.IotCbdImgService;
|
|
|
import com.yunfeiyun.agmp.iots.service.impl.IotDeviceAddressService;
|
|
import com.yunfeiyun.agmp.iots.service.impl.IotDeviceAddressService;
|
|
|
|
|
+import com.yunfeiyun.agmp.iots.warn.service.WarnService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.http.util.TextUtils;
|
|
import org.apache.http.util.TextUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -39,7 +41,7 @@ import java.util.*;
|
|
|
|
|
|
|
|
@Component(ServiceNameConst.SERVICE_YF_XCT)
|
|
@Component(ServiceNameConst.SERVICE_YF_XCT)
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
-public class IYfXctDeviceImpl extends DeviceAbstractImpl implements IYfXctDevice {
|
|
|
|
|
|
|
+public class IYfXctDeviceImpl extends DeviceAbstractImpl implements IYfXctDevice {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private MqttManager mqttManager;
|
|
private MqttManager mqttManager;
|
|
|
|
|
|
|
@@ -239,6 +241,8 @@ public class IYfXctDeviceImpl extends DeviceAbstractImpl implements IYfXctDevic
|
|
|
newIotDevice.setDevStatus(IotDeviceStatusTypeEnum.OFFLINE.getCode());
|
|
newIotDevice.setDevStatus(IotDeviceStatusTypeEnum.OFFLINE.getCode());
|
|
|
newIotDevice.setDevOfflinedate(DateUtils.dateTimeNow());
|
|
newIotDevice.setDevOfflinedate(DateUtils.dateTimeNow());
|
|
|
iIotDeviceService.updateIotDevice(newIotDevice);
|
|
iIotDeviceService.updateIotDevice(newIotDevice);
|
|
|
|
|
+ //发送离线预警
|
|
|
|
|
+ SpringUtils.getBean(WarnService.class).processWarningOfflineData(newIotDevice, ext);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -256,12 +260,12 @@ public class IYfXctDeviceImpl extends DeviceAbstractImpl implements IYfXctDevic
|
|
|
if (StringUtils.isEmpty(devUpdateddate)) {
|
|
if (StringUtils.isEmpty(devUpdateddate)) {
|
|
|
devUpdateddate = DateUtils.dateTimeNow();
|
|
devUpdateddate = DateUtils.dateTimeNow();
|
|
|
}
|
|
}
|
|
|
- if(topic.startsWith(IotMqttConstant.YFXctTopic.TOPIC_XCT_PEST_IMG)){
|
|
|
|
|
|
|
+ if (topic.startsWith(IotMqttConstant.YFXctTopic.TOPIC_XCT_PEST_IMG)) {
|
|
|
Object result = this.receivePicData(dataJson, devUpdateddate, topic, connectionId);
|
|
Object result = this.receivePicData(dataJson, devUpdateddate, topic, connectionId);
|
|
|
log.info("【吸虫塔】图片数据处理完成");
|
|
log.info("【吸虫塔】图片数据处理完成");
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
|
- if(topic.startsWith(IotMqttConstant.YFCbdTopic.TOPIC_CBD_REPORT_PREFIX)){
|
|
|
|
|
|
|
+ if (topic.startsWith(IotMqttConstant.YFCbdTopic.TOPIC_CBD_REPORT_PREFIX)) {
|
|
|
String cmd = dataJson.getString("cmd");
|
|
String cmd = dataJson.getString("cmd");
|
|
|
JSONObject ext = dataJson.getJSONObject("ext");
|
|
JSONObject ext = dataJson.getJSONObject("ext");
|
|
|
if (TextUtils.isEmpty(cmd)) {
|
|
if (TextUtils.isEmpty(cmd)) {
|
|
@@ -289,7 +293,7 @@ public class IYfXctDeviceImpl extends DeviceAbstractImpl implements IYfXctDevic
|
|
|
* @param connectionId
|
|
* @param connectionId
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
public Object receivePicData(JSONObject jsonObject, String devUpdateddate, String topic, String connectionId) {
|
|
public Object receivePicData(JSONObject jsonObject, String devUpdateddate, String topic, String connectionId) {
|
|
|
IotDevice oldIotDevice = findIotDevice(topic, jsonObject, connectionId);
|
|
IotDevice oldIotDevice = findIotDevice(topic, jsonObject, connectionId);
|
|
|
if (oldIotDevice == null) {
|
|
if (oldIotDevice == null) {
|
|
@@ -334,8 +338,8 @@ public class IYfXctDeviceImpl extends DeviceAbstractImpl implements IYfXctDevic
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
@Override
|
|
@Override
|
|
|
- public IotDevice findIotDevice(String topic, JSONObject jobjMsg,String connectionId) {
|
|
|
|
|
- String devId = mqttManager.getDevIdByTopic(connectionId,topic);
|
|
|
|
|
|
|
+ public IotDevice findIotDevice(String topic, JSONObject jobjMsg, String connectionId) {
|
|
|
|
|
+ String devId = mqttManager.getDevIdByTopic(connectionId, topic);
|
|
|
return iIotDeviceService.selectIotDeviceByDevBid(devId);
|
|
return iIotDeviceService.selectIotDeviceByDevBid(devId);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|