Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
黄嘉阳
/
iot-platform-server
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
d4e282e4
authored
Dec 11, 2023
by
huangjy
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix: 状态兼容睡眠
parent
5334d459
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
6 deletions
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderRealTimeServiceImpl.java
server-web/src/main/java/com/makeit/mqtt/PushCallback.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderRealTimeServiceImpl.java
View file @
d4e282e4
...
...
@@ -199,8 +199,16 @@ public class PlatElderRealTimeServiceImpl implements PlatElderRealTimeService {
Integer
bodymove
=
Integer
.
valueOf
(
result
.
getString
(
"bodymove"
));
return
bodymove
.
compareTo
(
sleepTimeActionThreshold
)
<=
0
;
};
boolean
sleepFlag
=
values
.
stream
().
allMatch
(
predicate
);
if
(
sleepFlag
)
{
int
count
=
0
;
for
(
Object
entity
:
values
)
{
JSONObject
result
=
JSON
.
parseObject
(
entity
.
toString
());
Integer
bodymove
=
Integer
.
valueOf
(
result
.
getString
(
"bodymove"
));
boolean
b
=
bodymove
.
compareTo
(
sleepTimeActionThreshold
)
<=
0
;
if
(
b
)
{
count
++;
}
}
if
(
values
.
size
()
-
count
<=
3
)
{
log
.
info
(
"当前属于在床睡眠:"
+
platElderIdDTO
.
getElderId
());
platElderRealTimeNowVO
.
setStatus
(
PlatElderRealtimeReportEnum
.
NowStatus
.
SLEEP
.
getValue
());
return
platElderRealTimeNowVO
;
...
...
server-web/src/main/java/com/makeit/mqtt/PushCallback.java
View file @
d4e282e4
...
...
@@ -124,14 +124,14 @@ public class PushCallback implements MqttCallback {
// 缓存呼吸设备某段时间的数据,hash 最大长度 duration
long
duration
=
getSleepTimeActionDuration
();
long
size
=
redisTemplate
.
opsForHash
().
size
(
DEVICE_BR_ANALYSIS
+
device
.
getDeviceId
());
redisTemplate
.
opsForHash
().
put
(
DEVICE_BR_ANALYSIS
+
device
.
getDeviceId
(),
currentSecond
,
JSON
.
toJSONString
(
device
.
getProperties
()));
redisTemplate
.
expire
(
DEVICE_BR_ANALYSIS
+
device
.
getDeviceId
(),
duration
+
3
,
TimeUnit
.
MINUTES
);
if
(
size
==
duration
)
{
redisTemplate
.
opsForHash
().
delete
(
DEVICE_BR_ANALYSIS
+
device
.
getDeviceId
(),
currentSecond
-
duration
);
}
else
if
(
size
>
duration
)
{
}
else
if
(
size
-
duration
>=
3
)
{
redisTemplate
.
delete
(
Objects
.
requireNonNull
(
redisTemplate
.
keys
(
DEVICE_BR_ANALYSIS
+
device
.
getDeviceId
())));
}
redisTemplate
.
opsForHash
().
put
(
DEVICE_BR_ANALYSIS
+
device
.
getDeviceId
(),
currentSecond
,
JSON
.
toJSONString
(
device
.
getProperties
()));
redisTemplate
.
expire
(
DEVICE_BR_ANALYSIS
+
device
.
getDeviceId
(),
duration
+
3
,
TimeUnit
.
MINUTES
);
redisTemplate
.
opsForValue
().
set
(
DEVICE_BR_DATA
+
device
.
getDeviceId
(),
JSON
.
toJSONString
(
device
.
getProperties
()),
5000
,
TimeUnit
.
MILLISECONDS
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment