mqtt问题修改

tags/yfai-pcn-ext-v1.0
微笑着面对明天 10 months ago
parent bac8b77d5a
commit dc35357c44

@ -95,19 +95,19 @@ public class PcnMqttCallback implements MqttCallbackExtended {
public void messageArrived(String topic, MqttMessage mqttMessage) {
log.info("== pcnMqttCallback ==> messageArrived 接收消息主题: {},接收消息内容: {}", topic, new String(mqttMessage.getPayload()));
try{
String resStr = new String(mqttMessage.getPayload());
String resStr = new String(mqttMessage.getPayload(), "UTF-8").trim();
/**
* if-else
*/
//topic1主题
if (topic.equals("ABC")) {
EquipLogMqttMsg equipLogMqttMsg = JSONObject.parseObject(resStr, EquipLogMqttMsg.class);
List<EquipLogMqttMsg> equipLogMqttMsgList = JSONObject.parseArray(resStr, EquipLogMqttMsg.class);
for (EquipLogMqttMsg equipLogMqttMsg : equipLogMqttMsgList) {
equipmentLogService.updateValue(equipLogMqttMsg);
//业务处理
//doSomething1(maps);
log.info("== pcnMqttCallback ==> messageArrived 接收消息主题: {},业务处理消息内容完成", topic);
}
//业务处理
//doSomething1(maps);
log.info("== pcnMqttCallback ==> messageArrived 接收消息主题: {},业务处理消息内容完成", topic);
} catch (Exception e) {
e.printStackTrace();
}

@ -1,9 +1,10 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesEquipmentLogService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.equiplog.MesEquipmentLogExtService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ActorMessage;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.equiplog.MesEquipmentLogExtService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.mqtt.EquipLogMqttMsg;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
@ -31,6 +32,7 @@ import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@ -156,7 +158,7 @@ public class MesEquipmentLogService implements IMesEquipmentLogService {
@Override
public void updateValue(EquipLogMqttMsg equipLogMqttMsg) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getStringEqualPack(equipLogMqttMsg.getTagAddress(), "tagAddress", ddlPackBean);
DdlPreparedPack.getStringEqualPack(equipLogMqttMsg.getKey(), "tagName", ddlPackBean);
DdlPreparedPack.getNumEqualPack(Integer.valueOf(equipLogMqttMsg.getPTCode()), "equipId", ddlPackBean);
MesEquipmentVariable mesEquipmentVariable = equipmentVariableRepository.getByProperty(ddlPackBean);
@ -164,15 +166,23 @@ public class MesEquipmentLogService implements IMesEquipmentLogService {
LOGGER.info("tagAddress 不存在【{}】", equipLogMqttMsg.getTagAddress());
}
MesEquipmentLog equipmentLog = mesEquipmentLogExtService.queryMesEquipmentLog(mesEquipmentVariable.getOrganizeCode(), Integer.valueOf(equipLogMqttMsg.getPTCode()), mesEquipmentVariable.getId());
ConvertBean.serviceModelUpdate(equipmentLog, "mqtt");
/*ConvertBean.serviceModelUpdate(equipmentLog, "mqtt");
equipmentLog.setEquipVariableValue(equipLogMqttMsg.getValue());
equipmentLog.setEquipVariableStatus(MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getEquipVariableStatus());
mesEquipmentLogRepository.update(equipmentLog);
mesEquipmentLogRepository.update(equipmentLog);*/
DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesEquipmentVariable.getOrganizeCode());
DdlPreparedPack.getNumEqualPack(equipmentLog.getEquipId(), MesPcnExtConstWords.EQUIP_ID, packBean);
DdlPreparedPack.getNumEqualPack(equipmentLog.getEquipVariableId(), MesPcnExtConstWords.EQUIP_VARIABLE_ID, packBean);
mesEquipmentLogRepository.updateByProperties(new String[]{MesPcnExtConstWords.EQUIP_VARIABLE_STATUS,"equipVariableValue"}, new Object[]{MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue(),equipLogMqttMsg.getValue() }, packBean);
LOGGER.info("messageArrived -> value修改成功");
MesEquipmentLogDetail mesEquipmentLogDetail = new MesEquipmentLogDetail();
BeanUtils.copyProperties(equipmentLog, mesEquipmentLogDetail);
mesEquipmentLogDetail.setId(null);
mesEquipmentLogDetailRepository.save(mesEquipmentLogDetail);
ConvertBean.serviceModelInitialize(mesEquipmentLogDetail, "mqtt");
mesEquipmentLogDetailRepository.saveAll(Arrays.asList(mesEquipmentLogDetail));
LOGGER.info("messageArrived -> detail插入成功");
}
}

Loading…
Cancel
Save