package com.dy.rtuMw.server.rtuData.pSdV1;
|
|
import com.dy.common.mw.protocol4Mqtt.MqttSubMsg;
|
import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.ManureVo;
|
import com.dy.pipIrrGlobal.pojoPr.PrStManure;
|
import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
|
import com.dy.rtuMw.server.rtuData.TaskSurpport;
|
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
|
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.Logger;
|
|
import java.util.Date;
|
|
/**
|
* @Author: liurunyu
|
* @Date: 2025/6/25 15:52
|
* @Description
|
*/
|
public class TkDealCommandResponseSdV1 extends TaskSurpport {
|
|
private static final Logger log = LogManager.getLogger(TkDealCommandResponseSdV1.class.getName()) ;
|
|
//类ID,一定与Tree.xml配置文件中配置一致
|
public static final String taskId = "TkDealCommandResponseSdV1" ;
|
|
/**
|
* 执行节点任务:处理命令响应上报
|
* @param data 需要处理的数据
|
*/
|
@Override
|
public void execute(Object data) {
|
//前面的任务已经判断了data不为空且为水肥数据
|
MqttSubMsg msg = (MqttSubMsg) data;
|
ManureVo stVo = (ManureVo) msg.vo4Up;
|
Object[] objs = this.getTaskResults(TkPreGenObjs4ManureSdV1.taskId);
|
DbSv sv = (DbSv) objs[0];
|
PrStManure stPo = (PrStManure) objs[1];
|
try{
|
RmCommandHistory po = sv.getCommandLog(msg.commandId) ;
|
if(po != null){
|
po = this.updateCommandLogPo(po, msg) ;
|
sv.updateCommandLog(po);
|
}else{
|
log.error("未得到MQTT命令日志(" + msg.getCommandId() + ")");
|
}
|
}catch (Exception e){
|
log.error("保存MQTT命令结果发生异常", e);
|
}
|
}
|
|
public RmCommandHistory updateCommandLogPo(RmCommandHistory po, MqttSubMsg msg) throws Exception{
|
po.setResultTime(new Date());
|
po.setResult((byte)1);
|
po.setResultText(msg.metaData);
|
return po ;
|
}
|
|
}
|