|
|
@@ -15,6 +15,7 @@ import com.yunfeiyun.agmp.iot.common.model.cmd.CmdModel;
|
|
|
import com.yunfeiyun.agmp.iot.common.service.MongoService;
|
|
|
import com.yunfeiyun.agmp.iot.common.service.IotAddressService;
|
|
|
import com.yunfeiyun.agmp.iot.common.constant.devicetype.ServiceNameConst;
|
|
|
+import com.yunfeiyun.agmp.iots.config.TestConst;
|
|
|
import com.yunfeiyun.agmp.iots.device.domain.cbd.YfCbdMsgUtil;
|
|
|
import com.yunfeiyun.agmp.iots.device.domain.cbd.YfCbdTakephotoMsg;
|
|
|
import com.yunfeiyun.agmp.iots.device.service.*;
|
|
|
@@ -76,18 +77,19 @@ public class CqCbdDeviceImpl implements ICbdDevice {
|
|
|
@Autowired
|
|
|
private IotDeviceAddressService iotDeviceAddressService;
|
|
|
|
|
|
+ String connectionId = TestConst.connectionId;
|
|
|
@Override
|
|
|
public Object sendCmd(CmdModel cmdModel) throws Exception {
|
|
|
- log.info("【CBD】收到指令 任务 cmdModel={}", cmdModel);
|
|
|
+ log.info("【测报灯】发送指令 任务 cmdModel={}", cmdModel);
|
|
|
|
|
|
// 获取执行的指令
|
|
|
CmdModel.Cmd cmdDistribution = cmdModel.getCmdDistribution();
|
|
|
// 获取执行的方法 ,方法可以通过反射获取执行,也可以临时case 匹配
|
|
|
String methodName = cmdModel.getCmdDistribution().getFunc();
|
|
|
|
|
|
+
|
|
|
String mqttMsgContent = "";
|
|
|
String clogSendresult = "发送指令成功";
|
|
|
- ;
|
|
|
|
|
|
switch (methodName) {
|
|
|
case CmdDef.YfCbdCmdDef.CMD_REQ_DATA:
|
|
|
@@ -125,11 +127,11 @@ public class CqCbdDeviceImpl implements ICbdDevice {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ String topic = IotMqttConstant.YFCbdTopic.TOPIC_CBD_CMD_PREFIX + cmdModel.getIotDevice().getDevCode();
|
|
|
+ log.info("!!!!!!!!!!【看这里:临时测试】这里的connectionId写死了,对接业务时候换掉,取出来真实的");
|
|
|
+ mqttManager.publishMsg(connectionId, topic, mqttMsgContent);
|
|
|
|
|
|
- MqttPublisher mqttPublisher = mqttManager.getPublisherByService(SERVICE_NAME);
|
|
|
- mqttPublisher.publish(IotMqttConstant.YFCbdTopic.TOPIC_CBD_CMD_PREFIX + cmdModel.getIotDevice().getDevCode(), mqttMsgContent);
|
|
|
-
|
|
|
- log.info("【CBD】发送指令完毕!");
|
|
|
+ log.info("【CBD】发送指令完毕!connectionId:{},topic :{} mqttMsgContent: {}",connectionId,topic, mqttMsgContent);
|
|
|
|
|
|
cmdModel.setClogSendresult(clogSendresult);
|
|
|
cmdModel.setClogDesc(mqttMsgContent);
|
|
|
@@ -206,9 +208,9 @@ public class CqCbdDeviceImpl implements ICbdDevice {
|
|
|
}
|
|
|
|
|
|
public void cmdData(JSONObject ext, String devUpdateddate) throws Exception {
|
|
|
- log.info("测报灯数据解析 {}", ext.toString());
|
|
|
- String devtypeBid = mqttManager.getDeviceTypeBizId(SERVICE_NAME);
|
|
|
- String firmBid = mqttManager.getFirmBizId(SERVICE_NAME);
|
|
|
+ log.info("【测报灯】数据解析 {}", ext.toString());
|
|
|
+ String devtypeBid = mqttManager.getDeviceTypeBizId(connectionId);
|
|
|
+ String firmBid = mqttManager.getFirmBizId(connectionId);
|
|
|
boolean isCbd = true;
|
|
|
String vtype = ext.getString("vtype");
|
|
|
if (ext.containsKey("dat_f")) {
|
|
|
@@ -304,11 +306,11 @@ public class CqCbdDeviceImpl implements ICbdDevice {
|
|
|
|
|
|
@Override
|
|
|
public Object receiveData(String topic, JSONObject dataJson) throws Exception {
|
|
|
- log.debug("测报灯实现类 处理收到的 设备上报数据 {}", dataJson.toString());
|
|
|
+ log.info("【测报灯】收到的 设备上报数据 {}", dataJson.toString());
|
|
|
// 接收设备上报数据后的处理逻辑
|
|
|
String devUpdateddate = dataJson.getString("devUpdateddate");
|
|
|
- if(StringUtils.isEmpty(devUpdateddate)){
|
|
|
- devUpdateddate= DateUtils.dateTimeNow();
|
|
|
+ if (StringUtils.isEmpty(devUpdateddate)) {
|
|
|
+ devUpdateddate = DateUtils.dateTimeNow();
|
|
|
}
|
|
|
if (dataJson.containsKey("Image")) {
|
|
|
Object result = this.receivePicData(dataJson, devUpdateddate);
|
|
|
@@ -335,7 +337,7 @@ public class CqCbdDeviceImpl implements ICbdDevice {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Object receivePicData(JSONObject jsonObject, String devUpdateddate){
|
|
|
+ public Object receivePicData(JSONObject jsonObject, String devUpdateddate) {
|
|
|
String devtypeBid = mqttManager.getDeviceTypeBizId(SERVICE_NAME);
|
|
|
String firmBid = mqttManager.getFirmBizId(SERVICE_NAME);
|
|
|
String deviceTypeId = jsonObject.getString("device_type_id");
|
|
|
@@ -381,8 +383,8 @@ public class CqCbdDeviceImpl implements ICbdDevice {
|
|
|
@Override
|
|
|
public IotDevice findIotDevice(String topic, JSONObject jobjMsg) {
|
|
|
String devCode = topic.substring(topic.lastIndexOf("/") + 1);
|
|
|
- String devtypeBid = mqttManager.getDeviceTypeBizId(SERVICE_NAME);
|
|
|
- String firmBid = mqttManager.getFirmBizId(SERVICE_NAME);
|
|
|
+ String devtypeBid = mqttManager.getDeviceTypeBizId(connectionId);
|
|
|
+ String firmBid = mqttManager.getFirmBizId(connectionId);
|
|
|
//查询
|
|
|
IotDevice ret = iIotDeviceService.selectIotDeviceByTypeFirmCode(devtypeBid, firmBid, devCode);
|
|
|
log.debug("查到了一个iotdevice {}", ret);
|