12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package com.zy.bms.service;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.zy.bms.common.Constant;
- import com.zy.bms.common.io.pc.MqttLogsIO;
- import com.zy.bms.mapper.MqttLogMapper;
- import com.zy.bms.model.MqttLog;
- import com.zy.bms.model.MqttMsgDto;
- import org.springframework.stereotype.Service;
- /**
- * MQTT 收发日志 Service
- *
- * @author chenyi
- * Create on 2020/4/10
- */
- @Service
- public class MqttLogService extends ServiceImpl<MqttLogMapper, MqttLog> {
- /**
- * 保存 日志
- *
- * @param topic 主题
- * @param payload 消息内容
- * @param tag 0收 1发
- */
- public void saveLog(String topic, String payload, Integer tag) {
- MqttLog mqttLog = new MqttLog();
- mqttLog.setTopic(topic);
- //mqtt日志类型
- mqttLog.setTag(tag);
- //获取消息解析对象
- MqttMsgDto mqttMsgDto = MqttMsgDto.parse(payload);
- String regTopic = tag == 0 ? Constant.TOPIC_REGISTER_SERVER : Constant.TOPIC_REGISTER_CLIENT;
- //区分注册报文和普通报文,注册报文取设备随机码
- mqttLog.setDeviceId(topic.equals(regTopic) ?
- mqttMsgDto.getString("regnum") : mqttMsgDto.getDeviceId());
- //mqtt 指令
- mqttLog.setInstruction(mqttMsgDto.getM());
- mqttLog.setContent(payload);
- baseMapper.insert(mqttLog);
- }
- /**
- * 分页查询日志
- *
- * @param io 查询条件
- */
- public IPage<MqttLog> getListPage(MqttLogsIO io) {
- Page<MqttLog> page = new Page<>(io.getCurrent(), io.getSize());
- return baseMapper.getListPage(page, io);
- }
- }
|