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
14da9f8e
authored
Jan 04, 2024
by
汪志阳
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix:bug修改
parent
e4fa4e44
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
74 additions
and
39 deletions
server-service/src/main/java/com/makeit/enums/report/SleepTypeEnum.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportDayServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderSleepServiceImpl.java
server-service/src/main/java/com/makeit/vo/platform/elder/report/day/PlatElderSleepDiagramVO.java
server-service/src/main/java/com/makeit/enums/report/SleepTypeEnum.java
View file @
14da9f8e
...
...
@@ -7,16 +7,20 @@ import lombok.Getter;
@Getter
public
enum
SleepTypeEnum
{
SLEEP_DEEP
(
"sleepDeep"
,
"深度睡眠"
),
SLEEP_MODERATE
(
"sleepModerate"
,
"中度睡眠"
),
SLEEP_LIGHTNESS
(
"sleepLightness"
,
"浅度睡眠"
),
SOBER
(
"sober"
,
"清醒"
),
GETUP
(
"getup"
,
"起床"
),
SLEEP
(
"sleep"
,
"睡觉"
);
private
String
code
;
private
String
value
;
/**
* 睡眠类型 1 睡眠 2 小憩,3:深度睡眠,4:中度睡眠,5:浅度睡眠, 6:清醒,7:离床
*/
SLEEP_DEEP
(
"sleepDeep"
,
"深度睡眠"
,
3
),
SLEEP_MODERATE
(
"sleepModerate"
,
"中度睡眠"
,
4
),
SLEEP_LIGHTNESS
(
"sleepLightness"
,
"浅度睡眠"
,
5
),
SOBER
(
"sober"
,
"清醒"
,
6
),
GETUP
(
"getup"
,
"起床"
,
7
),
SLEEP
(
"sleep"
,
"睡觉"
,
1
),
RESTING
(
"resting"
,
"小憩"
,
2
);
private
final
String
code
;
private
final
String
value
;
private
final
Integer
type
;
public
static
SleepTypeEnum
getSleepType
(
String
code
)
{
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportDayServiceImpl.java
View file @
14da9f8e
...
...
@@ -2,9 +2,7 @@ package com.makeit.service.platform.elder.impl;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.google.common.collect.Lists
;
...
...
@@ -19,9 +17,7 @@ import com.makeit.enums.CommonEnum;
import
com.makeit.enums.platform.alarm.PlatAlarmConfigEnum
;
import
com.makeit.enums.report.SleepTypeEnum
;
import
com.makeit.module.iot.service.IotProductDeviceService
;
import
com.makeit.module.iot.vo.analysis.EvaluateReportVO
;
import
com.makeit.module.iot.vo.fall.DeviceInfoContentFall
;
import
com.makeit.module.iot.vo.space.DeviceInfoContentSpace
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.service.platform.alarm.PlatDayDurationRecordService
;
import
com.makeit.service.platform.elder.*
;
...
...
@@ -36,7 +32,6 @@ import com.makeit.utils.time.LocalDateTimeUtils;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO
;
import
com.makeit.vo.platform.elder.report.day.*
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -47,10 +42,7 @@ import java.time.LocalDateTime;
import
java.time.ZoneOffset
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.function.Function
;
import
java.util.function.Predicate
;
import
java.util.stream.Collectors
;
@Service
...
...
@@ -133,16 +125,16 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
if
(
platElderSleepAnalysis
==
null
)
{
return
platElderSleepEvaluationVO
;
}
//
String sleepScore = platElderSleepAnalysis.getSleepScore();
String
sleepScore
=
platElderSleepAnalysis
.
getSleepScore
();
Long
sleepScore
=
getSleepScore
(
platElderSleepAnalysis
);
//
Long sleepScore = getSleepScore(platElderSleepAnalysis);
EvaluateReportVO
evaluateReport
=
sleepEvaluateReportService
.
getByScore
(
sleepScore
);
//
EvaluateReportVO evaluateReport = sleepEvaluateReportService.getByScore(sleepScore);
platElderSleepEvaluationVO
.
setScore
(
Integer
.
valueOf
(
sleepScore
+
""
));
platElderSleepEvaluationVO
.
setResult
(
platElderSleepAnalysis
.
getSleepResult
());
platElderSleepEvaluationVO
.
setEvaluation
(
evaluateReport
.
get
Evaluate
());
platElderSleepEvaluationVO
.
setEvaluation
(
platElderSleepAnalysis
.
getSleep
Evaluate
());
platElderSleepEvaluationVO
.
setSleepDuration
(
Integer
.
valueOf
(
platElderSleepAnalysis
.
getSleepTime
()
+
""
));
platElderSleepEvaluationVO
.
setRestDuration
(
Integer
.
valueOf
(
platElderSleepAnalysis
.
getRestTime
()
+
""
));
...
...
@@ -208,8 +200,9 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
String
nowString
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
).
format
(
now
);
String
elderId
=
platElderIdDTO
.
getElderId
();
if
(
StringUtils
.
isNotEmpty
(
platElderIdDTO
.
getDeviceId
()))
{
PlatElder
platElder
=
platElderService
.
getByDeviceId
(
platElderIdDTO
.
getDeviceId
(),
platElderIdDTO
.
getTenantId
());
String
deviceId
=
platElderIdDTO
.
getDeviceId
();
if
(
StringUtils
.
isNotEmpty
(
deviceId
))
{
PlatElder
platElder
=
platElderService
.
getByDeviceId
(
deviceId
,
platElderIdDTO
.
getTenantId
());
if
(
platElder
!=
null
)
{
elderId
=
platElder
.
getId
();
}
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderSleepServiceImpl.java
View file @
14da9f8e
...
...
@@ -279,8 +279,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
* @param riseActionDuration
* @param sleepTimeAnalysisVOList
*/
private
void
get
WakeUpDate
(
TreeMap
<
String
,
AnalysisVO
>
totalMap
,
double
riseLeaveThreshold
,
int
riseActionDuration
,
double
repeatSleepThreshold
,
List
<
SleepTimeAnalysisVO
>
sleepTimeAnalysisVOList
)
{
private
void
get
Up
(
TreeMap
<
String
,
AnalysisVO
>
totalMap
,
double
riseLeaveThreshold
,
int
riseActionDuration
,
double
repeatSleepThreshold
,
List
<
SleepTimeAnalysisVO
>
sleepTimeAnalysisVOList
)
{
// 起床时间
String
startGetupTime
=
null
;
int
getupMinute
=
0
;
...
...
@@ -448,8 +448,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
* @param sleepTypeMap
* @param sleepTimeAnalysisVOList
*/
private
void
wakeUp
(
TreeMap
<
String
,
TreeMap
<
String
,
AnalysisVO
>>
sleepTypeMap
,
List
<
SleepTimeAnalysisVO
>
sleepTimeAnalysisVOList
)
{
private
void
sober
(
TreeMap
<
String
,
TreeMap
<
String
,
AnalysisVO
>>
sleepTypeMap
,
List
<
SleepTimeAnalysisVO
>
sleepTimeAnalysisVOList
)
{
// 清醒
int
awakeMinute
=
0
;
String
startAwakeTime
=
null
;
// 入睡时间开始
...
...
@@ -647,12 +647,50 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
return
elderSleepAnalysis
;
}
private
List
<
PlatElderSleep
>
saveElderSleep
(
SleepTimeDTO
sleepTimeDTO
,
String
platElderId
,
String
currentDate
)
{
private
List
<
PlatElderSleep
>
saveElderSleep
(
SleepTimeDTO
sleepTimeDTO
,
String
platElderId
,
String
currentDate
)
{
List
<
PlatElderSleep
>
elderSleepList
=
new
ArrayList
<>();
List
<
SleepTimeAnalysisVO
>
deepList
=
sleepTimeDTO
.
getDeepList
();
List
<
SleepTimeAnalysisVO
>
moderateList
=
sleepTimeDTO
.
getMidList
();
List
<
SleepTimeAnalysisVO
>
lightList
=
sleepTimeDTO
.
getLightList
();
List
<
SleepTimeAnalysisVO
>
soberList
=
sleepTimeDTO
.
getSoberList
();
List
<
SleepTimeAnalysisVO
>
daySleepList
=
sleepTimeDTO
.
getDaySleepList
();
List
<
SleepTimeAnalysisVO
>
restList
=
sleepTimeDTO
.
getRestList
();
if
(
CollUtil
.
isNotEmpty
(
daySleepList
))
{
for
(
SleepTimeAnalysisVO
analysisVO
:
daySleepList
)
{
PlatSleepRangeVO
sleepRangeVO
=
new
PlatSleepRangeVO
();
sleepRangeVO
.
setStartTime
(
analysisVO
.
getStartTime
());
sleepRangeVO
.
setEndTime
(
analysisVO
.
getEndTime
());
sleepRangeVO
.
setSleepType
(
analysisVO
.
getType
());
PlatElderSleep
platElderSleep
=
new
PlatElderSleep
();
platElderSleep
.
setStartSleep
(
LocalDateTime
.
parse
(
analysisVO
.
getStartTime
(),
DEFAULT_FORMATTER
));
platElderSleep
.
setEndSleep
(
LocalDateTime
.
parse
(
analysisVO
.
getEndTime
(),
DEFAULT_FORMATTER
));
platElderSleep
.
setElderId
(
platElderId
);
platElderSleep
.
setElderSleepType
(
SleepTypeEnum
.
SLEEP
.
getType
());
platElderSleep
.
setSleepRecord
(
Lists
.
newArrayList
(
sleepRangeVO
));
platElderSleep
.
setInterval
(
analysisVO
.
getInterval
());
platElderSleep
.
setHappenDate
(
currentDate
);
elderSleepList
.
add
(
platElderSleep
);
}
}
if
(
CollUtil
.
isNotEmpty
(
restList
))
{
for
(
SleepTimeAnalysisVO
analysisVO
:
restList
)
{
PlatSleepRangeVO
sleepRangeVO
=
new
PlatSleepRangeVO
();
sleepRangeVO
.
setStartTime
(
analysisVO
.
getStartTime
());
sleepRangeVO
.
setEndTime
(
analysisVO
.
getEndTime
());
sleepRangeVO
.
setSleepType
(
analysisVO
.
getType
());
PlatElderSleep
platElderSleep
=
new
PlatElderSleep
();
platElderSleep
.
setStartSleep
(
LocalDateTime
.
parse
(
analysisVO
.
getStartTime
(),
DEFAULT_FORMATTER
));
platElderSleep
.
setEndSleep
(
LocalDateTime
.
parse
(
analysisVO
.
getEndTime
(),
DEFAULT_FORMATTER
));
platElderSleep
.
setElderId
(
platElderId
);
platElderSleep
.
setElderSleepType
(
SleepTypeEnum
.
RESTING
.
getType
());
platElderSleep
.
setSleepRecord
(
Lists
.
newArrayList
(
sleepRangeVO
));
platElderSleep
.
setInterval
(
analysisVO
.
getInterval
());
platElderSleep
.
setHappenDate
(
currentDate
);
elderSleepList
.
add
(
platElderSleep
);
}
}
if
(
CollUtil
.
isNotEmpty
(
deepList
))
{
for
(
SleepTimeAnalysisVO
analysisVO
:
deepList
)
{
PlatSleepRangeVO
sleepRangeVO
=
new
PlatSleepRangeVO
();
...
...
@@ -664,7 +702,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
platElderSleep
.
setStartSleep
(
LocalDateTime
.
parse
(
analysisVO
.
getStartTime
(),
DEFAULT_FORMATTER
));
platElderSleep
.
setEndSleep
(
LocalDateTime
.
parse
(
analysisVO
.
getEndTime
(),
DEFAULT_FORMATTER
));
platElderSleep
.
setElderId
(
platElderId
);
platElderSleep
.
setElderSleepType
(
3
);
platElderSleep
.
setElderSleepType
(
SleepTypeEnum
.
SLEEP_DEEP
.
getType
()
);
platElderSleep
.
setSleepRecord
(
Lists
.
newArrayList
(
sleepRangeVO
));
platElderSleep
.
setInterval
(
analysisVO
.
getInterval
());
platElderSleep
.
setHappenDate
(
currentDate
);
...
...
@@ -682,7 +720,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
platElderSleep
.
setStartSleep
(
LocalDateTime
.
parse
(
analysisVO
.
getStartTime
(),
DEFAULT_FORMATTER
));
platElderSleep
.
setEndSleep
(
LocalDateTime
.
parse
(
analysisVO
.
getEndTime
(),
DEFAULT_FORMATTER
));
platElderSleep
.
setElderId
(
platElderId
);
platElderSleep
.
setElderSleepType
(
4
);
platElderSleep
.
setElderSleepType
(
SleepTypeEnum
.
SLEEP_MODERATE
.
getType
()
);
platElderSleep
.
setSleepRecord
(
Lists
.
newArrayList
(
sleepRangeVO
));
platElderSleep
.
setInterval
(
analysisVO
.
getInterval
());
platElderSleep
.
setHappenDate
(
currentDate
);
...
...
@@ -700,7 +738,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
platElderSleep
.
setStartSleep
(
LocalDateTime
.
parse
(
analysisVO
.
getStartTime
(),
DEFAULT_FORMATTER
));
platElderSleep
.
setEndSleep
(
LocalDateTime
.
parse
(
analysisVO
.
getEndTime
(),
DEFAULT_FORMATTER
));
platElderSleep
.
setElderId
(
platElderId
);
platElderSleep
.
setElderSleepType
(
5
);
platElderSleep
.
setElderSleepType
(
SleepTypeEnum
.
SLEEP_LIGHTNESS
.
getType
()
);
platElderSleep
.
setSleepRecord
(
Lists
.
newArrayList
(
sleepRangeVO
));
platElderSleep
.
setInterval
(
analysisVO
.
getInterval
());
platElderSleep
.
setHappenDate
(
currentDate
);
...
...
@@ -718,7 +756,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
platElderSleep
.
setStartSleep
(
LocalDateTime
.
parse
(
analysisVO
.
getStartTime
(),
DEFAULT_FORMATTER
));
platElderSleep
.
setEndSleep
(
LocalDateTime
.
parse
(
analysisVO
.
getEndTime
(),
DEFAULT_FORMATTER
));
platElderSleep
.
setElderId
(
platElderId
);
platElderSleep
.
setElderSleepType
(
6
);
platElderSleep
.
setElderSleepType
(
SleepTypeEnum
.
SOBER
.
getType
()
);
platElderSleep
.
setSleepRecord
(
Lists
.
newArrayList
(
sleepRangeVO
));
platElderSleep
.
setInterval
(
analysisVO
.
getInterval
());
platElderSleep
.
setHappenDate
(
currentDate
);
...
...
@@ -737,7 +775,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
platElderSleep
.
setStartSleep
(
LocalDateTime
.
parse
(
analysisVO
.
getStartTime
(),
DEFAULT_FORMATTER
));
platElderSleep
.
setEndSleep
(
LocalDateTime
.
parse
(
analysisVO
.
getEndTime
(),
DEFAULT_FORMATTER
));
platElderSleep
.
setElderId
(
platElderId
);
platElderSleep
.
setElderSleepType
(
7
);
platElderSleep
.
setElderSleepType
(
SleepTypeEnum
.
GETUP
.
getType
()
);
platElderSleep
.
setSleepRecord
(
Lists
.
newArrayList
(
sleepRangeVO
));
platElderSleep
.
setInterval
(
analysisVO
.
getInterval
());
platElderSleep
.
setHappenDate
(
currentDate
);
...
...
@@ -839,10 +877,10 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
// 中度睡眠
middleSleep
(
sleepTypeMap
,
analysisModel
,
sleepTimeAnalysisVOList
);
// 清醒
wakeUp
(
sleepTypeMap
,
sleepTimeAnalysisVOList
);
// 起床
时间
get
WakeUpDate
(
totalMap
,
riseLeaveThreshold
,
riseActionDuration
,
repeatSleepThreshold
,
sleepTimeAnalysisVOList
);
//
获取各种睡眠类型的数据
sober
(
sleepTypeMap
,
sleepTimeAnalysisVOList
);
// 起床
get
Up
(
totalMap
,
riseLeaveThreshold
,
riseActionDuration
,
repeatSleepThreshold
,
sleepTimeAnalysisVOList
);
//
小憩、睡眠
SleepTimeDTO
sleepTimeDTO
=
groupSleepData
(
sleepTimeAnalysisVOList
,
repeatSleepThreshold
,
sleepThreshold
);
if
(
CollUtil
.
isEmpty
(
sleepTimeDTO
.
getSleepList
()))
{
continue
;
...
...
server-service/src/main/java/com/makeit/vo/platform/elder/report/day/PlatElderSleepDiagramVO.java
View file @
14da9f8e
...
...
@@ -21,7 +21,7 @@ public class PlatElderSleepDiagramVO {
@ApiModelProperty
(
"图表集合"
)
private
List
<
PlatElderSleepDiagramContentVO
>
contentList
;
@ApiModelProperty
(
value
=
"睡眠类型
1 睡眠 2 小憩
"
)
@ApiModelProperty
(
value
=
"睡眠类型
1 睡眠 2 小憩,3:深度睡眠,4:中度睡眠,5:浅度睡眠, 6:清醒,7:起床
"
)
private
Integer
elderSleepType
;
...
...
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