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; /** * 升级指令 * @author Wang * */ public class UpgradeCommand implements Command { private Logger log = LoggerFactory.getLogger(UpgradeCommand.class); private final static String TYPE = "upgrade"; private MqttCommandReceiver commandReceiver; private String sendTopicName; private String sn; private String version; private String path; private MqttParamDTO obj = new MqttParamDTO(); public UpgradeCommand(MqttCommandReceiver commandReceiver, String version, String path, String sendTopicName, String sn) { super(); this.commandReceiver = commandReceiver; this.sendTopicName = sendTopicName; this.sn = sn; this.version = version; this.path = path; } @Override public int init() { obj.setType(TYPE); obj.setSn(sn); JSONObject jsonObject = new JSONObject(); jsonObject.put("version",version); jsonObject.put("path",path); 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; } }