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 { 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 listAirData() { return airDataMapper.listAirData(); } /** * 查询大气数据(模糊查询) */ public List listAirDataByKeyword(String keyword) { if (keyword == null || keyword.trim().length() == 0) { return listAirData(); } else { return airDataMapper.listAirDataByKeyword(keyword); } } /** * 查询大气设备MAC地址 */ public List listAirEquipmentMAC() { return airDataMapper.listAirEquipmentMAC(); } }