package com.tievd.jyz.mqtt.command; import com.alibaba.fastjson.JSON; import com.tievd.jyz.constants.SystemConstant; import com.tievd.jyz.mqtt.dto.MqttParamDTO; import com.tievd.jyz.mqtt.dto.SyncBaseUpdateDTO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 检测到平台做了终端的修改,且平台终端数据新于AIBOX,则下发终端至aibox * @author Wang * */ public class BaseUpdatePushCommand implements Command { private Logger log = LoggerFactory.getLogger(BaseUpdatePushCommand.class); private final static String TYPE = "baseUpdate"; private MqttCommandReceiver commandReceiver; private String sendTopicName; private String sn; private SyncBaseUpdateDTO syncBaseUpdateDTO; private MqttParamDTO obj = new MqttParamDTO(); public BaseUpdatePushCommand(MqttCommandReceiver commandReceiver, SyncBaseUpdateDTO syncBaseUpdateDTO, String sendTopicName, String sn) { super(); this.commandReceiver = commandReceiver; this.sendTopicName = sendTopicName; this.sn = sn; this.syncBaseUpdateDTO = syncBaseUpdateDTO; } @Override public int init() { obj.setType(TYPE); obj.setSn(sn); obj.setData(syncBaseUpdateDTO); obj.setTime(String.valueOf(System.currentTimeMillis())); return SystemConstant.DEAL_OK; } @Override public int execute() { Integer ret = SystemConstant.DEAL_OK; int status = commandReceiver.send(JSON.toJSONString(obj),new StringBuilder(sendTopicName).append(sn).toString()); if(status == SystemConstant.DEAL_FAIL ) { ret = SystemConstant.DEAL_FAIL; } return ret; } }