package com.sandu.ximon.admin.service;
|
|
import com.sandu.common.service.impl.BaseServiceImpl;
|
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereHeartbeatReportInnerFrame;
|
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereNewHeartbeatReportInnerFrame;
|
import com.sandu.ximon.admin.manager.iot.rrpc.enums.AtmoFunctionCode;
|
import com.sandu.ximon.admin.utils.RedisUtils;
|
import com.sandu.ximon.dao.domain.AirData;
|
import com.sandu.ximon.dao.domain.AirDataNongGeng;
|
import com.sandu.ximon.dao.domain.AirEquipment;
|
import com.sandu.ximon.dao.domain.AirEquipmentNongGeng;
|
import com.sandu.ximon.dao.mapper.AirDataNongGengMapper;
|
import lombok.AllArgsConstructor;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
|
/**
|
* 大气数据,农耕硬件
|
*
|
* @author ZZQ
|
* @date 2022/4/25 14:16
|
*/
|
@Service
|
@AllArgsConstructor
|
public class AirDataNongGengService extends BaseServiceImpl<AirDataNongGengMapper, AirDataNongGeng> {
|
private final AirEquipmentNongGengService airEquipmentNongGengService;
|
|
/**
|
* 保存上报大气心跳数据
|
*
|
* @return 是否成功
|
*/
|
public boolean saveReportData(String deviceName, A5AtmosphereNewHeartbeatReportInnerFrame.HeartBeatDataPackage heartBeatDataPackage) {
|
|
AirDataNongGeng airDataNongGeng = new AirDataNongGeng();
|
BeanUtils.copyProperties(heartBeatDataPackage, airDataNongGeng);
|
airDataNongGeng.setMac(deviceName);
|
|
//将设备信息添加到大气设备表
|
AirEquipmentNongGeng airEquipmentNongGeng = new AirEquipmentNongGeng();
|
airEquipmentNongGeng.setId(airDataNongGeng.getId());
|
airEquipmentNongGeng.setMac(airDataNongGeng.getMac());
|
airEquipmentNongGeng.setCreateTime(airDataNongGeng.getCreateTime());
|
airEquipmentNongGengService.addAirEquipment(airEquipmentNongGeng);
|
|
// //存缓存
|
// RedisUtils.getBean().set(AtmoFunctionCode.AIR_HEARTBEAT.getCode() + deviceName, heartBeatDataPackage, 300L);
|
|
return save(airDataNongGeng);
|
}
|
}
|