package com.tievd.jyz.mqtt.command; import com.alibaba.fastjson.JSON; import com.tievd.jyz.constants.SystemConstant; import com.tievd.jyz.mqtt.dto.InitConfigDTO; import com.tievd.jyz.mqtt.dto.MqttParamDTO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 配置信息下发命令 * @author Wang * */ public class InitConfigCommand implements Command { private Logger log = LoggerFactory.getLogger(InitConfigCommand.class); private final static String TYPE = "config"; private MqttCommandReceiver commandReceiver; private String sendTopicName; private String sn; private InitConfigDTO initConfigDTO; private MqttParamDTO obj = new MqttParamDTO(); public InitConfigCommand(MqttCommandReceiver commandReceiver, InitConfigDTO initConfigDTO, String sendTopicName, String sn) { super(); this.commandReceiver = commandReceiver; this.sendTopicName = sendTopicName; this.sn = sn; this.initConfigDTO = initConfigDTO; } @Override public int init() { obj.setType(TYPE); obj.setSn(sn); obj.setData(initConfigDTO); 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; } }