Commit fac218bd by huangjy

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

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