Commit fac218bd by huangjy

fix:跌倒和空间设备读取10秒内数据问题

parent 3909acb0
......@@ -851,7 +851,7 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
return;
}
saasPidManage.setUsedCredit(saasPidManage.getUsedCredit() + 1);
saasPidManage.setAvailableCredit(saasPidManage.getAvailableCredit() - saasPidManage.getUsedCredit());
saasPidManage.setAvailableCredit(saasPidManage.getAvailableCredit() - 1);
if (Objects.equals(saasPidManage.getAvailableCredit(), saasPidManage.getUsedCredit())) {
saasPidManage.setStatus("0");
}
......
......@@ -19,16 +19,17 @@ import com.makeit.utils.data.validate.CollectionUtils;
import com.makeit.utils.data.validate.MapUtil;
import com.makeit.utils.time.LocalDateTimeUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.*;
import static com.makeit.service.platform.elder.impl.PlatElderRealTimeServiceImpl.*;
/**
* <p>
......@@ -53,10 +54,16 @@ public class PlatElderBreatheDayStatServiceImpl extends ServiceImpl<PlatElderBre
private PlatElderRealTimeService platElderRealTimeService;
@Autowired
private PlatElderReportMonthService platElderReportMonthService;
@Autowired
private StringRedisTemplate redisTemplate;
@Transactional(rollbackFor = Exception.class)
@Override
public void heartRespiratoryTask() {
redisTemplate.delete(Objects.requireNonNull(redisTemplate.keys(DEVICE_BR_ANALYSIS + "*")));
redisTemplate.delete(Objects.requireNonNull(redisTemplate.keys(DEVICE_SPACE_TEMP_DATA + "*")));
redisTemplate.delete(Objects.requireNonNull(redisTemplate.keys(DEVICE_FALL_TEMP_DATA + "*")));
LocalDate nowDate = LocalDate.now();
LocalDate yesDate = nowDate.minusDays(1);
......
......@@ -232,7 +232,7 @@ public class PlatElderRealTimeServiceImpl implements PlatElderRealTimeService {
boolean spaceNoPersonFlag = false;
for (PlatDevice device : spaceDeviceList) {
Set<String> dataSet = redisTemplate.opsForZSet().rangeByScore(DEVICE_SPACE_TEMP_DATA + platDevice.getOriDeviceId(), currentSecond - 10, currentSecond);
Set<String> dataSet = redisTemplate.opsForZSet().rangeByScore(DEVICE_SPACE_TEMP_DATA + device.getOriDeviceId(), -10,-1);
if (CollectionUtils.isEmpty(dataSet)) {
log.info("空间设备当前没有上报数据直接返回");
spaceNoPersonFlag = true;
......@@ -278,7 +278,7 @@ public class PlatElderRealTimeServiceImpl implements PlatElderRealTimeService {
}
boolean fallNoPersonFlag = false;
for (PlatDevice device : fallDeviceList) {
Set<String> dataSet = redisTemplate.opsForZSet().rangeByScore(DEVICE_FALL_TEMP_DATA + platDevice.getOriDeviceId(), currentSecond - 10, currentSecond);
Set<String> dataSet = redisTemplate.opsForZSet().rangeByScore(DEVICE_FALL_TEMP_DATA + device.getOriDeviceId(), -10,-1);
if (CollectionUtils.isEmpty(dataSet)) {
log.info("跌倒设备当前没有上报数据直接返回");
fallNoPersonFlag = true;
......
......@@ -47,7 +47,7 @@ public class SaasPidManageServiceImpl extends ServiceImpl<SaasPidManageMapper, S
@Override
public void add(SaasPidManage dto) {
dto.setStatus("1");
dto.setUsedCredit(0);
dto.setUsedCredit(dto.getAvailableCredit() - dto.getUsedCredit());
save(dto);
}
......
......@@ -138,7 +138,7 @@ public class PushCallback implements MqttCallback {
List<HeaderInfo.Bind> bindings = headers.getBindings();
Long timestamp = device.getTimestamp();
long currentSecond = System.currentTimeMillis() / 1000;
long currentSecond = timestamp / 1000;
// 先通过产品名称判断
if (REPORT_PROPERTY.equals(device.getMessageType()) && headers.getProductName().contains("呼吸")) {
cacheBrDeviceData(device, currentSecond);
......
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