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