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
068b485f
authored
Jan 31, 2024
by
汪志阳
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix:bug fix
parent
7ba70a8b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
94 additions
and
11 deletions
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderSleepServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderSleepServiceImpl.java
View file @
068b485f
...
@@ -606,18 +606,99 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -606,18 +606,99 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
sleepTimeDTO
.
setGetUpList
(
getUpList
);
sleepTimeDTO
.
setGetUpList
(
getUpList
);
sleepTimeDTO
.
setDaySleepList
(
daySleepList
);
sleepTimeDTO
.
setDaySleepList
(
daySleepList
);
sleepTimeDTO
.
setRestList
(
restList
);
sleepTimeDTO
.
setRestList
(
restList
);
List
<
SleepTimeAnalysisVO
>
lightSleepList
=
new
ArrayList
<>();
sleepTimeDTO
.
setLightList
(
setLightSleepList
(
deepList
,
moderateList
,
restList
,
sleepList
));
return
sleepTimeDTO
;
}
/**
* 获取浅度睡眠
* @param deepList
* @param moderateList
* @param restList
* @param sleepList
* @return
*/
private
List
<
SleepTimeAnalysisVO
>
setLightSleepList
(
List
<
SleepTimeAnalysisVO
>
deepList
,
List
<
SleepTimeAnalysisVO
>
moderateList
,
List
<
SleepTimeAnalysisVO
>
restList
,
List
<
SleepTimeAnalysisVO
>
sleepList
)
{
List
<
SleepTimeAnalysisVO
>
result
=
new
ArrayList
<>();
Map
<
String
,
List
<
SleepTimeAnalysisVO
>>
deepMap
=
deepList
.
stream
().
collect
(
Collectors
.
groupingBy
(
SleepTimeAnalysisVO:
:
getBelongToSleepTime
));
Map
<
String
,
List
<
SleepTimeAnalysisVO
>>
moderMap
=
moderateList
.
stream
().
collect
(
Collectors
.
groupingBy
(
SleepTimeAnalysisVO:
:
getBelongToSleepTime
));
if
(
CollUtil
.
isNotEmpty
(
sleepList
))
{
if
(
CollUtil
.
isNotEmpty
(
sleepList
))
{
lightSleepList
=
sleepList
;
buildLightList
(
sleepList
,
result
,
deepMap
,
moderMap
);
if
(
CollUtil
.
isNotEmpty
(
deepList
))
{
}
lightSleepList
.
removeAll
(
deepList
);
if
(
CollUtil
.
isNotEmpty
(
restList
))
{
}
buildLightList
(
restList
,
result
,
deepMap
,
moderMap
);
if
(
CollUtil
.
isNotEmpty
(
moderateList
))
{
}
lightSleepList
.
removeAll
(
moderateList
);
return
result
;
}
private
void
buildLightList
(
List
<
SleepTimeAnalysisVO
>
list
,
List
<
SleepTimeAnalysisVO
>
result
,
Map
<
String
,
List
<
SleepTimeAnalysisVO
>>
deepMap
,
Map
<
String
,
List
<
SleepTimeAnalysisVO
>>
moderMap
)
{
list
.
forEach
(
s
->
{
LocalDateTime
startTime
=
LocalDateTime
.
parse
(
s
.
getStartTime
(),
DEFAULT_FORMATTER
);
LocalDateTime
endTime
=
LocalDateTime
.
parse
(
s
.
getEndTime
(),
DEFAULT_FORMATTER
);
List
<
LocalDateTime
>
rangeTimes
=
getRangeTime
(
startTime
,
endTime
);
List
<
SleepTimeAnalysisVO
>
deeps
=
deepMap
.
get
(
s
.
getStartTime
());
List
<
LocalDateTime
>
removeList
=
new
ArrayList
<>();
if
(
CollUtil
.
isNotEmpty
(
deeps
))
{
deeps
.
forEach
(
d
->
CollUtil
.
addAll
(
removeList
,
getRangeTime
(
startTime
,
endTime
)));
}
List
<
SleepTimeAnalysisVO
>
moder
=
moderMap
.
get
(
s
.
getStartTime
());
if
(
CollUtil
.
isNotEmpty
(
moder
))
{
moder
.
forEach
(
d
->
CollUtil
.
addAll
(
removeList
,
getRangeTime
(
startTime
,
endTime
)));
}
if
(
CollUtil
.
isNotEmpty
(
removeList
))
{
rangeTimes
.
removeAll
(
removeList
);
}
result
.
addAll
(
getLightList
(
rangeTimes
));
});
}
private
List
<
SleepTimeAnalysisVO
>
getLightList
(
List
<
LocalDateTime
>
rangeTimes
)
{
List
<
SleepTimeAnalysisVO
>
result
=
new
ArrayList
<>();
LocalDateTime
startTime
=
null
;
long
count
=
0
;
for
(
int
i
=
0
;
i
<
rangeTimes
.
size
();
i
++)
{
LocalDateTime
time
=
rangeTimes
.
get
(
i
);
if
(
startTime
==
null
)
{
startTime
=
time
;
}
long
minutes
=
Duration
.
between
(
startTime
,
time
).
toMinutes
();
if
(
minutes
!=
count
)
{
SleepTimeAnalysisVO
analysisVO
=
new
SleepTimeAnalysisVO
();
analysisVO
.
setBelongToSleepTime
(
DateUtil
.
format
(
startTime
,
DatePattern
.
NORM_DATETIME_PATTERN
));
analysisVO
.
setStartTime
(
DateUtil
.
format
(
startTime
,
DatePattern
.
NORM_DATETIME_PATTERN
));
analysisVO
.
setType
(
SleepTypeEnum
.
SLEEP_LIGHTNESS
.
getCode
());
analysisVO
.
setEndTime
(
DateUtil
.
format
(
rangeTimes
.
get
(
i
-
1
),
DatePattern
.
NORM_DATETIME_PATTERN
));
analysisVO
.
setInterval
(
count
-
1
);
result
.
add
(
analysisVO
);
startTime
=
time
;
count
=
1
;
}
else
{
count
++;
}
if
(
i
==
rangeTimes
.
size
()
-
1
&&
startTime
!=
null
)
{
SleepTimeAnalysisVO
analysisVO
=
new
SleepTimeAnalysisVO
();
analysisVO
.
setBelongToSleepTime
(
DateUtil
.
format
(
startTime
,
DatePattern
.
NORM_DATETIME_MINUTE_PATTERN
));
analysisVO
.
setStartTime
(
DateUtil
.
format
(
startTime
,
DatePattern
.
NORM_DATETIME_MINUTE_PATTERN
));
analysisVO
.
setType
(
SleepTypeEnum
.
SLEEP_LIGHTNESS
.
getCode
());
analysisVO
.
setEndTime
(
DateUtil
.
format
(
rangeTimes
.
get
(
i
),
DatePattern
.
NORM_DATETIME_MINUTE_PATTERN
));
analysisVO
.
setInterval
(
count
-
1
);
result
.
add
(
analysisVO
);
}
}
}
}
sleepTimeDTO
.
setLightList
(
lightSleepList
);
return
result
;
return
sleepTimeDTO
;
}
private
List
<
LocalDateTime
>
getRangeTime
(
LocalDateTime
startTime
,
LocalDateTime
endTime
)
{
List
<
LocalDateTime
>
result
=
new
ArrayList
<>();
long
minutes
=
Duration
.
between
(
startTime
,
endTime
).
toMinutes
();
for
(
int
i
=
0
;
i
<
minutes
+
1
;
i
++)
{
result
.
add
(
startTime
.
plusMinutes
(
i
));
}
return
result
;
}
}
private
PlatElderSleepAnalysis
savePlatElderSleepAnalysis
(
SleepTimeDTO
sleepTimeDTO
,
private
PlatElderSleepAnalysis
savePlatElderSleepAnalysis
(
SleepTimeDTO
sleepTimeDTO
,
...
@@ -797,11 +878,13 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -797,11 +878,13 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
String
bedId
=
platRoomBedDevice
.
getBedId
();
String
bedId
=
platRoomBedDevice
.
getBedId
();
PlatElder
elder
=
platElderService
.
getOne
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
PlatElder
elder
=
platElderService
.
getOne
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
eq
(
PlatElder:
:
getBedId
,
bedId
));
.
eq
(
PlatElder:
:
getBedId
,
bedId
));
if
(
elder
==
null
||
!
"1712648603580764161"
.
equals
(
elder
.
getId
()))
{
// || !"1712648603580764161".equals(elder.getId())
if
(
elder
==
null
)
{
continue
;
continue
;
}
}
PlatDevice
platDevice
=
platDeviceService
.
getById
(
platRoomBedDevice
.
getDeviceId
());
PlatDevice
platDevice
=
platDeviceService
.
getById
(
platRoomBedDevice
.
getDeviceId
());
if
(
platDevice
==
null
||
!
"218A00XE2669104"
.
equals
(
platDevice
.
getOriDeviceId
()))
{
// || !"218A00XE2669104".equals(platDevice.getOriDeviceId())
if
(
platDevice
==
null
)
{
continue
;
continue
;
}
}
String
tenantId
=
elder
.
getTenantId
();
String
tenantId
=
elder
.
getTenantId
();
...
...
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