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;
|
}
|
|
}
|