|  |  | 
 |  |  | import com.doumee.dao.business.model.MqttLog; | 
 |  |  | import com.doumee.service.business.DeviceService; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.scheduling.annotation.Async; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  | import javax.annotation.PostConstruct; | 
 |  |  | import java.util.Date; | 
 |  |  | 
 |  |  |     private MqttLogMapper mqttLogMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private MqttConfig mqttConfig; | 
 |  |  |     @Override | 
 |  |  |     @PostConstruct | 
 |  |  |     public void startSubcribe() { | 
 |  |  |         mqttToolService.subscribe(new String[]{ Constants.MqttTopic.openLock, Constants.MqttTopic.closeLock}); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 发起开锁指令 | 
 |  |  |      * @param locks | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public MqttLog openLock(Locks locks) { | 
 |  |  |         String topic =  Constants.MqttTopic.openLock.replace("+", locks.getId()); | 
 |  |  |         String topic =  Constants.MqttTopic.pub_openLock.replace("{siteId}", locks.getSiteId()).replace("{lockId}", locks.getCode()+""); | 
 |  |  |         int result = mqttToolService.pubMessage("{}",topic); | 
 |  |  |         MqttLog mqttLog = createPushLog(topic,result,"请求开锁_"+locks.getId()); | 
 |  |  |         return mqttLog; | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public MqttLog getLockInfo(Locks locks) { | 
 |  |  |         String topic =  Constants.MqttTopic.getLockInfo.replace("+", locks.getId()); | 
 |  |  |         String topic =  Constants.MqttTopic.pub_getLockInfo.replace("{siteId}", locks.getSiteId()).replace("{lockId}", locks.getCode()+""); | 
 |  |  |         int result = mqttToolService.pubMessage("{}",topic); | 
 |  |  |         MqttLog mqttLog = createPushLog(topic,result,"实时查询锁信息_"+locks.getId()); | 
 |  |  |         return mqttLog; | 
 |  |  |     } | 
 |  |  |     @Override | 
 |  |  |     @Async | 
 |  |  |     public void testPush(String topic, String json){ | 
 |  |  |         int result = mqttToolService.pubMessage(json,topic); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private MqttLog createPushLog(String topic, int result,String info) { | 
 |  |  | 
 |  |  |         log.setType(Constants.ONE); | 
 |  |  |         log.setMsg(""); | 
 |  |  |         log.setInfo(info); | 
 |  |  |         log.setIsdeleted(Constants.ZERO); | 
 |  |  |         mqttLogMapper.insert(log); | 
 |  |  |         return  log; | 
 |  |  |     } |