package com.sandu.ximon.admin.service;
|
|
|
import com.sandu.common.service.impl.BaseServiceImpl;
|
import com.sandu.ximon.dao.bo.AirDataBo;
|
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereHeartbeatReportInnerFrame;
|
import com.sandu.ximon.dao.domain.AirData;
|
import com.sandu.ximon.dao.domain.AirEquipment;
|
import com.sandu.ximon.dao.mapper.AirDataMapper;
|
import lombok.AllArgsConstructor;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
|
@Service
|
@AllArgsConstructor
|
public class AirDataService extends BaseServiceImpl<AirDataMapper, AirData> {
|
private final AirDataMapper airDataMapper;
|
private final AirEquipmentService airEquipmentService;
|
|
/**
|
* 保存上报大气心跳数据
|
*
|
* @return 是否成功
|
*/
|
public boolean saveReportData(String deviceName, A5AtmosphereHeartbeatReportInnerFrame.HeartBeatDataPackage heartBeatDataPackage) {
|
|
AirData airData = new AirData();
|
BeanUtils.copyProperties(heartBeatDataPackage, airData);
|
airData.setDeviceMac(deviceName);
|
|
//将设备信息添加到大气设备表
|
AirEquipment airEquipment = new AirEquipment();
|
airEquipment.setId(airData.getId());
|
airEquipment.setMac(airData.getDeviceMac());
|
airEquipment.setCreateTime(airData.getCreateTime());
|
airEquipmentService.addAirEquipment(airEquipment);
|
|
return save(airData);
|
}
|
|
/**
|
* 查询全部大气数据
|
*/
|
public List<AirDataBo> listAirData() {
|
return airDataMapper.listAirData();
|
}
|
|
/**
|
* 查询大气数据(模糊查询)
|
*/
|
public List<AirDataBo> listAirDataByKeyword(String keyword) {
|
if (keyword == null || keyword.trim().length() == 0) {
|
return listAirData();
|
} else {
|
return airDataMapper.listAirDataByKeyword(keyword);
|
}
|
}
|
|
/**
|
* 查询大气设备MAC地址
|
*/
|
public List<String> listAirEquipmentMAC() {
|
return airDataMapper.listAirEquipmentMAC();
|
}
|
|
}
|