Commit a13c6981 by huangjy

feat:保存24小时热力图数据

parent 1337c8a7
...@@ -3,8 +3,8 @@ package com.makeit.service.platform.elder.impl; ...@@ -3,8 +3,8 @@ package com.makeit.service.platform.elder.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.common.entity.BaseEntity; import com.google.common.collect.Lists;
import com.makeit.entity.platform.device.PlatDevice; import com.google.common.collect.Sets;
import com.makeit.entity.platform.elder.PlatElder; import com.makeit.entity.platform.elder.PlatElder;
import com.makeit.entity.platform.elder.PlatElderCoordinateRecord; import com.makeit.entity.platform.elder.PlatElderCoordinateRecord;
import com.makeit.entity.platform.space.PlatRegionSetting; import com.makeit.entity.platform.space.PlatRegionSetting;
...@@ -28,6 +28,8 @@ import java.time.LocalDate; ...@@ -28,6 +28,8 @@ import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import java.util.function.Function;
/** /**
* <p> * <p>
...@@ -68,28 +70,44 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC ...@@ -68,28 +70,44 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
PlatRegionSettingFix platRegionSettingFix; PlatRegionSettingFix platRegionSettingFix;
List<PlatRegionSetting> platRegionSettingList = platRegionSettingService.list(new QueryWrapper<>()); List<PlatRegionSetting> platRegionSettingList = platRegionSettingService.list(new QueryWrapper<>());
Map<String, PlatRegionSetting> platRegionSettingMap = StreamUtil.toMap(platRegionSettingList, PlatRegionSetting::getRoomId); Function<PlatRegionSetting,String> function = entity -> entity.getRoomId() + "-" + entity.getDeviceId();
Map<String, PlatRegionSetting> platRegionSettingMap = StreamUtil.toMap(platRegionSettingList,
function);
for (PlatElder platElder : elderList) { for (PlatElder platElder : elderList) {
List<PlatElderCoordinateVO> elderCoordinateVOList = platElderDayReportDayService.coordinateList(platElder.getId(), null, datStart, dayEnd); List<PlatElderCoordinateVO> elderCoordinateVOList = platElderDayReportDayService.coordinateList(platElder.getId(), null, datStart, dayEnd);
Set<String> deviceIdSet = Sets.newHashSet();
List<PlatElderCoordinateRecord> list = Lists.newArrayList();
for (PlatElderCoordinateVO vo : elderCoordinateVOList) { for (PlatElderCoordinateVO vo : elderCoordinateVOList) {
platElderCoordinateRecord = new PlatElderCoordinateRecord(); platElderCoordinateRecord = new PlatElderCoordinateRecord();
BeanUtils.copyProperties(vo,platElderCoordinateRecord); BeanUtils.copyProperties(vo,platElderCoordinateRecord);
if (CollectionUtils.isNotEmpty(vo.getTrack())) {
platElderCoordinateRecord.setTrack(JSON.toJSONString(vo.getTrack())); platElderCoordinateRecord.setTrack(JSON.toJSONString(vo.getTrack()));
}
platElderCoordinateRecord.setReportTime(vo.getTimestamp()); platElderCoordinateRecord.setReportTime(vo.getTimestamp());
platElderCoordinateRecord.setIotDeviceId(vo.getOriDeviceId()); platElderCoordinateRecord.setIotDeviceId(vo.getOriDeviceId());
platElderCoordinateRecord.setDeviceId(vo.getDeviceId()); platElderCoordinateRecord.setDeviceId(vo.getDeviceId());
platElderCoordinateRecord.setPersonState(vo.getPersonState());
platElderCoordinateRecord.setElderId(platElder.getId()); platElderCoordinateRecord.setElderId(platElder.getId());
platElderCoordinateRecord.setTenantId(platElder.getTenantId()); platElderCoordinateRecord.setTenantId(platElder.getTenantId());
save(platElderCoordinateRecord); list.add(platElderCoordinateRecord);
deviceIdSet.add(vo.getDeviceId());
} }
PlatRegionSetting platRegionSetting = platRegionSettingMap.get(platElder.getRoomId()); saveBatch(list);
for (String deviceId : deviceIdSet) {
PlatRegionSetting platRegionSetting = platRegionSettingMap.get(platElder.getRoomId() + "-" + deviceId);
if (platRegionSetting != null) { if (platRegionSetting != null) {
platRegionSettingFix = new PlatRegionSettingFix(); platRegionSettingFix = new PlatRegionSettingFix();
BeanUtils.copyProperties(platRegionSetting,platRegionSettingFix); BeanUtils.copyProperties(platRegionSetting,platRegionSettingFix,"id");
platRegionSettingFix.setElderId(platElder.getId()); platRegionSettingFix.setElderId(platElder.getId());
platRegionSettingFix.setHappenDate(yesDate.toString()); platRegionSettingFix.setHappenDate(yesDate.toString());
platRegionSettingFixService.save(platRegionSettingFix); platRegionSettingFixService.save(platRegionSettingFix);
} }
} }
}
} }
} }
...@@ -120,7 +120,7 @@ mqtt: ...@@ -120,7 +120,7 @@ mqtt:
defaultTopic: /device/*/*/** defaultTopic: /device/*/*/**
timeout: 10 timeout: 10
keepalive: 60 keepalive: 60
msgSwitch: true msgSwitch: false
wx: wx:
miniapp: miniapp:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment