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
a4a2088f
authored
Sep 13, 2023
by
杨伟程
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
日报周报部分接口
parent
26f803ec
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
250 additions
and
31 deletions
server-common/src/main/java/com/makeit/module/iot/service/IotProductDeviceService.java
server-common/src/main/java/com/makeit/utils/LongTimestampUtil.java
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderReportDayController.java
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderReportMonthController.java
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderReportWeekController.java
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderDayReportDayService.java
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderDayReportWeekService.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/PlatElderDayReportWeekServiceImpl.java
server-web/src/test/java/com/makeit/iotapi/IotTest.java
server-common/src/main/java/com/makeit/module/iot/service/IotProductDeviceService.java
View file @
a4a2088f
...
...
@@ -12,7 +12,9 @@ import com.makeit.module.iot.vo.IotPagerResult;
import
com.makeit.module.iot.vo.ResponseMessage
;
import
com.makeit.module.iot.vo.breathe.DeviceInfoContentBreathe
;
import
com.makeit.module.iot.vo.breathe.DeviceInfoContentSpace
;
import
com.makeit.utils.LongTimestampUtil
;
import
com.makeit.utils.data.convert.JsonUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.old.StringUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
...
...
@@ -23,6 +25,7 @@ import java.time.Duration;
import
java.time.Instant
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.time.format.DateTimeFormatter
;
import
java.util.List
;
/**
...
...
@@ -95,7 +98,7 @@ public class IotProductDeviceService extends IotCommonService {
DeviceInfoContentBreathe
breathe
=
JsonUtil
.
toObj
((
String
)
deviceOperationLogEntity
.
getContent
(),
DeviceInfoContentBreathe
.
class
);
LocalDateTime
time
=
Lo
calDateTime
.
ofInstant
(
Instant
.
ofEpochMilli
(
breathe
.
getTimestamp
()),
ZoneId
.
systemDefault
());
LocalDateTime
time
=
Lo
ngTimestampUtil
.
toLocalDateTime
(
breathe
.
getTimestamp
());
if
(
ignoreDuration
!=
null
&&
Duration
.
between
(
time
,
LocalDateTime
.
now
()).
getSeconds
()
>
ignoreDuration
)
{
return
null
;
}
...
...
@@ -110,9 +113,9 @@ public class IotProductDeviceService extends IotCommonService {
return
null
;
}
DeviceInfoContentSpace
space
=
JsonUtil
.
toObj
((
String
)
deviceOperationLogEntity
.
getContent
(),
DeviceInfoContentSpace
.
class
);
DeviceInfoContentSpace
space
=
JsonUtil
.
toObj
((
String
)
deviceOperationLogEntity
.
getContent
(),
DeviceInfoContentSpace
.
class
);
LocalDateTime
time
=
Lo
calDateTime
.
ofInstant
(
Instant
.
ofEpochMilli
(
space
.
getTimestamp
()),
ZoneId
.
systemDefault
());
LocalDateTime
time
=
Lo
ngTimestampUtil
.
toLocalDateTime
(
space
.
getTimestamp
());
if
(
ignoreDuration
!=
null
&&
Duration
.
between
(
time
,
LocalDateTime
.
now
()).
getSeconds
()
>
ignoreDuration
)
{
return
null
;
}
...
...
@@ -121,6 +124,26 @@ public class IotProductDeviceService extends IotCommonService {
}
public
List
<
DeviceInfoContentBreathe
>
getDeviceLogByTimeRangeBreathe
(
String
deviceId
,
int
pageSize
,
LocalDateTime
startTime
,
LocalDateTime
endTime
)
{
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
);
List
<
DeviceOperationLogEntity
>
deviceOperationLogEntityList
=
getDeviceLogByTimeRange
(
deviceId
,
"reportProperty"
,
pageSize
,
dateTimeFormatter
.
format
(
startTime
),
dateTimeFormatter
.
format
(
endTime
));
List
<
DeviceInfoContentBreathe
>
deviceInfoContentBreatheList
=
StreamUtil
.
map
(
deviceOperationLogEntityList
,
e
->
JsonUtil
.
toObj
((
String
)
e
.
getContent
(),
DeviceInfoContentBreathe
.
class
));
return
deviceInfoContentBreatheList
;
}
public
List
<
DeviceInfoContentSpace
>
getDeviceLogByTimeRangeSpace
(
String
deviceId
,
int
pageSize
,
LocalDateTime
startTime
,
LocalDateTime
endTime
)
{
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
);
List
<
DeviceOperationLogEntity
>
deviceOperationLogEntityList
=
getDeviceLogByTimeRange
(
deviceId
,
"reportProperty"
,
pageSize
,
dateTimeFormatter
.
format
(
startTime
),
dateTimeFormatter
.
format
(
endTime
));
List
<
DeviceInfoContentSpace
>
deviceInfoContentSpaceList
=
StreamUtil
.
map
(
deviceOperationLogEntityList
,
e
->
JsonUtil
.
toObj
((
String
)
e
.
getContent
(),
DeviceInfoContentSpace
.
class
));
return
deviceInfoContentSpaceList
;
}
/**
* 根据类型查询设备日志
...
...
@@ -171,13 +194,24 @@ public class IotProductDeviceService extends IotCommonService {
}
public
List
<
DeviceOperationLogEntity
>
getDeviceLogByTimeRange
(
String
deviceId
,
int
pageSize
,
String
startTime
,
String
endTime
)
{
public
List
<
DeviceOperationLogEntity
>
getDeviceLogByTimeRange
(
String
deviceId
,
String
typeValue
,
int
pageSize
,
String
startTime
,
String
endTime
)
{
IotQueryParam
iotQueryParam
=
buildQueryParam
(
pageSize
);
List
<
Term
>
terms
=
Lists
.
newArrayList
();
Term
term
=
Term
.
builder
()
.
column
(
"type"
)
.
termType
(
"btw"
)
.
type
(
Term
.
Type
.
or
)
.
value
(
typeValue
)
.
terms
(
Lists
.
newArrayList
())
.
options
(
Lists
.
newArrayList
())
.
build
();
terms
.
add
(
term
);
Term
term1
=
Term
.
builder
()
.
column
(
"timestamp"
)
.
termType
(
"gte"
)
.
type
(
Term
.
Type
.
or
)
.
type
(
Term
.
Type
.
and
)
.
value
(
startTime
)
.
terms
(
Lists
.
newArrayList
())
.
options
(
Lists
.
newArrayList
())
...
...
server-common/src/main/java/com/makeit/utils/LongTimestampUtil.java
0 → 100644
View file @
a4a2088f
package
com
.
makeit
.
utils
;
import
java.time.Instant
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
public
class
LongTimestampUtil
{
public
static
LocalDateTime
toLocalDateTime
(
Long
timestamp
)
{
if
(
timestamp
==
null
)
{
return
null
;
}
LocalDateTime
time
=
LocalDateTime
.
ofInstant
(
Instant
.
ofEpochMilli
(
timestamp
),
ZoneId
.
systemDefault
());
return
time
;
}
}
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderReportDayController.java
View file @
a4a2088f
...
...
@@ -2,12 +2,15 @@ package com.makeit.module.controller.elder;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.elder.PlatElderIdDTO
;
import
com.makeit.service.platform.elder.PlatElderDayReportDayService
;
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
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -28,6 +31,9 @@ import java.util.List;
@RequestMapping
(
"/plat/elder/report/day"
)
public
class
PlatElderReportDayController
{
@Autowired
private
PlatElderDayReportDayService
platElderDayReportDayService
;
@ApiOperation
(
"睡眠评价"
)
@PostMapping
(
"sleepEvaluation"
)
public
ApiResponseEntity
<
PlatElderSleepEvaluationVO
>
sleepEvaluation
(
@RequestBody
PlatElderIdDTO
platElderIdDTO
)
{
...
...
@@ -61,7 +67,7 @@ public class PlatElderReportDayController {
@ApiOperation
(
"心率呼吸率"
)
@PostMapping
(
"heartRespiratory"
)
public
ApiResponseEntity
<
List
<
PlatElderRealTimeHeartRespiratoryVO
>>
heartRespiratory
(
@RequestBody
PlatElderIdDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
heartRespiratory
(
platElderIdDTO
))
;
}
@ApiOperation
(
"行为异常记录"
)
...
...
@@ -79,7 +85,7 @@ public class PlatElderReportDayController {
@ApiOperation
(
"坐标记录"
)
@PostMapping
(
"coordinateList"
)
public
ApiResponseEntity
<
List
<
PlatElderCoordinateVO
>>
coordinateList
(
@RequestBody
PlatElderIdDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
coordinateList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"行为辐射"
)
...
...
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderReportMonthController.java
View file @
a4a2088f
...
...
@@ -2,7 +2,7 @@ package com.makeit.module.controller.elder;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.dto.platform.elder.PlatElder
Id
DTO
;
import
com.makeit.dto.platform.elder.PlatElder
Report
DTO
;
import
com.makeit.vo.platform.elder.report.day.PlatElderHeartRespiratoryEvaluationVO
;
import
com.makeit.vo.platform.elder.report.day.PlatElderReportMonthVO
;
import
com.makeit.vo.platform.elder.report.day.PlatElderSleepEvaluationVO
;
...
...
@@ -29,26 +29,26 @@ public class PlatElderReportMonthController {
@ApiOperation
(
"综合评价"
)
@PostMapping
(
"comprehensiveEvaluation"
)
public
ApiResponseEntity
<
PlatElderComprehensiveEvaluationVO
>
comprehensiveEvaluation
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
PlatElderComprehensiveEvaluationVO
>
comprehensiveEvaluation
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
null
;
}
@ApiOperation
(
"睡眠评价"
)
@PostMapping
(
"sleepEvaluation"
)
public
ApiResponseEntity
<
PlatElderSleepEvaluationVO
>
sleepEvaluation
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
PlatElderSleepEvaluationVO
>
sleepEvaluation
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
null
;
}
@ApiOperation
(
"心率呼吸评价"
)
@PostMapping
(
"heartRespiratoryEvaluation"
)
public
ApiResponseEntity
<
PlatElderHeartRespiratoryEvaluationVO
>
heartRespiratoryEvaluation
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
PlatElderHeartRespiratoryEvaluationVO
>
heartRespiratoryEvaluation
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
null
;
}
@ApiOperation
(
"月报表"
)
@PostMapping
(
"reportMonth"
)
public
ApiResponseEntity
<
PlatElderReportMonthVO
>
reportMonth
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
PlatElderReportMonthVO
>
reportMonth
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
null
;
}
...
...
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderReportWeekController.java
View file @
a4a2088f
...
...
@@ -2,14 +2,17 @@ package com.makeit.module.controller.elder;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.dto.platform.elder.PlatElderIdDTO
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.elder.PlatElderReportDTO
;
import
com.makeit.service.platform.elder.PlatElderDayReportWeekService
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
com.makeit.vo.platform.elder.report.week.PlatElderComprehensiveEvaluationVO
;
import
com.makeit.vo.platform.elder.report.day.*
;
import
com.makeit.vo.platform.elder.report.week.PlatElderComprehensiveEvaluationVO
;
import
com.makeit.vo.platform.elder.report.week.PlatElderRealTimeHeartRespiratoryWeekVO
;
import
com.makeit.vo.platform.elder.report.week.PlatElderSleepDiagramWeekVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -30,69 +33,72 @@ import java.util.List;
@RequestMapping
(
"/plat/elder/report/week"
)
public
class
PlatElderReportWeekController
{
@Autowired
private
PlatElderDayReportWeekService
platElderDayReportWeekService
;
@ApiOperation
(
"综合评价"
)
@PostMapping
(
"comprehensiveEvaluation"
)
public
ApiResponseEntity
<
PlatElderComprehensiveEvaluationVO
>
comprehensiveEvaluation
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
PlatElderComprehensiveEvaluationVO
>
comprehensiveEvaluation
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
null
;
}
@ApiOperation
(
"睡眠评价"
)
@PostMapping
(
"sleepEvaluation"
)
public
ApiResponseEntity
<
PlatElderSleepEvaluationVO
>
sleepEvaluation
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
PlatElderSleepEvaluationVO
>
sleepEvaluation
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
null
;
}
@ApiOperation
(
"睡眠图表"
)
@PostMapping
(
"sleepDiagram"
)
public
ApiResponseEntity
<
List
<
PlatElderSleepDiagramWeekVO
>>
sleepDiagram
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
List
<
PlatElderSleepDiagramWeekVO
>>
sleepDiagram
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
null
;
}
@ApiOperation
(
"心率呼吸评价"
)
@PostMapping
(
"heartRespiratoryEvaluation"
)
public
ApiResponseEntity
<
PlatElderHeartRespiratoryEvaluationVO
>
heartRespiratoryEvaluation
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
PlatElderHeartRespiratoryEvaluationVO
>
heartRespiratoryEvaluation
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
null
;
}
@ApiOperation
(
"心率异常记录"
)
@PostMapping
(
"heartExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>>
heartExceptionRecordList
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>>
heartExceptionRecordList
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
null
;
}
@ApiOperation
(
"呼吸率异常记录"
)
@PostMapping
(
"respiratoryExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>>
respiratoryExceptionRecordList
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>>
respiratoryExceptionRecordList
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
null
;
}
@ApiOperation
(
"心率呼吸率"
)
@PostMapping
(
"heartRespiratory"
)
public
ApiResponseEntity
<
PlatElderRealTimeHeartRespiratoryWeekVO
>
heartRespiratory
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
PlatElderRealTimeHeartRespiratoryWeekVO
>
heartRespiratory
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
null
;
}
@ApiOperation
(
"行为异常记录"
)
@PostMapping
(
"behaviorExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderBehaviorExceptionRecordVO
>>
behaviorExceptionRecordList
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
List
<
PlatElderBehaviorExceptionRecordVO
>>
behaviorExceptionRecordList
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
null
;
}
@ApiOperation
(
"跌倒记录"
)
@PostMapping
(
"failRecordList"
)
public
ApiResponseEntity
<
List
<
String
>>
failRecordList
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
List
<
String
>>
failRecordList
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
null
;
}
@ApiOperation
(
"坐标记录"
)
@PostMapping
(
"coordinateList"
)
public
ApiResponseEntity
<
List
<
PlatElderCoordinateVO
>>
coordinateList
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
return
null
;
public
ApiResponseEntity
<
List
<
PlatElderCoordinateVO
>>
coordinateList
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
coordinateList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"行为辐射"
)
@PostMapping
(
"behaviorDistribution"
)
public
ApiResponseEntity
<
List
<
PlatElderBehaviorDistributionVO
>>
behaviorDistribution
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
List
<
PlatElderBehaviorDistributionVO
>>
behaviorDistribution
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
null
;
}
...
...
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderDayReportDayService.java
View file @
a4a2088f
...
...
@@ -2,10 +2,9 @@ package com.makeit.service.platform.elder;
import
com.makeit.dto.platform.elder.PlatElderIdDTO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeBodyVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeNowVO
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
...
...
@@ -18,4 +17,10 @@ import java.util.List;
*/
public
interface
PlatElderDayReportDayService
{
List
<
PlatElderRealTimeHeartRespiratoryVO
>
heartRespiratory
(
PlatElderIdDTO
platElderIdDTO
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderIdDTO
platElderIdDTO
);
}
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderDayReportWeekService.java
0 → 100644
View file @
a4a2088f
package
com
.
makeit
.
service
.
platform
.
elder
;
import
com.makeit.dto.platform.elder.PlatElderIdDTO
;
import
com.makeit.dto.platform.elder.PlatElderReportDTO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO
;
import
java.util.List
;
/**
* <p>
* 长者健康状态 服务类
* </p>
*
* @author eugene young
* @since 2023-08-29
*/
public
interface
PlatElderDayReportWeekService
{
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderReportDTO
platElderIdDTO
);
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportDayServiceImpl.java
View file @
a4a2088f
package
com
.
makeit
.
service
.
platform
.
elder
.
impl
;
import
com.makeit.dto.platform.elder.PlatElderIdDTO
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.module.iot.service.IotProductDeviceService
;
import
com.makeit.module.iot.vo.breathe.DeviceInfoContentBreathe
;
import
com.makeit.module.iot.vo.breathe.DeviceInfoContentSpace
;
import
com.makeit.service.platform.elder.PlatElderDayReportDayService
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.utils.LongTimestampUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.data.validate.CollectionUtils
;
import
com.makeit.utils.time.LocalDateTimeUtils
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
public
class
PlatElderDayReportDayServiceImpl
implements
PlatElderDayReportDayService
{
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
@Service
public
class
PlatElderDayReportDayServiceImpl
implements
PlatElderDayReportDayService
{
@Autowired
private
PlatElderService
platElderService
;
@Autowired
private
IotProductDeviceService
iotProductDeviceService
;
@Override
public
List
<
PlatElderRealTimeHeartRespiratoryVO
>
heartRespiratory
(
PlatElderIdDTO
platElderIdDTO
)
{
PlatDevice
platDevice
=
platElderService
.
getBreathDevice
(
platElderIdDTO
.
getElderId
());
if
(
platDevice
==
null
)
{
return
new
ArrayList
<>(
10
);
}
LocalDateTime
now
=
LocalDateTime
.
now
();
LocalDateTime
start
=
LocalDateTimeUtils
.
getDayStart
(
now
);
LocalDateTime
end
=
LocalDateTimeUtils
.
getDayEnd
(
now
);
List
<
DeviceInfoContentBreathe
>
breatheList
=
iotProductDeviceService
.
getDeviceLogByTimeRangeBreathe
(
platDevice
.
getOriDeviceId
(),
2
*
24
*
3600
,
start
,
end
);
List
<
PlatElderRealTimeHeartRespiratoryVO
>
voList
=
StreamUtil
.
map
(
breatheList
,
e
->
{
PlatElderRealTimeHeartRespiratoryVO
vo
=
new
PlatElderRealTimeHeartRespiratoryVO
();
vo
.
setTime
(
LongTimestampUtil
.
toLocalDateTime
(
e
.
getTimestamp
()));
vo
.
setHeartRate
(
e
.
getProperties
().
getHr
());
vo
.
setRespiratoryRate
(
e
.
getProperties
().
getBr
());
return
vo
;
});
return
voList
;
}
@Override
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
LocalDateTime
start
,
LocalDateTime
end
)
{
List
<
PlatDevice
>
platDeviceList
=
platElderService
.
getSpaceDevice
(
elderId
);
if
(
CollectionUtils
.
isEmpty
(
platDeviceList
))
{
return
new
ArrayList
<>(
10
);
}
List
<
PlatElderCoordinateVO
>
voList
=
new
ArrayList
<>(
10
);
platDeviceList
.
forEach
(
e
->
{
List
<
DeviceInfoContentSpace
>
spaceList
=
iotProductDeviceService
.
getDeviceLogByTimeRangeSpace
(
e
.
getOriDeviceId
(),
2
*
24
*
3600
,
start
,
end
);
voList
.
addAll
(
StreamUtil
.
map
(
spaceList
,
i
->
{
PlatElderCoordinateVO
vo
=
new
PlatElderCoordinateVO
();
vo
.
setX
(
new
BigDecimal
(
i
.
getProperties
().
getDistance
()).
multiply
(
new
BigDecimal
(
Math
.
cos
(
i
.
getProperties
().
getAngle
())
+
""
)).
setScale
(
2
,
RoundingMode
.
HALF_UP
));
vo
.
setY
(
new
BigDecimal
(
i
.
getProperties
().
getDistance
()).
multiply
(
new
BigDecimal
(
Math
.
sin
(
i
.
getProperties
().
getAngle
())
+
""
)).
setScale
(
2
,
RoundingMode
.
HALF_UP
));
return
vo
;
})
);
});
return
voList
;
}
@Override
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderIdDTO
platElderIdDTO
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
LocalDateTime
start
=
LocalDateTimeUtils
.
getDayStart
(
now
);
LocalDateTime
end
=
LocalDateTimeUtils
.
getDayEnd
(
now
);
return
coordinateList
(
platElderIdDTO
.
getElderId
(),
start
,
end
);
}
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportWeekServiceImpl.java
0 → 100644
View file @
a4a2088f
package
com
.
makeit
.
service
.
platform
.
elder
.
impl
;
import
com.makeit.dto.platform.elder.PlatElderReportDTO
;
import
com.makeit.module.iot.service.IotProductDeviceService
;
import
com.makeit.service.platform.elder.PlatElderDayReportDayService
;
import
com.makeit.service.platform.elder.PlatElderDayReportWeekService
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
PlatElderDayReportWeekServiceImpl
implements
PlatElderDayReportWeekService
{
@Autowired
private
PlatElderDayReportDayService
platElderDayReportDayService
;
@Autowired
private
PlatElderService
platElderService
;
@Autowired
private
IotProductDeviceService
iotProductDeviceService
;
@Override
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderReportDTO
platElderIdDTO
)
{
return
platElderDayReportDayService
.
coordinateList
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getStartTime
(),
platElderIdDTO
.
getEndTime
());
}
}
server-web/src/test/java/com/makeit/iotapi/IotTest.java
View file @
a4a2088f
...
...
@@ -64,7 +64,7 @@ public class IotTest {
@Test
void
getDeviceLogByTimeRange
()
{
iotProductDeviceService
.
getDeviceLogByTimeRange
(
"1701127702523473920"
,
100
,
"2023-09-12 00:00:00"
,
"2023-09-12 23:59:00"
);
iotProductDeviceService
.
getDeviceLogByTimeRange
(
"1701127702523473920"
,
"reportProperty"
,
100
,
"2023-09-12 00:00:00"
,
"2023-09-12 23:59:00"
);
}
@Test
...
...
@@ -74,6 +74,6 @@ public class IotTest {
@Test
void
updateIotOrgInfo
()
{
iotOrgService
.
updateIotOrgInfo
(
"1698964909267415040"
,
"lxl2234"
);
iotOrgService
.
updateIotOrgInfo
(
"1698964909267415040"
,
"lxl2234"
);
}
}
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