package com.tievd.jyz.mqtt.command;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.tievd.jyz.constants.SystemConstant;
|
import com.tievd.jyz.mqtt.dto.MqttParamDTO;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
|
/**
|
* 检测到平台终端数据旧于aibox,主动下发请求数据指令到aibox,获取全量数据
|
* @author Wang
|
*
|
*/
|
public class BaseUpdatePullCommand implements Command {
|
|
private Logger log = LoggerFactory.getLogger(BaseUpdatePullCommand.class);
|
|
private final static String TYPE = "baseUpdateReq";
|
|
private MqttCommandReceiver commandReceiver;
|
|
private String sendTopicName;
|
|
private String sn;
|
/** 请求数据类型,camera:终端;oil:加油位;all:终端加油位都需要 */
|
private String source;
|
|
private MqttParamDTO obj = new MqttParamDTO();
|
|
public BaseUpdatePullCommand(MqttCommandReceiver commandReceiver, String source, String sendTopicName, String sn) {
|
super();
|
this.commandReceiver = commandReceiver;
|
this.sendTopicName = sendTopicName;
|
this.sn = sn;
|
this.source = source;
|
}
|
|
@Override
|
public int init() {
|
obj.setType(TYPE);
|
obj.setSn(sn);
|
JSONObject jsonObject = new JSONObject();
|
jsonObject.put("source",source);
|
obj.setData(jsonObject);
|
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;
|
}
|
|
}
|