Commit a13c6981 by huangjy

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

parent 1337c8a7
......@@ -3,8 +3,8 @@ package com.makeit.service.platform.elder.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.common.entity.BaseEntity;
import com.makeit.entity.platform.device.PlatDevice;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.makeit.entity.platform.elder.PlatElder;
import com.makeit.entity.platform.elder.PlatElderCoordinateRecord;
import com.makeit.entity.platform.space.PlatRegionSetting;
......@@ -28,6 +28,8 @@ import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;
/**
* <p>
......@@ -68,28 +70,44 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
PlatRegionSettingFix platRegionSettingFix;
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) {
List<PlatElderCoordinateVO> elderCoordinateVOList = platElderDayReportDayService.coordinateList(platElder.getId(), null, datStart, dayEnd);
Set<String> deviceIdSet = Sets.newHashSet();
List<PlatElderCoordinateRecord> list = Lists.newArrayList();
for (PlatElderCoordinateVO vo : elderCoordinateVOList) {
platElderCoordinateRecord = new PlatElderCoordinateRecord();
BeanUtils.copyProperties(vo,platElderCoordinateRecord);
platElderCoordinateRecord.setTrack(JSON.toJSONString(vo.getTrack()));
if (CollectionUtils.isNotEmpty(vo.getTrack())) {
platElderCoordinateRecord.setTrack(JSON.toJSONString(vo.getTrack()));
}
platElderCoordinateRecord.setReportTime(vo.getTimestamp());
platElderCoordinateRecord.setIotDeviceId(vo.getOriDeviceId());
platElderCoordinateRecord.setDeviceId(vo.getDeviceId());
platElderCoordinateRecord.setPersonState(vo.getPersonState());
platElderCoordinateRecord.setElderId(platElder.getId());
platElderCoordinateRecord.setTenantId(platElder.getTenantId());
save(platElderCoordinateRecord);
list.add(platElderCoordinateRecord);
deviceIdSet.add(vo.getDeviceId());
}
PlatRegionSetting platRegionSetting = platRegionSettingMap.get(platElder.getRoomId());
if (platRegionSetting != null) {
platRegionSettingFix = new PlatRegionSettingFix();
BeanUtils.copyProperties(platRegionSetting,platRegionSettingFix);
platRegionSettingFix.setElderId(platElder.getId());
platRegionSettingFix.setHappenDate(yesDate.toString());
platRegionSettingFixService.save(platRegionSettingFix);
saveBatch(list);
for (String deviceId : deviceIdSet) {
PlatRegionSetting platRegionSetting = platRegionSettingMap.get(platElder.getRoomId() + "-" + deviceId);
if (platRegionSetting != null) {
platRegionSettingFix = new PlatRegionSettingFix();
BeanUtils.copyProperties(platRegionSetting,platRegionSettingFix,"id");
platRegionSettingFix.setElderId(platElder.getId());
platRegionSettingFix.setHappenDate(yesDate.toString());
platRegionSettingFixService.save(platRegionSettingFix);
}
}
}
}
}
......@@ -120,7 +120,7 @@ mqtt:
defaultTopic: /device/*/*/**
timeout: 10
keepalive: 60
msgSwitch: true
msgSwitch: false
wx:
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