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
16949764
authored
Dec 29, 2023
by
罗志长
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge branch 'dev'
parents
633933d2
1d7be20b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
49 changed files
with
756 additions
and
118 deletions
db/上线后sql/update.sql
saas-module/src/main/java/com/makeit/controller/device/SaasDeviceReportDayController.java
server-api/src/main/java/com/makeit/api/external/controller/IotPlatExternalController.java
server-api/src/main/java/com/makeit/api/external/util/RSAUtils.java
server-common/src/main/java/com/makeit/global/inteceptor/RequestIdInterceptor.java
server-common/src/main/java/com/makeit/module/iot/service/IotDevicePropertiesOperateService.java
server-common/src/main/java/com/makeit/module/iot/service/IotOrgService.java
server-common/src/main/java/com/makeit/module/iot/vo/analysis/SaasSleepEvaluateStandardReportVO.java
server-module/src/main/java/com/makeit/module/controller/children/space/PlatRegionSettingFixChildrenController.java
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderSleepController.java
server-module/src/main/java/com/makeit/module/controller/space/PlatRegionSettingFixController.java
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/PlatAlarmRecordWechatController.java
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatRegionSettingFixWechatController.java
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlarmCheckDTO.java
server-service/src/main/java/com/makeit/dto/platform/elder/PlatElderIdDTO.java
server-service/src/main/java/com/makeit/dto/platform/space/PlatRegionSettingFixQueryDTO.java
server-service/src/main/java/com/makeit/entity/platform/alarm/PlatAlarmRecord.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderBreatheAnalysis.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderBreatheHeartRateRecord.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderSleepAnalysis.java
server-service/src/main/java/com/makeit/enums/report/SleepTypeEnum.java
server-service/src/main/java/com/makeit/external/strategy/HuiNengStrategy.java
server-service/src/main/java/com/makeit/mapper/platform/elder/PlatElderBreatheHeartRateRecordMapper.java
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BehaviorAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BreathAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/FallAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/HeartAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/OffBedAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderBreatheHeartRateRecordService.java
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderCoordinateRecordService.java
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderDayReportDayService.java
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderRealTimeService.java
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderSleepService.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderBreatheAnalysisServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderBreatheHeartRateRecordServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderCoordinateRecordServiceImpl.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-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderRealTimeServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderSleepServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/PlatRegionSettingFixService.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRegionSettingFixServiceImpl.java
server-service/src/main/java/com/makeit/task/PlatElderReportTask.java
server-service/src/main/java/com/makeit/vo/platform/alarm/PlatAlarmExternalRecordVO.java
server-service/src/main/java/com/makeit/vo/platform/elder/realtime/PlatElderRealTimeHeartRespiratoryVO.java
server-web/src/main/java/com/makeit/mqtt/PushCallback.java
server-web/src/main/resources/logback-spring-prod.xml
db/上线后sql/update.sql
View file @
16949764
ALTER
TABLE
`plat_device_other`
ALTER
TABLE
`plat_device_other`
...
@@ -90,4 +90,35 @@ ALTER TABLE `plat_alarm_record`
...
@@ -90,4 +90,35 @@ ALTER TABLE `plat_alarm_record`
-- 12.15 end
-- 12.15 end
ALTER
TABLE
`plat_tenant`
ALTER
TABLE
`plat_tenant`
ADD
COLUMN
`open_api_url`
varchar
(
128
)
COMMENT
'第三方接口url'
AFTER
`secret`
;
ADD
COLUMN
`open_api_url`
varchar
(
128
)
COMMENT
'第三方接口url'
AFTER
`secret`
;
\ No newline at end of file
CREATE
TABLE
`plat_elder_breathe_heart_rate_record`
(
`id`
varchar
(
64
)
NOT
NULL
COMMENT
'id'
,
`create_by`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'创建者'
,
`create_date`
datetime
DEFAULT
NULL
COMMENT
'创建时间'
,
`update_by`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'更新者'
,
`update_date`
datetime
DEFAULT
NULL
COMMENT
'更新时间'
,
`del_flag`
char
(
1
)
NOT
NULL
COMMENT
' 删除标志 0否 1是 '
,
`tenant_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
' 租户id '
,
`elder_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'长者id'
,
`report_time`
bigint
(
20
)
DEFAULT
NULL
COMMENT
'上报时间'
,
`heart_rate`
int
(
11
)
DEFAULT
NULL
COMMENT
'心率'
,
`respiratory_rate`
int
(
11
)
DEFAULT
NULL
COMMENT
'呼吸率'
,
`body_move`
int
(
11
)
DEFAULT
NULL
COMMENT
'体动值'
,
`device_id`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'设备id'
,
`iot_device_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'iot设备id'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
COMPACT
COMMENT
=
'长者呼吸心率记录'
;
-- end
ALTER
TABLE
`plat_alarm_record`
ADD
COLUMN
`device_time`
varchar
(
64
)
COMMENT
'当前上报时间'
AFTER
`wechat_read_flag`
;
alter
table
plat_elder_sleep_analysis
add
column
`ori_device_id`
varchar
(
64
)
default
NULL
COMMENT
'iot设备id'
;
alter
table
plat_elder_breathe_analysis
add
column
`ori_device_id`
varchar
(
64
)
default
NULL
COMMENT
'iot设备id'
;
\ No newline at end of file
saas-module/src/main/java/com/makeit/controller/device/SaasDeviceReportDayController.java
View file @
16949764
...
@@ -59,6 +59,7 @@ public class SaasDeviceReportDayController {
...
@@ -59,6 +59,7 @@ public class SaasDeviceReportDayController {
@ApiOperation
(
"心率呼吸评价"
)
@ApiOperation
(
"心率呼吸评价"
)
@PostMapping
(
"heartRespiratoryEvaluation"
)
@PostMapping
(
"heartRespiratoryEvaluation"
)
@TenantIdIgnore
@TenantIdIgnore
@AuthIgnore
public
ApiResponseEntity
<
PlatElderHeartRespiratoryEvaluationVO
>
heartRespiratoryEvaluation
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
PlatElderHeartRespiratoryEvaluationVO
>
heartRespiratoryEvaluation
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
heartRespiratoryEvaluation
(
platElderIdDTO
));
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
heartRespiratoryEvaluation
(
platElderIdDTO
));
}
}
...
...
server-api/src/main/java/com/makeit/api/external/controller/IotPlatExternalController.java
View file @
16949764
...
@@ -7,16 +7,20 @@ import com.makeit.common.response.ApiResponseEntity;
...
@@ -7,16 +7,20 @@ import com.makeit.common.response.ApiResponseEntity;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO
;
import
com.makeit.dto.platform.device.PlatDeviceQueryDTO
;
import
com.makeit.dto.platform.device.PlatDeviceQueryDTO
;
import
com.makeit.dto.platform.elder.PlatElderIdDTO
;
import
com.makeit.dto.platform.elder.PlatElderQueryDTO
;
import
com.makeit.dto.platform.elder.PlatElderQueryDTO
;
import
com.makeit.global.annotation.AuthIgnore
;
import
com.makeit.global.annotation.AuthIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.elder.PlatElderRealTimeService
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.utils.old.StringUtils
;
import
com.makeit.utils.old.StringUtils
;
import
com.makeit.vo.platform.alarm.PlatAlarmExternalRecordVO
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
import
com.makeit.vo.platform.device.PlatDeviceListVO
;
import
com.makeit.vo.platform.device.PlatDeviceListVO
;
import
com.makeit.vo.platform.elder.PlatElderListVO
;
import
com.makeit.vo.platform.elder.PlatElderListVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.context.ApplicationContextAware
;
...
@@ -40,6 +44,8 @@ public class IotPlatExternalController {
...
@@ -40,6 +44,8 @@ public class IotPlatExternalController {
private
PlatDeviceService
platDeviceService
;
private
PlatDeviceService
platDeviceService
;
@Autowired
@Autowired
private
PlatAlarmRecordService
platAlarmRecordService
;
private
PlatAlarmRecordService
platAlarmRecordService
;
@Autowired
private
PlatElderRealTimeService
platElderRealTimeService
;
@ApiOperation
(
"长者列表"
)
@ApiOperation
(
"长者列表"
)
@PostMapping
(
"elderPage"
)
@PostMapping
(
"elderPage"
)
...
@@ -48,7 +54,7 @@ public class IotPlatExternalController {
...
@@ -48,7 +54,7 @@ public class IotPlatExternalController {
public
ApiResponseEntity
<
PageVO
<
PlatElderListVO
>>
elderPage
(
@RequestBody
PageReqDTO
<
PlatElderQueryDTO
>
page
)
{
public
ApiResponseEntity
<
PageVO
<
PlatElderListVO
>>
elderPage
(
@RequestBody
PageReqDTO
<
PlatElderQueryDTO
>
page
)
{
PlatElderQueryDTO
dto
=
page
.
getData
();
PlatElderQueryDTO
dto
=
page
.
getData
();
if
(
dto
==
null
||
StringUtils
.
isEmpty
(
dto
.
getOrgId
()))
{
if
(
dto
==
null
||
StringUtils
.
isEmpty
(
dto
.
getOrgId
()))
{
return
ApiResponseUtils
.
success
(
new
PageVO
<>
());
return
ApiResponseUtils
.
success
(
PageVO
.
emptyPage
());
}
}
return
ApiResponseUtils
.
success
(
platElderService
.
page
(
page
));
return
ApiResponseUtils
.
success
(
platElderService
.
page
(
page
));
}
}
...
@@ -61,7 +67,7 @@ public class IotPlatExternalController {
...
@@ -61,7 +67,7 @@ public class IotPlatExternalController {
public
ApiResponseEntity
<
PageVO
<
PlatDeviceListVO
>>
devicePage
(
@RequestBody
PageReqDTO
<
PlatDeviceQueryDTO
>
pageReqDTO
)
{
public
ApiResponseEntity
<
PageVO
<
PlatDeviceListVO
>>
devicePage
(
@RequestBody
PageReqDTO
<
PlatDeviceQueryDTO
>
pageReqDTO
)
{
PlatDeviceQueryDTO
dto
=
pageReqDTO
.
getData
();
PlatDeviceQueryDTO
dto
=
pageReqDTO
.
getData
();
if
(
dto
==
null
||
StringUtils
.
isEmpty
(
dto
.
getOrgId
()))
{
if
(
dto
==
null
||
StringUtils
.
isEmpty
(
dto
.
getOrgId
()))
{
return
ApiResponseUtils
.
success
(
new
PageVO
<>
());
return
ApiResponseUtils
.
success
(
PageVO
.
emptyPage
());
}
}
return
ApiResponseUtils
.
success
(
platDeviceService
.
page
(
pageReqDTO
));
return
ApiResponseUtils
.
success
(
platDeviceService
.
page
(
pageReqDTO
));
}
}
...
@@ -74,7 +80,7 @@ public class IotPlatExternalController {
...
@@ -74,7 +80,7 @@ public class IotPlatExternalController {
public
ApiResponseEntity
<
PageVO
<
PlatAlarmRecordVO
>>
page
(
@RequestBody
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
pageReqDTO
)
{
public
ApiResponseEntity
<
PageVO
<
PlatAlarmRecordVO
>>
page
(
@RequestBody
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
pageReqDTO
)
{
PlatAlarmRecordQueryDTO
dto
=
pageReqDTO
.
getData
();
PlatAlarmRecordQueryDTO
dto
=
pageReqDTO
.
getData
();
if
(
dto
==
null
||
StringUtils
.
isEmpty
(
dto
.
getOrgId
()))
{
if
(
dto
==
null
||
StringUtils
.
isEmpty
(
dto
.
getOrgId
()))
{
return
ApiResponseUtils
.
success
(
new
PageVO
<>
());
return
ApiResponseUtils
.
success
(
PageVO
.
emptyPage
());
}
}
return
ApiResponseUtils
.
success
(
platAlarmRecordService
.
page
(
pageReqDTO
));
return
ApiResponseUtils
.
success
(
platAlarmRecordService
.
page
(
pageReqDTO
));
}
}
...
@@ -88,4 +94,25 @@ public class IotPlatExternalController {
...
@@ -88,4 +94,25 @@ public class IotPlatExternalController {
return
ApiResponseUtils
.
success
();
return
ApiResponseUtils
.
success
();
}
}
@ApiOperation
(
"获取呼吸上报数据"
)
@PostMapping
(
"deviceHealthReport"
)
@TenantIdIgnore
@AuthIgnore
public
ApiResponseEntity
<
PlatElderRealTimeHeartRespiratoryVO
>
deviceHealthData
(
@RequestBody
PlatElderIdDTO
dto
)
{
return
ApiResponseUtils
.
success
(
platElderRealTimeService
.
deviceHealthReport
(
dto
));
}
@ApiOperation
(
"获取跌倒记录数据"
)
@PostMapping
(
"fallRecord"
)
@TenantIdIgnore
@AuthIgnore
public
ApiResponseEntity
<
PageVO
<
PlatAlarmExternalRecordVO
>>
fallRecord
(
@RequestBody
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
pageReqDTO
)
{
PlatAlarmRecordQueryDTO
dto
=
pageReqDTO
.
getData
();
if
(
dto
==
null
||
StringUtils
.
isEmpty
(
dto
.
getOrgId
()))
{
return
ApiResponseUtils
.
success
(
PageVO
.
emptyPage
());
}
return
ApiResponseUtils
.
success
(
platAlarmRecordService
.
fallRecord
(
pageReqDTO
));
}
}
}
server-api/src/main/java/com/makeit/api/external/util/RSAUtils.java
View file @
16949764
...
@@ -40,7 +40,16 @@ public class RSAUtils {
...
@@ -40,7 +40,16 @@ public class RSAUtils {
RSAPublicKey
publicKey
=
getPublicKey
(
PUBLIC_KEY
);
RSAPublicKey
publicKey
=
getPublicKey
(
PUBLIC_KEY
);
System
.
out
.
println
(
"------------"
);
System
.
out
.
println
(
"------------"
);
String
encrypt
=
publicEncrypt
(
"{\"page\":1,\"limit\":10,\"data\":{}}"
,
publicKey
,
"UTF-8"
);
String
encrypt
=
publicEncrypt
(
"{\n"
+
" \"page\": 1,\n"
+
" \"limit\": 10,\n"
+
" \"data\": {\n"
+
" \"alarmType\": \"1\",\n"
+
" \"orgId\": \"1701420402418446337\",\n"
+
" \"createDateFrom\": \"2023-12-15 00:00:00\",\n"
+
" \"createDateTo\": \"2023-12-15 23:59:59\"\n"
+
" }\n"
+
"}"
,
publicKey
,
"UTF-8"
);
System
.
out
.
println
(
encrypt
);
System
.
out
.
println
(
encrypt
);
...
...
server-common/src/main/java/com/makeit/global/inteceptor/RequestIdInterceptor.java
View file @
16949764
...
@@ -23,8 +23,8 @@ public class RequestIdInterceptor implements HandlerInterceptor {
...
@@ -23,8 +23,8 @@ public class RequestIdInterceptor implements HandlerInterceptor {
RequestIdUtil
.
set
();
RequestIdUtil
.
set
();
logger
.
info
(
"本次请求ip:{},remoteAddr:{}"
,
IpUtil
.
getIp
(),
IpUtil
.
getRemoteAddr
());
//
logger.info("本次请求ip:{},remoteAddr:{}", IpUtil.getIp(),IpUtil.getRemoteAddr());
logger
.
info
(
"本次请求路径: {}"
,
request
.
getRequestURI
());
//
logger.info("本次请求路径: {}", request.getRequestURI());
return
true
;
return
true
;
}
}
...
...
server-common/src/main/java/com/makeit/module/iot/service/IotDevicePropertiesOperateService.java
View file @
16949764
...
@@ -102,11 +102,11 @@ public class IotDevicePropertiesOperateService extends IotCommonService {
...
@@ -102,11 +102,11 @@ public class IotDevicePropertiesOperateService extends IotCommonService {
return
""
;
return
""
;
}
}
public
String
deviceFunctionAttr
(
String
deviceId
,
Long
timestamp
)
{
public
String
deviceFunctionAttr
(
String
deviceId
,
String
alarmId
)
{
String
url
=
iotUrl
+
"device/invoked/"
+
deviceId
+
"/function/misinformation"
;
String
url
=
iotUrl
+
"device/invoked/"
+
deviceId
+
"/function/misinformation"
;
Map
<
String
,
Map
<
String
,
Object
>>
map
=
Maps
.
newHashMap
();
Map
<
String
,
Map
<
String
,
Object
>>
map
=
Maps
.
newHashMap
();
Map
<
String
,
Object
>
reqMap
=
Maps
.
newHashMap
();
Map
<
String
,
Object
>
reqMap
=
Maps
.
newHashMap
();
reqMap
.
put
(
"
timestamp"
,
timestamp
);
reqMap
.
put
(
"
alarmId"
,
alarmId
);
reqMap
.
put
(
"url"
,
uploadUrl
);
reqMap
.
put
(
"url"
,
uploadUrl
);
map
.
put
(
"misinformationNotify"
,
reqMap
);
map
.
put
(
"misinformationNotify"
,
reqMap
);
HttpRequest
request
=
buildRequest
(
url
,
JSON
.
toJSONString
(
map
));
HttpRequest
request
=
buildRequest
(
url
,
JSON
.
toJSONString
(
map
));
...
...
server-common/src/main/java/com/makeit/module/iot/service/IotOrgService.java
View file @
16949764
...
@@ -7,6 +7,7 @@ import com.google.common.collect.Maps;
...
@@ -7,6 +7,7 @@ import com.google.common.collect.Maps;
import
com.makeit.module.admin.vo.plat.PlatTenantVO
;
import
com.makeit.module.admin.vo.plat.PlatTenantVO
;
import
com.makeit.module.iot.dto.IotQueryParam
;
import
com.makeit.module.iot.dto.IotQueryParam
;
import
com.makeit.module.iot.util.HttpRequest
;
import
com.makeit.module.iot.util.HttpRequest
;
import
com.makeit.module.iot.util.Response
;
import
com.makeit.module.iot.util.SimpleHttpRequest
;
import
com.makeit.module.iot.util.SimpleHttpRequest
;
import
com.makeit.module.iot.vo.DeviceInstanceEntity
;
import
com.makeit.module.iot.vo.DeviceInstanceEntity
;
import
com.makeit.module.iot.vo.DeviceProductEntity
;
import
com.makeit.module.iot.vo.DeviceProductEntity
;
...
@@ -141,7 +142,9 @@ public class IotOrgService extends IotCommonService{
...
@@ -141,7 +142,9 @@ public class IotOrgService extends IotCommonService{
HttpRequest
request
=
buildRequest
(
url
,
body
);
HttpRequest
request
=
buildRequest
(
url
,
body
);
try
{
try
{
ResponseMessage
responseMessage
=
sendPost
(
url
,
request
);
Response
response
=
request
.
post
();
Object
result
=
JSON
.
parse
(
response
.
asBytes
());
ResponseMessage
responseMessage
=
JSON
.
parseObject
(
result
.
toString
(),
ResponseMessage
.
class
);
if
(
responseMessage
.
getStatus
()
==
200
)
{
if
(
responseMessage
.
getStatus
()
==
200
)
{
IotPagerResult
pagerResult
=
JSON
.
parseObject
(
responseMessage
.
getResult
().
toString
(),
IotPagerResult
.
class
);
IotPagerResult
pagerResult
=
JSON
.
parseObject
(
responseMessage
.
getResult
().
toString
(),
IotPagerResult
.
class
);
...
...
server-common/src/main/java/com/makeit/module/iot/vo/analysis/SaasSleepEvaluateStandardReportVO.java
View file @
16949764
package
com
.
makeit
.
module
.
iot
.
vo
.
analysis
;
package
com
.
makeit
.
module
.
iot
.
vo
.
analysis
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
@Data
@Data
public
class
SaasSleepEvaluateStandardReportVO
{
public
class
SaasSleepEvaluateStandardReportVO
{
@ApiModelProperty
(
"深睡"
)
private
Long
deepScore
;
private
Long
deepScore
;
@ApiModelProperty
(
"浅睡"
)
private
Long
lightScore
;
private
Long
lightScore
;
@ApiModelProperty
(
"清醒"
)
private
Long
soberScore
;
private
Long
soberScore
;
@ApiModelProperty
(
"睡眠"
)
private
Long
sleepScore
;
private
Long
sleepScore
;
@ApiModelProperty
(
"总得分"
)
private
Long
totalScore
;
private
Long
totalScore
;
...
...
server-module/src/main/java/com/makeit/module/controller/children/space/PlatRegionSettingFixChildrenController.java
0 → 100644
View file @
16949764
package
com
.
makeit
.
module
.
controller
.
children
.
space
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.space.PlatRegionSettingDTO
;
import
com.makeit.dto.platform.space.PlatRegionSettingFixQueryDTO
;
import
com.makeit.service.platform.space.PlatRegionSettingFixService
;
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
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
@Api
(
tags
=
"子女端小程序-区域设置固化"
)
@RestController
@RequestMapping
(
"/children/plat/region/setting/fix"
)
public
class
PlatRegionSettingFixChildrenController
{
@Autowired
private
PlatRegionSettingFixService
platRegionSettingFixService
;
@ApiOperation
(
"列表"
)
@PostMapping
(
"list"
)
public
ApiResponseEntity
<
List
<
PlatRegionSettingDTO
>>
list
(
@RequestBody
PlatRegionSettingFixQueryDTO
dto
)
{
List
<
PlatRegionSettingDTO
>
data
=
platRegionSettingFixService
.
list
(
dto
);
return
ApiResponseUtils
.
success
(
data
);
}
}
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderSleepController.java
View file @
16949764
...
@@ -6,6 +6,7 @@ import com.makeit.common.response.ApiResponseEntity;
...
@@ -6,6 +6,7 @@ import com.makeit.common.response.ApiResponseEntity;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.wechat.device.PlatDeviceAttrWechatDTO
;
import
com.makeit.dto.wechat.device.PlatDeviceAttrWechatDTO
;
import
com.makeit.entity.platform.elder.PlatElderBreatheAnalysis
;
import
com.makeit.entity.platform.elder.PlatElderBreatheAnalysis
;
import
com.makeit.entity.platform.elder.PlatElderSleepAnalysis
;
import
com.makeit.external.huineng.HuiNengService
;
import
com.makeit.external.huineng.HuiNengService
;
import
com.makeit.global.annotation.AuthIgnore
;
import
com.makeit.global.annotation.AuthIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
...
@@ -44,6 +45,8 @@ public class PlatElderSleepController {
...
@@ -44,6 +45,8 @@ public class PlatElderSleepController {
@Autowired
@Autowired
private
PlatElderCoordinateRecordService
platElderCoordinateRecordService
;
private
PlatElderCoordinateRecordService
platElderCoordinateRecordService
;
@Autowired
@Autowired
private
PlatElderBreatheHeartRateRecordService
platElderBreatheHeartRateRecordService
;
@Autowired
private
HuiNengService
huiNengService
;
private
HuiNengService
huiNengService
;
...
@@ -60,6 +63,7 @@ public class PlatElderSleepController {
...
@@ -60,6 +63,7 @@ public class PlatElderSleepController {
@ApiOperation
(
"测试"
)
@ApiOperation
(
"测试"
)
@PostMapping
(
"test2"
)
@PostMapping
(
"test2"
)
@AuthIgnore
@AuthIgnore
@TenantIdIgnore
public
ApiResponseEntity
<
Void
>
heartRespiratoryTask
()
{
public
ApiResponseEntity
<
Void
>
heartRespiratoryTask
()
{
platElderBreatheDayStatService
.
heartRespiratoryTask
();
platElderBreatheDayStatService
.
heartRespiratoryTask
();
return
ApiResponseUtils
.
success
();
return
ApiResponseUtils
.
success
();
...
@@ -68,17 +72,19 @@ public class PlatElderSleepController {
...
@@ -68,17 +72,19 @@ public class PlatElderSleepController {
@ApiOperation
(
"测试"
)
@ApiOperation
(
"测试"
)
@GetMapping
(
"test3"
)
@GetMapping
(
"test3"
)
@AuthIgnore
@AuthIgnore
@TenantIdIgnore
public
ApiResponseEntity
<
List
<
PlatElderBreatheAnalysis
>>
elderHeartRespiratoryAnalysisTask
(
@RequestParam
Integer
month
,
public
ApiResponseEntity
<
List
<
PlatElderBreatheAnalysis
>>
elderHeartRespiratoryAnalysisTask
(
@RequestParam
Integer
month
,
@RequestParam
Integer
day
)
{
@RequestParam
Integer
day
)
{
return
ApiResponseUtils
.
success
(
platElderBreatheAnalysisService
.
elderHeartRespiratoryAnalysisTask
(
month
,
day
));
return
ApiResponseUtils
.
success
(
platElderBreatheAnalysisService
.
elderHeartRespiratoryAnalysisTask
(
month
,
day
));
}
}
@ApiOperation
(
"测试"
)
@ApiOperation
(
"测试"
)
@
Pos
tMapping
(
"test4"
)
@
Ge
tMapping
(
"test4"
)
@AuthIgnore
@AuthIgnore
public
ApiResponseEntity
<
Void
>
elderSleepSleepAnalysisTask
()
{
@TenantIdIgnore
platElderSleepService
.
elderSleepSleepAnalysisTask
();
public
ApiResponseEntity
<
List
<
PlatElderSleepAnalysis
>>
elderSleepSleepAnalysisTask
(
@RequestParam
Integer
month
,
return
ApiResponseUtils
.
success
();
@RequestParam
Integer
day
)
{
return
ApiResponseUtils
.
success
(
platElderSleepService
.
elderSleepSleepAnalysisTask
(
month
,
day
));
}
}
@ApiOperation
(
"测试"
)
@ApiOperation
(
"测试"
)
...
@@ -89,6 +95,15 @@ public class PlatElderSleepController {
...
@@ -89,6 +95,15 @@ public class PlatElderSleepController {
return
ApiResponseUtils
.
success
();
return
ApiResponseUtils
.
success
();
}
}
@ApiOperation
(
"测试"
)
@PostMapping
(
"test6"
)
@AuthIgnore
@TenantIdIgnore
public
ApiResponseEntity
<
Void
>
breatheHeartRateRecordTask
()
{
platElderBreatheHeartRateRecordService
.
breatheHeartRateRecordTask
();
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"编辑设备属性"
)
@ApiOperation
(
"编辑设备属性"
)
@PostMapping
(
"editDeviceProperties"
)
@PostMapping
(
"editDeviceProperties"
)
@AuthIgnore
@AuthIgnore
...
...
server-module/src/main/java/com/makeit/module/controller/space/PlatRegionSettingFixController.java
0 → 100644
View file @
16949764
package
com
.
makeit
.
module
.
controller
.
space
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.space.PlatRegionSettingDTO
;
import
com.makeit.dto.platform.space.PlatRegionSettingFixQueryDTO
;
import
com.makeit.dto.platform.space.PlatRegionSettingQueryDTO
;
import
com.makeit.service.platform.space.PlatRegionSettingFixService
;
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
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
@Api
(
tags
=
"区域设置固化"
)
@RestController
@RequestMapping
(
"/plat/region/setting/fix"
)
public
class
PlatRegionSettingFixController
{
@Autowired
private
PlatRegionSettingFixService
platRegionSettingFixService
;
@ApiOperation
(
"列表"
)
@PostMapping
(
"list"
)
public
ApiResponseEntity
<
List
<
PlatRegionSettingDTO
>>
list
(
@RequestBody
PlatRegionSettingFixQueryDTO
dto
)
{
List
<
PlatRegionSettingDTO
>
data
=
platRegionSettingFixService
.
list
(
dto
);
return
ApiResponseUtils
.
success
(
data
);
}
}
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/PlatAlarmRecordWechatController.java
View file @
16949764
...
@@ -10,7 +10,6 @@ import com.makeit.common.response.ApiResponseEntity;
...
@@ -10,7 +10,6 @@ import com.makeit.common.response.ApiResponseEntity;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO
;
import
com.makeit.enums.report.PlatformTypeEnum
;
import
com.makeit.enums.report.PlatformTypeEnum
;
import
com.makeit.global.annotation.AuthIgnore
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.utils.user.common.CommonUserUtil
;
import
com.makeit.utils.user.common.CommonUserUtil
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
...
@@ -34,17 +33,14 @@ public class PlatAlarmRecordWechatController {
...
@@ -34,17 +33,14 @@ public class PlatAlarmRecordWechatController {
@ApiOperation
(
"列表"
)
@ApiOperation
(
"列表"
)
@PostMapping
(
"page"
)
@PostMapping
(
"page"
)
@AuthIgnore
public
ApiResponseEntity
<
Map
<
String
,
Object
>>
page
(
@RequestBody
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
dto
)
{
public
ApiResponseEntity
<
Map
<
String
,
Object
>>
page
(
@RequestBody
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
dto
)
{
//小程序告警记录只看到发给自己的告警
//小程序告警记录只看到发给自己的告警
String
userId
=
CommonUserUtil
.
getUserId
();
String
userId
=
CommonUserUtil
.
getUserId
();
// String userId = "1700085146788667394";
PlatAlarmRecordQueryDTO
data
=
dto
.
getData
();
PlatAlarmRecordQueryDTO
data
=
dto
.
getData
();
data
.
setNotifyUser
(
userId
);
data
.
setNotifyUser
(
userId
);
Map
<
String
,
Object
>
resMap
=
Maps
.
newHashMap
();
Map
<
String
,
Object
>
resMap
=
Maps
.
newHashMap
();
PageVO
<
PlatAlarmRecordVO
>
page
=
platAlarmRecordService
.
page
(
dto
);
PageVO
<
PlatAlarmRecordVO
>
page
=
platAlarmRecordService
.
page
(
dto
);
// boolean b = page.getList().stream().anyMatch(platAlarmRecord -> StringUtils.equals(CommonEnum.NO.getValue(), platAlarmRecord.getStatus()));
boolean
b
=
CollUtil
.
isNotEmpty
(
page
.
getList
())
&&
page
.
getList
().
get
(
0
).
getStatusFlag
();
boolean
b
=
CollUtil
.
isNotEmpty
(
page
.
getList
())
&&
page
.
getList
().
get
(
0
).
getStatusFlag
();
resMap
.
put
(
"todoFlag"
,
b
);
resMap
.
put
(
"todoFlag"
,
b
);
resMap
.
put
(
"page"
,
page
);
resMap
.
put
(
"page"
,
page
);
...
...
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatRegionSettingFixWechatController.java
0 → 100644
View file @
16949764
package
com
.
makeit
.
module
.
controller
.
wechat
.
space
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.space.PlatRegionSettingDTO
;
import
com.makeit.dto.platform.space.PlatRegionSettingFixQueryDTO
;
import
com.makeit.service.platform.space.PlatRegionSettingFixService
;
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
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
@Api
(
tags
=
"平台端小程序-区域设置固化"
)
@RestController
@RequestMapping
(
"/wechat/plat/region/setting/fix"
)
public
class
PlatRegionSettingFixWechatController
{
@Autowired
private
PlatRegionSettingFixService
platRegionSettingFixService
;
@ApiOperation
(
"列表"
)
@PostMapping
(
"list"
)
public
ApiResponseEntity
<
List
<
PlatRegionSettingDTO
>>
list
(
@RequestBody
PlatRegionSettingFixQueryDTO
dto
)
{
List
<
PlatRegionSettingDTO
>
data
=
platRegionSettingFixService
.
list
(
dto
);
return
ApiResponseUtils
.
success
(
data
);
}
}
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlarmCheckDTO.java
View file @
16949764
...
@@ -32,6 +32,7 @@ public class PlatAlarmCheckDTO {
...
@@ -32,6 +32,7 @@ public class PlatAlarmCheckDTO {
private
String
abnormalValue
;
private
String
abnormalValue
;
//设备状态
//设备状态
private
String
messageType
;
private
String
messageType
;
private
String
deviceTime
;
}
}
server-service/src/main/java/com/makeit/dto/platform/elder/PlatElderIdDTO.java
View file @
16949764
...
@@ -19,7 +19,7 @@ public class PlatElderIdDTO {
...
@@ -19,7 +19,7 @@ public class PlatElderIdDTO {
@ApiModelProperty
(
value
=
"长者id"
)
@ApiModelProperty
(
value
=
"长者id"
)
private
String
elderId
;
private
String
elderId
;
@ApiModelProperty
(
value
=
"
长者
id"
)
@ApiModelProperty
(
value
=
"
机构
id"
)
private
String
orgId
;
private
String
orgId
;
@ApiModelProperty
(
value
=
"设备id"
)
@ApiModelProperty
(
value
=
"设备id"
)
...
...
server-service/src/main/java/com/makeit/dto/platform/space/PlatRegionSettingFixQueryDTO.java
0 → 100644
View file @
16949764
package
com
.
makeit
.
dto
.
platform
.
space
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
@Data
@ApiModel
(
"PlatRegionSettingFixQueryDTO"
)
public
class
PlatRegionSettingFixQueryDTO
{
@ApiModelProperty
(
"报告类型 0:日报 1:周报"
)
private
String
reportType
;
@ApiModelProperty
(
"房间ID"
)
private
String
roomId
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@ApiModelProperty
(
"日期 yyyy-MM-dd"
)
private
LocalDate
now
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
"开始时间 yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
startTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
"结束时间 yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
endTime
;
}
server-service/src/main/java/com/makeit/entity/platform/alarm/PlatAlarmRecord.java
View file @
16949764
...
@@ -93,8 +93,8 @@ public class PlatAlarmRecord extends BaseBusEntity {
...
@@ -93,8 +93,8 @@ public class PlatAlarmRecord extends BaseBusEntity {
@ApiModelProperty
(
value
=
"微信端 0-未读 1-已读"
)
@ApiModelProperty
(
value
=
"微信端 0-未读 1-已读"
)
private
String
wechatReadFlag
;
private
String
wechatReadFlag
;
@ApiModelProperty
(
value
=
"记录当前时间"
)
private
String
deviceTime
;
}
}
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderBreatheAnalysis.java
View file @
16949764
...
@@ -42,7 +42,7 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity {
...
@@ -42,7 +42,7 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity {
@ApiModelProperty
(
value
=
"当前日期 yyyy-mm-dd"
)
@ApiModelProperty
(
value
=
"当前日期 yyyy-mm-dd"
)
private
String
happenDate
;
private
String
happenDate
;
// @TableField(exist = false
)
@ApiModelProperty
(
value
=
"原始设备ID"
)
// private String remake
;
private
String
oriDeviceId
;
}
}
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderBreatheHeartRateRecord.java
0 → 100644
View file @
16949764
package
com
.
makeit
.
entity
.
platform
.
elder
;
import
com.makeit.common.entity.BaseBusEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"PlatElderBreatheHeartRateRecord对象"
,
description
=
"长者呼吸心率记录"
)
public
class
PlatElderBreatheHeartRateRecord
extends
BaseBusEntity
{
@ApiModelProperty
(
value
=
"长者id"
)
private
String
elderId
;
@ApiModelProperty
(
value
=
"上报时间"
)
private
Long
reportTime
;
@ApiModelProperty
(
value
=
"心率"
)
private
Integer
heartRate
;
@ApiModelProperty
(
value
=
"呼吸率"
)
private
Integer
respiratoryRate
;
@ApiModelProperty
(
value
=
"体动值"
)
private
Integer
bodyMove
;
@ApiModelProperty
(
value
=
"设备Id"
)
private
String
deviceId
;
@ApiModelProperty
(
value
=
"设备Id"
)
private
String
iotDeviceId
;
}
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderSleepAnalysis.java
View file @
16949764
...
@@ -47,5 +47,8 @@ public class PlatElderSleepAnalysis extends BaseBusEntity {
...
@@ -47,5 +47,8 @@ public class PlatElderSleepAnalysis extends BaseBusEntity {
@ApiModelProperty
(
value
=
"翻身次数"
)
@ApiModelProperty
(
value
=
"翻身次数"
)
private
Integer
turnedCount
;
private
Integer
turnedCount
;
@ApiModelProperty
(
value
=
"原始设备ID"
)
private
String
oriDeviceId
;
}
}
server-service/src/main/java/com/makeit/enums/report/SleepTypeEnum.java
View file @
16949764
...
@@ -19,5 +19,15 @@ public enum SleepTypeEnum {
...
@@ -19,5 +19,15 @@ public enum SleepTypeEnum {
private
String
value
;
private
String
value
;
public
static
SleepTypeEnum
getSleepType
(
String
code
)
{
for
(
SleepTypeEnum
typeEnum
:
SleepTypeEnum
.
values
())
{
if
(
typeEnum
.
getCode
().
equals
(
code
))
{
return
typeEnum
;
}
}
return
null
;
}
}
}
server-service/src/main/java/com/makeit/external/strategy/HuiNengStrategy.java
View file @
16949764
...
@@ -65,6 +65,8 @@ public class HuiNengStrategy implements OpenApiBaseStrategy {
...
@@ -65,6 +65,8 @@ public class HuiNengStrategy implements OpenApiBaseStrategy {
reportInfo
.
setSignalStrength
(
""
);
reportInfo
.
setSignalStrength
(
""
);
reportInfo
.
setQuantityElectricity
(
""
);
reportInfo
.
setQuantityElectricity
(
""
);
reportInfo
.
setECG
(
""
);
reportInfo
.
setECG
(
""
);
reportInfo
.
setSignalStrength
(
""
);
reportInfo
.
setQuantityElectricity
(
""
);
reportInfo
.
setBloodSugar
(
""
);
reportInfo
.
setBloodSugar
(
""
);
reportInfo
.
setBloodOxygen
(
""
);
reportInfo
.
setBloodOxygen
(
""
);
reportInfo
.
setBloodPressure
(
""
);
reportInfo
.
setBloodPressure
(
""
);
...
...
server-service/src/main/java/com/makeit/mapper/platform/elder/PlatElderBreatheHeartRateRecordMapper.java
0 → 100644
View file @
16949764
package
com
.
makeit
.
mapper
.
platform
.
elder
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.makeit.entity.platform.elder.PlatElderBreatheHeartRateRecord
;
public
interface
PlatElderBreatheHeartRateRecordMapper
extends
BaseMapper
<
PlatElderBreatheHeartRateRecord
>
{
}
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
View file @
16949764
...
@@ -12,6 +12,7 @@ import com.makeit.entity.platform.elder.PlatElder;
...
@@ -12,6 +12,7 @@ import com.makeit.entity.platform.elder.PlatElder;
import
com.makeit.enums.report.PlatformTypeEnum
;
import
com.makeit.enums.report.PlatformTypeEnum
;
import
com.makeit.shengwang.agora.dto.PlatCallingDeviceDTO
;
import
com.makeit.shengwang.agora.dto.PlatCallingDeviceDTO
;
import
com.makeit.shengwang.agora.vo.PlatAlarmCallDeviceVO
;
import
com.makeit.shengwang.agora.vo.PlatAlarmCallDeviceVO
;
import
com.makeit.vo.platform.alarm.PlatAlarmExternalRecordVO
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
/**
/**
...
@@ -74,4 +75,6 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
...
@@ -74,4 +75,6 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
PlatAlarmCallDeviceVO
callingDevice
(
PlatCallingDeviceDTO
dto
);
PlatAlarmCallDeviceVO
callingDevice
(
PlatCallingDeviceDTO
dto
);
PlatAlarmCallDeviceVO
callingDeviceAuthIgnoreRtm
(
PlatCallingDeviceDTO
id
);
PlatAlarmCallDeviceVO
callingDeviceAuthIgnoreRtm
(
PlatCallingDeviceDTO
id
);
PageVO
<
PlatAlarmExternalRecordVO
>
fallRecord
(
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
pageReqDTO
);
}
}
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BehaviorAlarm.java
View file @
16949764
...
@@ -112,7 +112,6 @@ public class BehaviorAlarm implements IAlarm {
...
@@ -112,7 +112,6 @@ public class BehaviorAlarm implements IAlarm {
long
count
=
endLong
-
startLong
;
long
count
=
endLong
-
startLong
;
//进入空间时间满足告警时长,判断是否已经告警过了
//进入空间时间满足告警时长,判断是否已经告警过了
if
(
duration
!=
0
&&
count
/
1000
>=
duration
&&
StringUtils
.
equals
(
alarmRedisDTO
.
getAlarm
(),
CommonEnum
.
NO
.
getValue
()))
{
if
(
duration
!=
0
&&
count
/
1000
>=
duration
&&
StringUtils
.
equals
(
alarmRedisDTO
.
getAlarm
(),
CommonEnum
.
NO
.
getValue
()))
{
log
.
error
(
"空间雷达发出告警,设备plat_id:"
+
platDevice
.
getId
());
if
(
duration1
!=
0
)
{
if
(
duration1
!=
0
)
{
alarmRedisDTO
.
setAlarm
(
CommonEnum
.
YES
.
getValue
());
alarmRedisDTO
.
setAlarm
(
CommonEnum
.
YES
.
getValue
());
RedisUtil
.
set
(
RedisConst
.
ALARM_DEVICE_BEHAVIOR_ID
+
deviceId
,
alarmRedisDTO
);
RedisUtil
.
set
(
RedisConst
.
ALARM_DEVICE_BEHAVIOR_ID
+
deviceId
,
alarmRedisDTO
);
...
@@ -127,6 +126,7 @@ public class BehaviorAlarm implements IAlarm {
...
@@ -127,6 +126,7 @@ public class BehaviorAlarm implements IAlarm {
if
(
startLong
==
null
)
{
if
(
startLong
==
null
)
{
return
;
return
;
}
}
log
.
info
(
"设备离线或者没有人删除缓存,保存空间时长:{}"
,
deviceId
);
//保存每次进入空间时长
//保存每次进入空间时长
platDayDurationRecordService
.
saveDayDurationRecord
(
platAlarmCheckDTO
,
alarmRedisDTO
);
platDayDurationRecordService
.
saveDayDurationRecord
(
platAlarmCheckDTO
,
alarmRedisDTO
);
RedisUtil
.
delete
(
RedisConst
.
ALARM_DEVICE_BEHAVIOR_ID
+
deviceId
);
RedisUtil
.
delete
(
RedisConst
.
ALARM_DEVICE_BEHAVIOR_ID
+
deviceId
);
...
@@ -150,7 +150,7 @@ public class BehaviorAlarm implements IAlarm {
...
@@ -150,7 +150,7 @@ public class BehaviorAlarm implements IAlarm {
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
List
<
PlatElder
>
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
List
<
PlatElder
>
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
if
(
CollectionUtils
.
isEmpty
(
platElderList
))
{
if
(
CollectionUtils
.
isEmpty
(
platElderList
))
{
log
.
error
(
"未关联长者,设备id:"
+
platAlarmCheckDTO
.
getPlatDevice
().
getId
());
//
log.error("未关联长者,设备id:"+platAlarmCheckDTO.getPlatDevice().getId());
return
;
return
;
}
}
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BreathAlarm.java
View file @
16949764
...
@@ -59,12 +59,10 @@ public class BreathAlarm implements IAlarm {
...
@@ -59,12 +59,10 @@ public class BreathAlarm implements IAlarm {
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
List
<
PlatElder
>
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
List
<
PlatElder
>
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
if
(
CollectionUtils
.
isEmpty
(
platElderList
)){
if
(
CollectionUtils
.
isEmpty
(
platElderList
)){
log
.
error
(
"呼吸设备未关联长者,设备plat_id:"
+
platAlarmCheckDTO
.
getPlatDevice
().
getId
());
return
;
return
;
}
}
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
if
(
CommonEnum
.
NO
.
getValue
().
equals
(
config
.
getStatus
()))
{
if
(
CommonEnum
.
NO
.
getValue
().
equals
(
config
.
getStatus
()))
{
log
.
error
(
"呼吸告警配置为禁用,告警配置id:"
+
config
.
getId
());
return
;
return
;
}
}
PlatElder
platElder
=
platElderList
.
get
(
0
);
PlatElder
platElder
=
platElderList
.
get
(
0
);
...
@@ -94,7 +92,6 @@ public class BreathAlarm implements IAlarm {
...
@@ -94,7 +92,6 @@ public class BreathAlarm implements IAlarm {
int
hasPerson
=
(
int
)
properties
.
get
(
"person"
);
int
hasPerson
=
(
int
)
properties
.
get
(
"person"
);
if
(
0
==
hasPerson
)
{
if
(
0
==
hasPerson
)
{
log
.
info
(
"当前上报数据无人,不需要告警"
);
RedisUtil
.
delete
(
RedisConst
.
ALARM_DEVICE_BR_ID
+
deviceId
);
RedisUtil
.
delete
(
RedisConst
.
ALARM_DEVICE_BR_ID
+
deviceId
);
return
;
return
;
}
}
...
@@ -184,6 +181,7 @@ public class BreathAlarm implements IAlarm {
...
@@ -184,6 +181,7 @@ public class BreathAlarm implements IAlarm {
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
,
platElder
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
,
platElder
);
platAlarmRecord
.
setElderIds
(
platElder
.
getId
());
platAlarmRecord
.
setElderIds
(
platElder
.
getId
());
platAlarmRecord
.
setElderName
(
platElder
.
getName
());
platAlarmRecord
.
setElderName
(
platElder
.
getName
());
platAlarmRecord
.
setDeviceTime
(
platAlarmCheckDTO
.
getDeviceTime
());
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
log
.
error
(
"长者呼吸异常,发出告警,设备id:"
+
platDevice
.
getId
()+
", 长者名称:"
+
platElder
.
getName
());
log
.
error
(
"长者呼吸异常,发出告警,设备id:"
+
platDevice
.
getId
()+
", 长者名称:"
+
platElder
.
getName
());
}
}
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/FallAlarm.java
View file @
16949764
...
@@ -69,7 +69,7 @@ public class FallAlarm implements IAlarm {
...
@@ -69,7 +69,7 @@ public class FallAlarm implements IAlarm {
*/
*/
@Override
@Override
public
void
checkConfig
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
public
void
checkConfig
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
log
.
info
(
"跌倒预警config开始"
);
//
log.info("跌倒预警config开始");
JSONObject
properties
=
platAlarmCheckDTO
.
getProperties
();
JSONObject
properties
=
platAlarmCheckDTO
.
getProperties
();
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
String
deviceId
=
platDevice
.
getId
();
String
deviceId
=
platDevice
.
getId
();
...
@@ -77,7 +77,7 @@ public class FallAlarm implements IAlarm {
...
@@ -77,7 +77,7 @@ public class FallAlarm implements IAlarm {
properties
=
new
JSONObject
();
properties
=
new
JSONObject
();
}
}
String
personState
=
Convert
.
toStr
(
properties
.
get
(
"personState"
));
String
personState
=
Convert
.
toStr
(
properties
.
get
(
"personState"
));
log
.
info
(
"跌倒预警personState:{}"
,
personState
);
//
log.info("跌倒预警personState:{}", personState);
//记录停留时长
//记录停留时长
recordDuration
(
platAlarmCheckDTO
);
recordDuration
(
platAlarmCheckDTO
);
...
@@ -232,6 +232,7 @@ public class FallAlarm implements IAlarm {
...
@@ -232,6 +232,7 @@ public class FallAlarm implements IAlarm {
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
,
platElder
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
,
platElder
);
platAlarmRecord
.
setElderIds
(
platElder
.
getId
());
platAlarmRecord
.
setElderIds
(
platElder
.
getId
());
platAlarmRecord
.
setElderName
(
platElder
.
getName
());
platAlarmRecord
.
setElderName
(
platElder
.
getName
());
platAlarmRecord
.
setDeviceTime
(
platAlarmCheckDTO
.
getDeviceTime
());
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
log
.
error
(
"长者跌倒,发出告警,设备id:"
+
platDevice
.
getId
()
+
", 长者名称:"
+
platElder
.
getName
());
log
.
error
(
"长者跌倒,发出告警,设备id:"
+
platDevice
.
getId
()
+
", 长者名称:"
+
platElder
.
getName
());
}
}
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/HeartAlarm.java
View file @
16949764
...
@@ -50,13 +50,13 @@ public class HeartAlarm implements IAlarm {
...
@@ -50,13 +50,13 @@ public class HeartAlarm implements IAlarm {
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
List
<
PlatElder
>
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
List
<
PlatElder
>
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
if
(
CollectionUtils
.
isEmpty
(
platElderList
)){
if
(
CollectionUtils
.
isEmpty
(
platElderList
)){
log
.
error
(
"心率设备未关联长者,设备plat_id:"
+
platAlarmCheckDTO
.
getPlatDevice
().
getId
());
//
log.error("心率设备未关联长者,设备plat_id:" + platAlarmCheckDTO.getPlatDevice().getId());
return
;
return
;
}
}
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
String
messageType
=
platAlarmCheckDTO
.
getMessageType
();
String
messageType
=
platAlarmCheckDTO
.
getMessageType
();
if
(
CommonEnum
.
NO
.
getValue
().
equals
(
config
.
getStatus
()))
{
if
(
CommonEnum
.
NO
.
getValue
().
equals
(
config
.
getStatus
()))
{
log
.
error
(
"呼吸告警配置为禁用,告警配置id:"
+
config
.
getId
());
//
log.error("呼吸告警配置为禁用,告警配置id:" + config.getId());
return
;
return
;
}
}
PlatElder
platElder
=
platElderList
.
get
(
0
);
PlatElder
platElder
=
platElderList
.
get
(
0
);
...
@@ -107,7 +107,6 @@ public class HeartAlarm implements IAlarm {
...
@@ -107,7 +107,6 @@ public class HeartAlarm implements IAlarm {
RedisUtil
.
delete
(
RedisConst
.
ALARM_DEVICE_HR_ID
+
deviceId
);
RedisUtil
.
delete
(
RedisConst
.
ALARM_DEVICE_HR_ID
+
deviceId
);
return
;
return
;
}
}
log
.
info
(
"hr:{},end:{},start:{},mes:{}"
,
hr
,
end
,
start
,
messageType
);
if
((
hr
>
end
||
hr
<
start
)
&&
StringUtils
.
equalsAnyIgnoreCase
(
messageType
,
"REPORT_PROPERTY"
))
{
if
((
hr
>
end
||
hr
<
start
)
&&
StringUtils
.
equalsAnyIgnoreCase
(
messageType
,
"REPORT_PROPERTY"
))
{
if
(
alarmRedisDTO
==
null
){
if
(
alarmRedisDTO
==
null
){
alarmRedisDTO
=
new
AlarmRedisDTO
();
alarmRedisDTO
=
new
AlarmRedisDTO
();
...
@@ -167,6 +166,7 @@ public class HeartAlarm implements IAlarm {
...
@@ -167,6 +166,7 @@ public class HeartAlarm implements IAlarm {
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
,
platElder
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
,
platElder
);
platAlarmRecord
.
setElderIds
(
platElder
.
getId
());
platAlarmRecord
.
setElderIds
(
platElder
.
getId
());
platAlarmRecord
.
setElderName
(
platElder
.
getName
());
platAlarmRecord
.
setElderName
(
platElder
.
getName
());
platAlarmRecord
.
setDeviceTime
(
platAlarmCheckDTO
.
getDeviceTime
());
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
log
.
error
(
"长者心率异常,发出告警,设备plat_id:"
+
platDevice
.
getId
()+
", 长者名称:"
+
platElder
.
getName
());
log
.
error
(
"长者心率异常,发出告警,设备plat_id:"
+
platDevice
.
getId
()+
", 长者名称:"
+
platElder
.
getName
());
}
}
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/OffBedAlarm.java
View file @
16949764
...
@@ -51,10 +51,9 @@ public class OffBedAlarm implements IAlarm {
...
@@ -51,10 +51,9 @@ public class OffBedAlarm implements IAlarm {
public
void
checkConfig
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
public
void
checkConfig
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
log
.
info
(
"执行离床checkConfig方法:"
);
//
log.info("执行离床checkConfig方法:");
List
<
PlatElder
>
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
List
<
PlatElder
>
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
if
(
CollectionUtils
.
isEmpty
(
platElderList
))
{
if
(
CollectionUtils
.
isEmpty
(
platElderList
))
{
log
.
error
(
"离床告警心率设备未关联长者,设备plat_id:"
+
platAlarmCheckDTO
.
getPlatDevice
().
getId
());
return
;
return
;
}
}
PlatAlarmConfig
config
=
alarmConfigCacheUtil
.
get
(
platDevice
.
getOrgId
(),
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
OFF_BED
.
getValue
());
PlatAlarmConfig
config
=
alarmConfigCacheUtil
.
get
(
platDevice
.
getOrgId
(),
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
OFF_BED
.
getValue
());
...
@@ -105,13 +104,13 @@ public class OffBedAlarm implements IAlarm {
...
@@ -105,13 +104,13 @@ public class OffBedAlarm implements IAlarm {
// 1-有人 0-无人
// 1-有人 0-无人
AlarmRedisDTO
alarmRedisDTO
=
RedisUtil
.
get
(
RedisConst
.
ALARM_DEVICE_OFF_BED_ID
+
deviceId
);
AlarmRedisDTO
alarmRedisDTO
=
RedisUtil
.
get
(
RedisConst
.
ALARM_DEVICE_OFF_BED_ID
+
deviceId
);
if
(
"1"
.
equals
(
personState
))
{
if
(
"1"
.
equals
(
personState
))
{
log
.
info
(
"deviceId:{},离床告警有人状态下,删除redis"
,
deviceId
);
//
log.info("deviceId:{},离床告警有人状态下,删除redis", deviceId);
RedisUtil
.
delete
(
RedisConst
.
ALARM_DEVICE_OFF_BED_ID
+
deviceId
);
RedisUtil
.
delete
(
RedisConst
.
ALARM_DEVICE_OFF_BED_ID
+
deviceId
);
return
;
return
;
}
}
String
messageType
=
platAlarmCheckDTO
.
getMessageType
();
String
messageType
=
platAlarmCheckDTO
.
getMessageType
();
if
(
StringUtils
.
equalsAnyIgnoreCase
(
messageType
,
"OFFLINE"
,
"DISCONNECT"
))
{
if
(
StringUtils
.
equalsAnyIgnoreCase
(
messageType
,
"OFFLINE"
,
"DISCONNECT"
))
{
log
.
info
(
"deviceId:{},离床告警设备下线,删除redis off_bed 预警"
,
deviceId
);
//
log.info("deviceId:{},离床告警设备下线,删除redis off_bed 预警", deviceId);
RedisUtil
.
delete
(
RedisConst
.
ALARM_DEVICE_OFF_BED_ID
+
deviceId
);
RedisUtil
.
delete
(
RedisConst
.
ALARM_DEVICE_OFF_BED_ID
+
deviceId
);
}
}
if
(
isOffBed
)
{
if
(
isOffBed
)
{
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
View file @
16949764
...
@@ -57,6 +57,7 @@ import com.makeit.utils.sql.join.JoinUtil;
...
@@ -57,6 +57,7 @@ import com.makeit.utils.sql.join.JoinUtil;
import
com.makeit.utils.user.common.CommonUserUtil
;
import
com.makeit.utils.user.common.CommonUserUtil
;
import
com.makeit.utils.user.common.CommonUserVO
;
import
com.makeit.utils.user.common.CommonUserVO
;
import
com.makeit.utils.user.wechat.WechatUserUtil
;
import
com.makeit.utils.user.wechat.WechatUserUtil
;
import
com.makeit.vo.platform.alarm.PlatAlarmExternalRecordVO
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
...
@@ -65,7 +66,6 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -65,7 +66,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.sql.Timestamp
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.*
;
import
java.util.regex.Matcher
;
import
java.util.regex.Matcher
;
...
@@ -143,6 +143,22 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -143,6 +143,22 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
return
PageUtil
.
toPageVO
(
dtos
,
page
);
return
PageUtil
.
toPageVO
(
dtos
,
page
);
}
}
@Override
public
PageVO
<
PlatAlarmExternalRecordVO
>
fallRecord
(
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
pageReqDTO
)
{
PlatAlarmRecordQueryDTO
data
=
pageReqDTO
.
getData
();
if
(
StringUtils
.
isEmpty
(
data
.
getOrgId
())){
throw
new
RuntimeException
(
"机构id不能为空"
);
}
if
(
data
.
getCreateDateFrom
()
==
null
&&
data
.
getCreateDateTo
()
==
null
)
{
throw
new
RuntimeException
(
"告警起始时间不能为空"
);
}
data
.
setAlarmType
(
"1"
);
data
.
setStatus
(
"0"
);
PageVO
<
PlatAlarmRecordVO
>
page
=
page
(
pageReqDTO
);
List
<
PlatAlarmRecordVO
>
list
=
page
.
getList
();
return
PageUtil
.
toPageVO
(
BeanDtoVoUtils
.
listVo
(
list
,
PlatAlarmExternalRecordVO
.
class
),
page
);
}
/**
/**
* 子女端告警列表
* 子女端告警列表
*
*
...
@@ -477,7 +493,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -477,7 +493,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
//todo 要支持 设备绑定多个空间
//todo 要支持 设备绑定多个空间
List
<
PlatRoomBedDevice
>
platRoomBedDeviceList
=
platRoomBedDeviceService
.
list
(
roomBedDeviceLambdaQueryWrapper
);
List
<
PlatRoomBedDevice
>
platRoomBedDeviceList
=
platRoomBedDeviceService
.
list
(
roomBedDeviceLambdaQueryWrapper
);
if
(
CollectionUtils
.
isEmpty
(
platRoomBedDeviceList
)){
if
(
CollectionUtils
.
isEmpty
(
platRoomBedDeviceList
)){
log
.
error
(
"设备没绑定房间:"
+
platDevice
.
getId
());
//
log.error("设备没绑定房间:"+platDevice.getId());
return
;
return
;
}
}
...
@@ -617,9 +633,10 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -617,9 +633,10 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
if
(
platDevice
==
null
)
{
if
(
platDevice
==
null
)
{
throw
new
RuntimeException
(
"找不到告警关联的设备,设备已解绑"
+
deviceId
);
throw
new
RuntimeException
(
"找不到告警关联的设备,设备已解绑"
+
deviceId
);
}
}
Timestamp
timestamp
=
Timestamp
.
valueOf
(
platAlarmRecord
.
getCreateDate
());
log
.
info
(
"开始想设备发送误报通知"
);
log
.
info
(
"开始想设备发送误报通知"
);
String
result
=
iotDevicePropertiesOperateService
.
deviceFunctionAttr
(
platDevice
.
getOriDeviceId
(),
timestamp
.
getTime
());
String
result
=
iotDevicePropertiesOperateService
.
deviceFunctionAttr
(
platDevice
.
getOriDeviceId
(),
StringUtils
.
isEmpty
(
platAlarmRecord
.
getDeviceTime
())
?
""
:
platAlarmRecord
.
getDeviceTime
());
if
(
StringUtils
.
isNotEmpty
(
result
))
{
if
(
StringUtils
.
isNotEmpty
(
result
))
{
throw
new
RuntimeException
(
"发送误报通知失败:"
+
result
);
throw
new
RuntimeException
(
"发送误报通知失败:"
+
result
);
}
}
...
...
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderBreatheHeartRateRecordService.java
0 → 100644
View file @
16949764
package
com
.
makeit
.
service
.
platform
.
elder
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.entity.platform.elder.PlatElderBreatheHeartRateRecord
;
import
java.util.List
;
public
interface
PlatElderBreatheHeartRateRecordService
extends
IService
<
PlatElderBreatheHeartRateRecord
>
{
void
breatheHeartRateRecordTask
();
List
<
PlatElderBreatheHeartRateRecord
>
list
(
String
elderId
,
String
iotDeviceId
,
String
tenantId
,
long
start
,
long
end
);
}
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderCoordinateRecordService.java
View file @
16949764
...
@@ -14,4 +14,5 @@ import com.makeit.entity.platform.elder.PlatElderCoordinateRecord;
...
@@ -14,4 +14,5 @@ import com.makeit.entity.platform.elder.PlatElderCoordinateRecord;
public
interface
PlatElderCoordinateRecordService
extends
IService
<
PlatElderCoordinateRecord
>
{
public
interface
PlatElderCoordinateRecordService
extends
IService
<
PlatElderCoordinateRecord
>
{
void
coordinateRecordTask
();
void
coordinateRecordTask
();
}
}
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderDayReportDayService.java
View file @
16949764
...
@@ -41,6 +41,8 @@ public interface PlatElderDayReportDayService {
...
@@ -41,6 +41,8 @@ public interface PlatElderDayReportDayService {
List
<
String
>
failRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
String
>
failRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
long
start
,
long
end
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
String
deviceId
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
String
deviceId
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderReportDTO
platElderIdDTO
);
...
...
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderRealTimeService.java
View file @
16949764
...
@@ -33,5 +33,5 @@ public interface PlatElderRealTimeService {
...
@@ -33,5 +33,5 @@ public interface PlatElderRealTimeService {
List
<
PlatElderCoordinateVO
>
coordinate
(
PlatElderIdDTO
platElderIdDTO
);
List
<
PlatElderCoordinateVO
>
coordinate
(
PlatElderIdDTO
platElderIdDTO
);
PlatElderRealTimeHeartRespiratoryVO
deviceHealthReport
(
PlatElderIdDTO
dto
);
}
}
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderSleepService.java
View file @
16949764
...
@@ -2,6 +2,10 @@ package com.makeit.service.platform.elder;
...
@@ -2,6 +2,10 @@ package com.makeit.service.platform.elder;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.entity.platform.elder.PlatElderSleep
;
import
com.makeit.entity.platform.elder.PlatElderSleep
;
import
com.makeit.entity.platform.elder.PlatElderSleepAnalysis
;
import
com.makeit.entity.saas.analysis.SaasSleepEvaluateStandardReport
;
import
java.util.List
;
/**
/**
* <p>
* <p>
...
@@ -13,7 +17,10 @@ import com.makeit.entity.platform.elder.PlatElderSleep;
...
@@ -13,7 +17,10 @@ import com.makeit.entity.platform.elder.PlatElderSleep;
*/
*/
public
interface
PlatElderSleepService
extends
IService
<
PlatElderSleep
>
{
public
interface
PlatElderSleepService
extends
IService
<
PlatElderSleep
>
{
void
elderSleepSleepAnalysisTask
(
);
List
<
PlatElderSleepAnalysis
>
elderSleepSleepAnalysisTask
(
Integer
month
,
Integer
day
);
void
test1
();
void
test1
();
String
calculateScores
(
long
daySleepTime
,
long
dayRestTime
,
long
deepTime
,
long
soberTime
,
long
lightTime
,
SaasSleepEvaluateStandardReport
evaluateStandardReport
);
}
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderBreatheAnalysisServiceImpl.java
View file @
16949764
This diff is collapsed.
Click to expand it.
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderBreatheHeartRateRecordServiceImpl.java
0 → 100644
View file @
16949764
package
com
.
makeit
.
service
.
platform
.
elder
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.google.common.collect.Lists
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.elder.PlatElderBreatheHeartRateRecord
;
import
com.makeit.mapper.platform.elder.PlatElderBreatheHeartRateRecordMapper
;
import
com.makeit.module.iot.service.IotProductDeviceService
;
import
com.makeit.module.iot.vo.breathe.DeviceInfoContentBreathe
;
import
com.makeit.service.platform.elder.PlatElderBreatheHeartRateRecordService
;
import
com.makeit.service.platform.elder.PlatElderRealTimeService
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.time.LocalDateTimeUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@Service
public
class
PlatElderBreatheHeartRateRecordServiceImpl
extends
ServiceImpl
<
PlatElderBreatheHeartRateRecordMapper
,
PlatElderBreatheHeartRateRecord
>
implements
PlatElderBreatheHeartRateRecordService
{
@Autowired
private
PlatElderService
platElderService
;
@Autowired
private
PlatElderRealTimeService
platElderRealTimeService
;
@Autowired
private
IotProductDeviceService
iotProductDeviceService
;
@Override
public
void
breatheHeartRateRecordTask
()
{
LocalDate
nowDate
=
LocalDate
.
now
();
LocalDate
yesDate
=
nowDate
.
minusDays
(
1
);
LocalDateTime
start
=
LocalDateTimeUtils
.
getDayStart
(
yesDate
);
LocalDateTime
end
=
LocalDateTimeUtils
.
getDayEnd
(
yesDate
);
List
<
PlatElder
>
elderList
=
platElderService
.
list
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
isNotNull
(
PlatElder:
:
getBedId
));
if
(
CollectionUtils
.
isEmpty
(
elderList
))
{
return
;
}
List
<
PlatElderBreatheHeartRateRecord
>
list
=
Lists
.
newArrayList
();
for
(
PlatElder
e
:
elderList
)
{
PlatDevice
platDevice
=
platElderRealTimeService
.
getBreathDevice
(
e
.
getId
(),
null
);
if
(
platDevice
==
null
)
{
continue
;
}
List
<
DeviceInfoContentBreathe
>
breatheList
=
iotProductDeviceService
.
getDeviceLogByTimeRangeBreathe
(
platDevice
.
getOriDeviceId
(),
2
*
24
*
3600
,
start
,
end
);
List
<
PlatElderBreatheHeartRateRecord
>
data
=
StreamUtil
.
map
(
breatheList
,
b
->
{
PlatElderBreatheHeartRateRecord
record
=
new
PlatElderBreatheHeartRateRecord
();
record
.
setElderId
(
e
.
getId
());
record
.
setReportTime
(
b
.
getTimestamp
());
record
.
setHeartRate
(
b
.
getProperties
().
getHr
());
record
.
setRespiratoryRate
(
b
.
getProperties
().
getBr
());
record
.
setBodyMove
(
b
.
getProperties
().
getBodymove
());
record
.
setDeviceId
(
platDevice
.
getId
());
record
.
setIotDeviceId
(
platDevice
.
getOriDeviceId
());
record
.
setTenantId
(
e
.
getTenantId
());
return
record
;
});
list
.
addAll
(
data
);
}
saveBatch
(
list
);
}
@Override
public
List
<
PlatElderBreatheHeartRateRecord
>
list
(
String
elderId
,
String
iotDeviceId
,
String
tenantId
,
long
start
,
long
end
)
{
LambdaQueryWrapper
<
PlatElderBreatheHeartRateRecord
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
StringUtils
.
isNotBlank
(
elderId
),
PlatElderBreatheHeartRateRecord:
:
getElderId
,
elderId
);
queryWrapper
.
eq
(
StringUtils
.
isNotBlank
(
iotDeviceId
),
PlatElderBreatheHeartRateRecord:
:
getIotDeviceId
,
iotDeviceId
);
queryWrapper
.
eq
(
StringUtils
.
isNotBlank
(
tenantId
),
PlatElderBreatheHeartRateRecord:
:
getTenantId
,
tenantId
);
queryWrapper
.
ge
(
PlatElderBreatheHeartRateRecord:
:
getReportTime
,
start
);
queryWrapper
.
le
(
PlatElderBreatheHeartRateRecord:
:
getReportTime
,
end
);
return
list
(
queryWrapper
);
}
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderCoordinateRecordServiceImpl.java
View file @
16949764
...
@@ -67,18 +67,12 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
...
@@ -67,18 +67,12 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
return
;
return
;
}
}
PlatElderCoordinateRecord
platElderCoordinateRecord
;
PlatElderCoordinateRecord
platElderCoordinateRecord
;
PlatRegionSettingFix
platRegionSettingFix
;
List
<
PlatRegionSetting
>
platRegionSettingList
=
platRegionSettingService
.
list
(
new
QueryWrapper
<>());
List
<
PlatRegionSetting
>
platRegionSettingList
=
platRegionSettingService
.
list
(
new
QueryWrapper
<>());
Function
<
PlatRegionSetting
,
String
>
function
=
entity
->
entity
.
getRoomId
()
+
"-"
+
entity
.
getDeviceId
();
Map
<
String
,
PlatRegionSetting
>
platRegionSettingMap
=
StreamUtil
.
toMap
(
platRegionSettingList
,
function
);
for
(
PlatElder
platElder
:
elderList
)
{
for
(
PlatElder
platElder
:
elderList
)
{
List
<
PlatElderCoordinateVO
>
elderCoordinateVOList
=
platElderDayReportDayService
.
coordinateList
(
platElder
.
getId
(),
null
,
datStart
,
dayEnd
);
List
<
PlatElderCoordinateVO
>
elderCoordinateVOList
=
platElderDayReportDayService
.
coordinateList
(
platElder
.
getId
(),
null
,
datStart
,
dayEnd
);
Set
<
String
>
deviceIdSet
=
Sets
.
newHashSet
();
List
<
PlatElderCoordinateRecord
>
list
=
Lists
.
newArrayList
();
List
<
PlatElderCoordinateRecord
>
list
=
Lists
.
newArrayList
();
for
(
PlatElderCoordinateVO
vo
:
elderCoordinateVOList
)
{
for
(
PlatElderCoordinateVO
vo
:
elderCoordinateVOList
)
{
platElderCoordinateRecord
=
new
PlatElderCoordinateRecord
();
platElderCoordinateRecord
=
new
PlatElderCoordinateRecord
();
...
@@ -93,21 +87,15 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
...
@@ -93,21 +87,15 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
platElderCoordinateRecord
.
setElderId
(
platElder
.
getId
());
platElderCoordinateRecord
.
setElderId
(
platElder
.
getId
());
platElderCoordinateRecord
.
setTenantId
(
platElder
.
getTenantId
());
platElderCoordinateRecord
.
setTenantId
(
platElder
.
getTenantId
());
list
.
add
(
platElderCoordinateRecord
);
list
.
add
(
platElderCoordinateRecord
);
deviceIdSet
.
add
(
vo
.
getDeviceId
());
}
}
saveBatch
(
list
);
saveBatch
(
list
);
for
(
String
deviceId
:
deviceIdSet
)
{
PlatRegionSetting
platRegionSetting
=
platRegionSettingMap
.
get
(
platElder
.
getRoomId
()
+
"-"
+
deviceId
);
if
(
platRegionSetting
!=
null
)
{
platRegionSettingFix
=
new
PlatRegionSettingFix
();
BeanUtils
.
copyProperties
(
platRegionSetting
,
platRegionSettingFix
,
"id"
);
platRegionSettingFix
.
setElderId
(
platElder
.
getId
());
platRegionSettingFix
.
setHappenDate
(
yesDate
.
toString
());
platRegionSettingFixService
.
save
(
platRegionSettingFix
);
}
}
}
}
List
<
PlatRegionSettingFix
>
settingFixList
=
StreamUtil
.
map
(
platRegionSettingList
,
setting
->
{
PlatRegionSettingFix
settingFix
=
new
PlatRegionSettingFix
();
BeanUtils
.
copyProperties
(
setting
,
settingFix
,
"id"
);
settingFix
.
setHappenDate
(
yesDate
.
toString
());
return
settingFix
;
});
platRegionSettingFixService
.
saveBatch
(
settingFixList
);
}
}
}
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportDayServiceImpl.java
View file @
16949764
This diff is collapsed.
Click to expand it.
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportWeekServiceImpl.java
View file @
16949764
package
com
.
makeit
.
service
.
platform
.
elder
.
impl
;
package
com
.
makeit
.
service
.
platform
.
elder
.
impl
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.common.entity.BaseBusEntity
;
...
@@ -29,10 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -29,10 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.DayOfWeek
;
import
java.time.*
;
import
java.time.Duration
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatter
;
import
java.time.temporal.TemporalAdjusters
;
import
java.time.temporal.TemporalAdjusters
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -174,15 +172,19 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
...
@@ -174,15 +172,19 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
);
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
);
String
elderId
=
platElderIdDTO
.
getElderId
();
String
elderId
=
platElderIdDTO
.
getElderId
();
if
(
StringUtils
.
isNotEmpty
(
platElderIdDTO
.
getDeviceId
()))
{
String
deviceId
=
platElderIdDTO
.
getDeviceId
();
PlatElder
platElder
=
platElderService
.
getByDeviceId
(
platElderIdDTO
.
getDeviceId
(),
platElderIdDTO
.
getTenantId
());
String
tenantId
=
platElderIdDTO
.
getTenantId
();
if
(
platElder
!=
null
)
{
// if (StringUtils.isNotEmpty(deviceId)) {
elderId
=
platElder
.
getId
();
// PlatElder platElder = platElderService.getByDeviceId(deviceId, platElderIdDTO.getTenantId());
}
// if (platElder != null) {
}
// elderId = platElder.getId();
// }
// }
List
<
PlatElderSleepAnalysis
>
sleepAnalysisList
=
platElderSleepAnalysisService
.
list
(
new
QueryWrapper
<
PlatElderSleepAnalysis
>().
lambda
()
List
<
PlatElderSleepAnalysis
>
sleepAnalysisList
=
platElderSleepAnalysisService
.
list
(
new
QueryWrapper
<
PlatElderSleepAnalysis
>().
lambda
()
.
eq
(
PlatElderSleepAnalysis:
:
getElderId
,
elderId
)
.
eq
(
StrUtil
.
isNotBlank
(
elderId
),
PlatElderSleepAnalysis:
:
getElderId
,
elderId
)
.
ge
(
PlatElderSleepAnalysis:
:
getHappenDate
,
dateTimeFormatter
.
format
(
weekStartDate
))
.
ge
(
PlatElderSleepAnalysis:
:
getHappenDate
,
dateTimeFormatter
.
format
(
weekStartDate
))
.
eq
(
StrUtil
.
isNotBlank
(
deviceId
),
PlatElderSleepAnalysis:
:
getOriDeviceId
,
deviceId
)
.
eq
(
StrUtil
.
isNotBlank
(
tenantId
),
PlatElderSleepAnalysis:
:
getTenantId
,
tenantId
)
.
le
(
PlatElderSleepAnalysis:
:
getHappenDate
,
dateTimeFormatter
.
format
(
weekEndDate
))
.
le
(
PlatElderSleepAnalysis:
:
getHappenDate
,
dateTimeFormatter
.
format
(
weekEndDate
))
);
);
...
@@ -330,15 +332,19 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
...
@@ -330,15 +332,19 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
);
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
);
String
elderId
=
platElderIdDTO
.
getElderId
();
String
elderId
=
platElderIdDTO
.
getElderId
();
if
(
StringUtils
.
isNotEmpty
(
platElderIdDTO
.
getDeviceId
()))
{
String
deviceId
=
platElderIdDTO
.
getDeviceId
();
PlatElder
platElder
=
platElderService
.
getByDeviceId
(
platElderIdDTO
.
getDeviceId
(),
platElderIdDTO
.
getTenantId
());
String
tenantId
=
platElderIdDTO
.
getTenantId
();
if
(
platElder
!=
null
)
{
// if (StringUtils.isNotEmpty(deviceId)) {
elderId
=
platElder
.
getId
();
// PlatElder platElder = platElderService.getByDeviceId(deviceId, platElderIdDTO.getTenantId());
}
// if (platElder != null) {
}
// elderId = platElder.getId();
// }
// }
List
<
PlatElderBreatheAnalysis
>
breatheAnalyses
=
platElderBreatheAnalysisService
.
list
(
new
QueryWrapper
<
PlatElderBreatheAnalysis
>().
lambda
()
List
<
PlatElderBreatheAnalysis
>
breatheAnalyses
=
platElderBreatheAnalysisService
.
list
(
new
QueryWrapper
<
PlatElderBreatheAnalysis
>().
lambda
()
.
eq
(
PlatElderBreatheAnalysis:
:
getElderId
,
elderId
)
.
eq
(
StrUtil
.
isNotBlank
(
elderId
),
PlatElderBreatheAnalysis:
:
getElderId
,
elderId
)
.
ge
(
PlatElderBreatheAnalysis:
:
getHappenDate
,
dateTimeFormatter
.
format
(
weekStartDate
))
.
ge
(
PlatElderBreatheAnalysis:
:
getHappenDate
,
dateTimeFormatter
.
format
(
weekStartDate
))
.
eq
(
StrUtil
.
isNotBlank
(
deviceId
),
PlatElderBreatheAnalysis:
:
getOriDeviceId
,
deviceId
)
.
eq
(
StrUtil
.
isNotBlank
(
tenantId
),
PlatElderBreatheAnalysis:
:
getTenantId
,
tenantId
)
.
le
(
PlatElderBreatheAnalysis:
:
getHappenDate
,
dateTimeFormatter
.
format
(
weekEndDate
))
.
le
(
PlatElderBreatheAnalysis:
:
getHappenDate
,
dateTimeFormatter
.
format
(
weekEndDate
))
);
);
...
@@ -477,7 +483,11 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
...
@@ -477,7 +483,11 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
@Override
@Override
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderReportDTO
platElderIdDTO
)
{
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderReportDTO
platElderIdDTO
)
{
return
platElderDayReportDayService
.
coordinateList
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
(),
weekStartDateTime
(
platElderIdDTO
.
getStartTime
()),
weekEndDateTime
(
platElderIdDTO
.
getEndTime
()));
LocalDateTime
start
=
weekStartDateTime
(
platElderIdDTO
.
getStartTime
());
LocalDateTime
end
=
weekEndDateTime
(
platElderIdDTO
.
getEndTime
());
long
reportTimeStart
=
start
.
toInstant
(
ZoneOffset
.
ofHours
(
8
)).
toEpochMilli
();
long
reportTimeEnd
=
end
.
toInstant
(
ZoneOffset
.
ofHours
(
8
)).
toEpochMilli
();
return
platElderDayReportDayService
.
coordinateList
(
platElderIdDTO
.
getElderId
(),
reportTimeStart
,
reportTimeEnd
);
}
}
@Override
@Override
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderRealTimeServiceImpl.java
View file @
16949764
...
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
...
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.dto.platform.elder.PlatElderIdDTO
;
import
com.makeit.dto.platform.elder.PlatElderIdDTO
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.device.PlatDevice
;
...
@@ -519,5 +520,52 @@ public class PlatElderRealTimeServiceImpl implements PlatElderRealTimeService {
...
@@ -519,5 +520,52 @@ public class PlatElderRealTimeServiceImpl implements PlatElderRealTimeService {
}
}
@Override
public
PlatElderRealTimeHeartRespiratoryVO
deviceHealthReport
(
PlatElderIdDTO
dto
)
{
if
(
StringUtils
.
isEmpty
(
dto
.
getOrgId
()))
{
throw
new
RuntimeException
(
"机构id不能为空"
);
}
if
(
StringUtils
.
isEmpty
(
dto
.
getDeviceId
()))
{
throw
new
RuntimeException
(
"设备id不能为空"
);
}
PlatDevice
platDevice
=
platDeviceService
.
getOne
(
new
QueryWrapper
<
PlatDevice
>().
lambda
()
.
eq
(
PlatDevice:
:
getOriDeviceId
,
dto
.
getDeviceId
())
.
eq
(
BaseBusEntity:
:
getTenantId
,
dto
.
getOrgId
())
.
last
(
"limit 1"
));
PlatElderRealTimeHeartRespiratoryVO
vo
=
new
PlatElderRealTimeHeartRespiratoryVO
();
vo
.
setTime
(
LocalDateTime
.
now
());
if
(
platDevice
==
null
)
{
return
vo
;
}
vo
.
setDeviceId
(
platDevice
.
getOriDeviceId
());
String
result
=
redisTemplate
.
opsForValue
().
get
(
DEVICE_BR_DATA
+
platDevice
.
getOriDeviceId
());
log
.
info
(
"实时获取设备呼吸数据:{}"
,
result
);
if
(
result
!=
null
)
{
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
if
(
jsonObject
!=
null
)
{
String
person
=
jsonObject
.
getString
(
"person"
);
log
.
info
(
"当前人员人员状态:{}"
,
person
);
vo
.
setTime
(
LocalDateTime
.
now
());
if
(
StringUtils
.
equals
(
person
,
"0"
))
{
vo
.
setHeartRate
(
0
);
vo
.
setRespiratoryRate
(
0
);
vo
.
setBody
(
0
);
vo
.
setStatus
(
"0"
);
vo
.
setPersonState
(
0
);
vo
.
setPoint
(
Lists
.
newArrayList
());
}
else
{
vo
.
setHeartRate
(
Integer
.
valueOf
(
jsonObject
.
getString
(
"hr"
)));
vo
.
setRespiratoryRate
(
Integer
.
valueOf
(
jsonObject
.
getString
(
"br"
)));
vo
.
setBody
(
Integer
.
valueOf
(
jsonObject
.
getString
(
"bodymove"
)));
vo
.
setPersonState
(
Integer
.
valueOf
(
jsonObject
.
getString
(
"personState"
)));
Object
point
=
jsonObject
.
get
(
"point"
);
vo
.
setPoint
((
point
==
null
?
Lists
.
newArrayList
()
:
(
List
<
Integer
>)
point
));
vo
.
setStatus
(
person
);
}
}
return
vo
;
}
return
vo
;
}
}
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderSleepServiceImpl.java
View file @
16949764
...
@@ -40,6 +40,7 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -40,6 +40,7 @@ import org.springframework.transaction.annotation.Transactional;
import
java.time.*
;
import
java.time.*
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -87,14 +88,18 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -87,14 +88,18 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@TenantIdIgnore
@TenantIdIgnore
public
void
elderSleepSleepAnalysisTask
()
{
public
List
<
PlatElderSleepAnalysis
>
elderSleepSleepAnalysisTask
(
Integer
month
,
Integer
day
)
{
List
<
String
>
dayHourRangeList
=
getLastDayHourRange
();
List
<
String
>
dayHourRangeList
=
getLastDayHourRange
(
month
,
day
);
Calendar
calendar
=
Calendar
.
getInstance
();
// Calendar calendar = Calendar.getInstance();
calendar
.
setTime
(
new
Date
());
// calendar.setTime(new Date());
calendar
.
add
(
Calendar
.
DAY_OF_MONTH
,
-
1
);
// calendar.add(Calendar.DAY_OF_MONTH, -1);
Date
previousDate
=
calendar
.
getTime
();
// Date previousDate = calendar.getTime();
String
currentDate
=
DateUtil
.
format
(
previousDate
,
DatePattern
.
NORM_DATE_PATTERN
);
// String currentDate = DateUtil.format(previousDate, DatePattern.NORM_DATE_PATTERN);
String
currentDate
=
LocalDate
.
now
().
minusDays
(
1
).
toString
();
if
(
month
!=
null
&&
day
!=
null
){
currentDate
=
LocalDate
.
of
(
2023
,
month
,
day
).
minusDays
(
1
).
toString
();
}
SaasSleepAnalysisModel
analysisModel
=
saasSleepAnalysisModelService
.
getOne
(
new
QueryWrapper
<
SaasSleepAnalysisModel
>().
lambda
()
SaasSleepAnalysisModel
analysisModel
=
saasSleepAnalysisModelService
.
getOne
(
new
QueryWrapper
<
SaasSleepAnalysisModel
>().
lambda
()
.
orderByDesc
(
BaseEntity:
:
getCreateBy
)
.
orderByDesc
(
BaseEntity:
:
getCreateBy
)
...
@@ -125,7 +130,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -125,7 +130,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
int
sleepModerateActionThreshold
=
Integer
.
parseInt
(
analysisModel
.
getSleepModerateActionThreshold
());
int
sleepModerateActionThreshold
=
Integer
.
parseInt
(
analysisModel
.
getSleepModerateActionThreshold
());
int
sleepModerateActionTimeBegin
=
Integer
.
parseInt
(
analysisModel
.
getSleepModerateActionTimeBegin
());
int
sleepModerateActionTimeBegin
=
Integer
.
parseInt
(
analysisModel
.
getSleepModerateActionTimeBegin
());
List
<
PlatElderSleepAnalysis
>
result
=
new
ArrayList
<>();
for
(
PlatRoomBedDevice
platRoomBedDevice
:
platRoomBedDeviceList
)
{
for
(
PlatRoomBedDevice
platRoomBedDevice
:
platRoomBedDeviceList
)
{
TreeMap
<
String
,
AnalysisVO
>
totalMap
=
new
TreeMap
<>();
TreeMap
<
String
,
AnalysisVO
>
totalMap
=
new
TreeMap
<>();
...
@@ -552,7 +557,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -552,7 +557,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
}
}
SaasSleepEvaluateStandardReport
evaluateStandardReport
=
saasSleepEvaluateStandardReportService
.
getOne
(
new
QueryWrapper
<
SaasSleepEvaluateStandardReport
>().
lambda
()
SaasSleepEvaluateStandardReport
evaluateStandardReport
=
saasSleepEvaluateStandardReportService
.
getOne
(
new
QueryWrapper
<
SaasSleepEvaluateStandardReport
>().
lambda
()
.
orderByDesc
(
BaseEntity:
:
getCreate
By
)
.
orderByDesc
(
BaseEntity:
:
getCreate
Date
)
.
last
(
"limit 1"
));
.
last
(
"limit 1"
));
// 算出每一段睡觉的不同睡眠类型的时间段
// 算出每一段睡觉的不同睡眠类型的时间段
...
@@ -689,9 +694,6 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -689,9 +694,6 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
long
totalScore
=
sleepScore
+
deepScore
+
lightScore
-
soberScore
;
long
totalScore
=
sleepScore
+
deepScore
+
lightScore
-
soberScore
;
saasSleepEvaluateStandardReportVO
.
setTotalScore
(
totalScore
);
saasSleepEvaluateStandardReportVO
.
setTotalScore
(
totalScore
);
EvaluateReportVO
sleepReport
=
saasSleepEvaluateReportService
.
getByScore
(
totalScore
);
// 记录长者一天睡眠的记录
// 记录长者一天睡眠的记录
long
daySleepTime
=
0
;
long
daySleepTime
=
0
;
long
dayRestTime
=
0
;
long
dayRestTime
=
0
;
...
@@ -708,6 +710,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -708,6 +710,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
}
}
}
}
platElderSleepService
.
saveBatch
(
elderSleepList
);
platElderSleepService
.
saveBatch
(
elderSleepList
);
String
score
=
calculateScores
(
daySleepTime
,
dayRestTime
,
deepTime
,
soberTime
,
lightTime
,
evaluateStandardReport
);
EvaluateReportVO
sleepReport
=
saasSleepEvaluateReportService
.
getByScore
(
Long
.
parseLong
(
score
));
// 长者一天的睡眠分析
// 长者一天的睡眠分析
PlatElderSleepAnalysis
elderSleepAnalysis
=
new
PlatElderSleepAnalysis
();
PlatElderSleepAnalysis
elderSleepAnalysis
=
new
PlatElderSleepAnalysis
();
...
@@ -715,15 +719,58 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -715,15 +719,58 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
elderSleepAnalysis
.
setActionCount
(
totalActionCount
);
elderSleepAnalysis
.
setActionCount
(
totalActionCount
);
elderSleepAnalysis
.
setTurnedCount
(
totalTurnedCount
);
elderSleepAnalysis
.
setTurnedCount
(
totalTurnedCount
);
elderSleepAnalysis
.
setHappenDate
(
currentDate
);
elderSleepAnalysis
.
setHappenDate
(
currentDate
);
elderSleepAnalysis
.
setSleepScore
(
String
.
valueOf
(
totalScore
)
);
elderSleepAnalysis
.
setSleepScore
(
score
);
elderSleepAnalysis
.
setSleepTime
(
String
.
valueOf
(
daySleepTime
));
elderSleepAnalysis
.
setSleepTime
(
String
.
valueOf
(
daySleepTime
));
elderSleepAnalysis
.
setRestTime
(
String
.
valueOf
(
dayRestTime
));
elderSleepAnalysis
.
setRestTime
(
String
.
valueOf
(
dayRestTime
));
elderSleepAnalysis
.
setSleepResult
(
sleepReport
.
getResult
());
elderSleepAnalysis
.
setSleepResult
(
sleepReport
.
getResult
());
elderSleepAnalysis
.
setTenantId
(
tenantId
);
elderSleepAnalysis
.
setTenantId
(
tenantId
);
elderSleepAnalysis
.
setSleepEvaluate
(
sleepReport
.
getEvaluate
());
elderSleepAnalysis
.
setSleepEvaluate
(
sleepReport
.
getEvaluate
());
elderSleepAnalysis
.
setOriDeviceId
(
platDevice
.
getOriDeviceId
());
result
.
add
(
elderSleepAnalysis
);
platElderSleepAnalysisService
.
save
(
elderSleepAnalysis
);
platElderSleepAnalysisService
.
save
(
elderSleepAnalysis
);
}
}
return
result
;
}
@Override
public
String
calculateScores
(
long
daySleepTime
,
long
dayRestTime
,
long
deepTime
,
long
soberTime
,
long
lightTime
,
SaasSleepEvaluateStandardReport
evaluateStandardReport
)
{
List
<
SleepConfigVO
>
sleepDeepConfigList
=
JSON
.
parseArray
(
evaluateStandardReport
.
getSleepDeepConfig
(),
SleepConfigVO
.
class
);
List
<
SleepConfigVO
>
soberConfigList
=
JSON
.
parseArray
(
evaluateStandardReport
.
getSoberConfig
(),
SleepConfigVO
.
class
);
SleepConfigVO
lightnessConfig
=
JSON
.
parseObject
(
evaluateStandardReport
.
getSleepLightnessConfig
(),
SleepConfigVO
.
class
);
List
<
SleepConfigVO
>
sleepTimeConfigList
=
JSON
.
parseArray
(
evaluateStandardReport
.
getSleepTime
(),
SleepConfigVO
.
class
);
long
deepHour
=
deepTime
/
60
;
long
soberHour
=
soberTime
/
60
;
long
lightHour
=
lightTime
/
60
;
long
sleepHour
=
(
daySleepTime
+
dayRestTime
)
/
60
;
AtomicReference
<
Integer
>
sleepScore
=
new
AtomicReference
<>(
0
);
AtomicReference
<
Integer
>
deepScore
=
new
AtomicReference
<>(
0
);
AtomicReference
<
Integer
>
soberScore
=
new
AtomicReference
<>(
0
);
int
lightScore
=
0
;
sleepTimeConfigList
.
forEach
(
s
->
{
int
sleepKey
=
(
int
)
Math
.
floor
(
sleepHour
);
if
(
Integer
.
parseInt
(
s
.
getHour
())
<=
sleepKey
)
{
sleepScore
.
set
(
Integer
.
parseInt
(
s
.
getScore
()));
}
});
sleepDeepConfigList
.
forEach
(
s
->
{
int
sleepKey
=
(
int
)
Math
.
floor
(
deepHour
);
if
(
Integer
.
parseInt
(
s
.
getHour
())
<=
sleepKey
)
{
deepScore
.
set
(
Integer
.
parseInt
(
s
.
getScore
()));
}
});
soberConfigList
.
forEach
(
s
->
{
int
sleepKey
=
(
int
)
Math
.
floor
(
soberHour
);
if
(
Integer
.
parseInt
(
s
.
getHour
())
<=
sleepKey
)
{
soberScore
.
set
(
Integer
.
parseInt
(
s
.
getScore
()));
}
});
if
(
Integer
.
parseInt
(
lightnessConfig
.
getHour
())
<=
lightHour
)
{
int
multiplier
=
(
int
)
lightHour
/
Integer
.
parseInt
(
lightnessConfig
.
getHour
());
lightScore
=
Integer
.
parseInt
(
lightnessConfig
.
getScore
())
*
multiplier
;
}
Integer
totalScore
=
sleepScore
.
get
()
+
deepScore
.
get
()
+
lightScore
-
soberScore
.
get
();
return
String
.
valueOf
(
totalScore
);
}
}
...
@@ -740,9 +787,12 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -740,9 +787,12 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
return
DEFAULT_FORMATTER
.
format
(
LocalDateTime
.
ofInstant
(
Instant
.
ofEpochMilli
(
time
),
ZoneId
.
systemDefault
()));
return
DEFAULT_FORMATTER
.
format
(
LocalDateTime
.
ofInstant
(
Instant
.
ofEpochMilli
(
time
),
ZoneId
.
systemDefault
()));
}
}
public
List
<
String
>
getLastDayHourRange
()
{
public
List
<
String
>
getLastDayHourRange
(
Integer
month
,
Integer
day
)
{
int
count
=
24
;
int
count
=
24
;
LocalDateTime
localDateTime
=
LocalDateTime
.
now
();
LocalDateTime
localDateTime
=
LocalDateTime
.
now
();
if
(
month
!=
null
&&
day
!=
null
)
{
localDateTime
=
LocalDateTime
.
of
(
LocalDate
.
of
(
2023
,
month
,
day
),
LocalTime
.
now
());
}
List
<
String
>
list
=
Lists
.
newArrayList
();
List
<
String
>
list
=
Lists
.
newArrayList
();
String
startTime
;
String
startTime
;
String
endTime
;
String
endTime
;
...
@@ -758,14 +808,6 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -758,14 +808,6 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
return
time
.
atTime
(
0
,
0
,
0
);
return
time
.
atTime
(
0
,
0
,
0
);
}
}
public
static
void
main
(
String
[]
args
)
{
PlatElderSleepServiceImpl
platElderSleepService1
=
new
PlatElderSleepServiceImpl
();
List
<
String
>
lastDayHourRange
=
platElderSleepService1
.
getLastDayHourRange
();
System
.
out
.
println
();
}
@Override
@Override
public
void
test1
()
{
public
void
test1
()
{
int
days
=
30
;
int
days
=
30
;
...
...
server-service/src/main/java/com/makeit/service/platform/space/PlatRegionSettingFixService.java
View file @
16949764
package
com
.
makeit
.
service
.
platform
.
space
;
package
com
.
makeit
.
service
.
platform
.
space
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.dto.platform.space.PlatRegionSettingDTO
;
import
com.makeit.dto.platform.space.PlatRegionSettingFixQueryDTO
;
import
com.makeit.entity.platform.space.PlatRegionSettingFix
;
import
com.makeit.entity.platform.space.PlatRegionSettingFix
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 区域设置固化 服务类
* 区域设置固化 服务类
...
@@ -13,4 +17,6 @@ import com.makeit.entity.platform.space.PlatRegionSettingFix;
...
@@ -13,4 +17,6 @@ import com.makeit.entity.platform.space.PlatRegionSettingFix;
*/
*/
public
interface
PlatRegionSettingFixService
extends
IService
<
PlatRegionSettingFix
>
{
public
interface
PlatRegionSettingFixService
extends
IService
<
PlatRegionSettingFix
>
{
List
<
PlatRegionSettingDTO
>
list
(
PlatRegionSettingFixQueryDTO
dto
);
}
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRegionSettingFixServiceImpl.java
View file @
16949764
package
com
.
makeit
.
service
.
platform
.
space
.
impl
;
package
com
.
makeit
.
service
.
platform
.
space
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.google.common.collect.Lists
;
import
com.makeit.dto.platform.space.PlatRegionSettingDTO
;
import
com.makeit.dto.platform.space.PlatRegionSettingFixQueryDTO
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.space.PlatRegionSettingFix
;
import
com.makeit.entity.platform.space.PlatRegionSettingFix
;
import
com.makeit.mapper.platform.space.PlatRegionSettingFixMapper
;
import
com.makeit.mapper.platform.space.PlatRegionSettingFixMapper
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.space.PlatRegionSettingFixService
;
import
com.makeit.service.platform.space.PlatRegionSettingFixService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.time.format.DateTimeFormatter
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.function.Function
;
import
java.util.function.Predicate
;
import
java.util.stream.Collectors
;
/**
/**
* <p>
* <p>
* 区域设置固化 服务实现类
* 区域设置固化 服务实现类
...
@@ -18,4 +34,42 @@ import org.springframework.stereotype.Service;
...
@@ -18,4 +34,42 @@ import org.springframework.stereotype.Service;
@Service
@Service
public
class
PlatRegionSettingFixServiceImpl
extends
ServiceImpl
<
PlatRegionSettingFixMapper
,
PlatRegionSettingFix
>
implements
PlatRegionSettingFixService
{
public
class
PlatRegionSettingFixServiceImpl
extends
ServiceImpl
<
PlatRegionSettingFixMapper
,
PlatRegionSettingFix
>
implements
PlatRegionSettingFixService
{
@Autowired
private
PlatDeviceService
platDeviceService
;
@Override
public
List
<
PlatRegionSettingDTO
>
list
(
PlatRegionSettingFixQueryDTO
dto
)
{
if
(
StringUtils
.
isAnyBlank
(
dto
.
getReportType
(),
dto
.
getRoomId
()))
{
return
Lists
.
newArrayList
();
}
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
);
LambdaQueryWrapper
<
PlatRegionSettingFix
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
PlatRegionSettingFix:
:
getRoomId
,
dto
.
getRoomId
());
if
(
"0"
.
equals
(
dto
.
getReportType
()))
{
queryWrapper
.
eq
(
PlatRegionSettingFix:
:
getHappenDate
,
dateTimeFormatter
.
format
(
dto
.
getNow
()));
}
else
{
queryWrapper
.
ge
(
PlatRegionSettingFix:
:
getHappenDate
,
dateTimeFormatter
.
format
(
dto
.
getStartTime
()));
queryWrapper
.
le
(
PlatRegionSettingFix:
:
getHappenDate
,
dateTimeFormatter
.
format
(
dto
.
getEndTime
()));
}
queryWrapper
.
orderByDesc
(
PlatRegionSettingFix:
:
getCreateDate
);
List
<
PlatRegionSettingFix
>
list
=
this
.
list
(
queryWrapper
);
list
=
list
.
stream
().
filter
(
distinctByKey
(
PlatRegionSettingFix:
:
getDeviceId
)).
collect
(
Collectors
.
toList
());
List
<
String
>
deviceIds
=
list
.
stream
().
map
(
PlatRegionSettingFix:
:
getDeviceId
).
collect
(
Collectors
.
toList
());
Map
<
String
,
PlatDevice
>
deviceMap
=
platDeviceService
.
listByIds
(
deviceIds
).
stream
().
collect
(
Collectors
.
toMap
(
PlatDevice:
:
getId
,
Function
.
identity
()));
return
list
.
stream
().
map
(
p
->
{
PlatRegionSettingDTO
platRegionSettingDTO
=
new
PlatRegionSettingDTO
();
BeanUtils
.
copyProperties
(
p
,
platRegionSettingDTO
);
PlatDevice
device
=
deviceMap
.
getOrDefault
(
p
.
getDeviceId
(),
new
PlatDevice
());
platRegionSettingDTO
.
setOriDeviceId
(
device
.
getOriDeviceId
());
platRegionSettingDTO
.
setDeviceName
(
device
.
getName
());
platRegionSettingDTO
.
setCategory
(
device
.
getCategory
());
return
platRegionSettingDTO
;
}).
collect
(
Collectors
.
toList
());
}
private
static
<
T
>
Predicate
<
T
>
distinctByKey
(
Function
<?
super
T
,
Object
>
keyExtractor
)
{
Map
<
Object
,
Boolean
>
seen
=
new
ConcurrentHashMap
<>();
return
t
->
seen
.
putIfAbsent
(
keyExtractor
.
apply
(
t
),
Boolean
.
TRUE
)
==
null
;
}
}
}
server-service/src/main/java/com/makeit/task/PlatElderReportTask.java
View file @
16949764
package
com
.
makeit
.
task
;
package
com
.
makeit
.
task
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.service.platform.elder.PlatElderBreatheAnalysisService
;
import
com.makeit.service.platform.elder.*
;
import
com.makeit.service.platform.elder.PlatElderBreatheDayStatService
;
import
com.makeit.service.platform.elder.PlatElderCoordinateRecordService
;
import
com.makeit.service.platform.elder.PlatElderSleepService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
...
@@ -24,6 +21,8 @@ public class PlatElderReportTask {
...
@@ -24,6 +21,8 @@ public class PlatElderReportTask {
private
PlatElderBreatheAnalysisService
platElderBreatheAnalysisService
;
private
PlatElderBreatheAnalysisService
platElderBreatheAnalysisService
;
@Autowired
@Autowired
private
PlatElderCoordinateRecordService
platElderCoordinateRecordService
;
private
PlatElderCoordinateRecordService
platElderCoordinateRecordService
;
@Autowired
private
PlatElderBreatheHeartRateRecordService
platElderBreatheHeartRateRecordService
;
...
@@ -56,13 +55,24 @@ public class PlatElderReportTask {
...
@@ -56,13 +55,24 @@ public class PlatElderReportTask {
}
}
/**
/**
* 生成长者呼吸心率
*/
@Scheduled
(
cron
=
"0 30 2 * * ?"
)
@TenantIdIgnore
public
void
breatheHeartRateRecordTask
()
{
log
.
info
(
"开始生成长者呼吸心率"
);
platElderBreatheHeartRateRecordService
.
breatheHeartRateRecordTask
();
log
.
info
(
"生成长者呼吸心率结束"
);
}
/**
* 长者睡眠分析
* 长者睡眠分析
*/
*/
@Scheduled
(
cron
=
"0 0 8 * * ?"
)
@Scheduled
(
cron
=
"0 0 8 * * ?"
)
@TenantIdIgnore
@TenantIdIgnore
public
void
elderSleepSleepAnalysisTask
()
{
public
void
elderSleepSleepAnalysisTask
()
{
log
.
info
(
"开始定时分析长者睡眠质量"
);
log
.
info
(
"开始定时分析长者睡眠质量"
);
platElderSleepService
.
elderSleepSleepAnalysisTask
();
platElderSleepService
.
elderSleepSleepAnalysisTask
(
null
,
null
);
log
.
info
(
"定时分析长者睡眠质量结束"
);
log
.
info
(
"定时分析长者睡眠质量结束"
);
}
}
}
}
server-service/src/main/java/com/makeit/vo/platform/alarm/PlatAlarmExternalRecordVO.java
0 → 100644
View file @
16949764
package
com
.
makeit
.
vo
.
platform
.
alarm
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.makeit.common.dto.BaseTenantDTO
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.time.LocalDateTime
;
/**
* <p>
* 告警记录
* </p>
*
* @author eugene young
* @since 2023-09-04
*/
@Data
@ApiModel
(
value
=
"PlatAlarmRecord对象"
,
description
=
"告警记录"
)
public
class
PlatAlarmExternalRecordVO
{
/**
* 关联告警配置
*/
private
String
alarmId
;
@ApiModelProperty
(
value
=
"告警类型 数据字典 1 长者跌倒 2 呼吸异常 3 心率异常 4 行为异常,5 离床异常"
)
private
String
alarmType
;
@ApiModelProperty
(
value
=
"告警时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
alarmDate
;
@ApiModelProperty
(
value
=
"状态 0 待处理 1 已处理"
)
private
String
status
;
@ApiModelProperty
(
value
=
"通知家属状态 0 未通知 1 已通知"
)
private
String
noticeStatus
;
@ApiModelProperty
(
value
=
"告警内容"
)
private
String
content
;
@ApiModelProperty
(
value
=
"处理人"
)
private
String
dealUser
;
@ApiModelProperty
(
value
=
"处理时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
dealDate
;
@ApiModelProperty
(
value
=
"所属组织id"
)
private
String
orgId
;
@ApiModelProperty
(
value
=
"告警时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
createDate
;
@ApiModelProperty
(
value
=
"是否误报 1 误报 0 没有误报"
)
private
String
misinformationFlag
;
private
String
deviceId
;
private
PlatDevice
device
;
}
server-service/src/main/java/com/makeit/vo/platform/elder/realtime/PlatElderRealTimeHeartRespiratoryVO.java
View file @
16949764
...
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
...
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.Data
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@Data
@Data
public
class
PlatElderRealTimeHeartRespiratoryVO
{
public
class
PlatElderRealTimeHeartRespiratoryVO
{
...
@@ -23,6 +24,10 @@ public class PlatElderRealTimeHeartRespiratoryVO {
...
@@ -23,6 +24,10 @@ public class PlatElderRealTimeHeartRespiratoryVO {
@ApiModelProperty
(
"状态"
)
@ApiModelProperty
(
"状态"
)
private
String
status
;
private
String
status
;
@ApiModelProperty
(
"人员状态"
)
private
Integer
personState
;
@ApiModelProperty
(
"呼吸波形"
)
private
List
<
Integer
>
point
;
@ApiModelProperty
(
"设备id"
)
@ApiModelProperty
(
"设备id"
)
private
String
deviceId
;
private
String
deviceId
;
...
...
server-web/src/main/java/com/makeit/mqtt/PushCallback.java
View file @
16949764
...
@@ -27,6 +27,7 @@ import com.makeit.service.saas.PlatTenantService;
...
@@ -27,6 +27,7 @@ import com.makeit.service.saas.PlatTenantService;
import
com.makeit.service.saas.SaasSleepAnalysisModelService
;
import
com.makeit.service.saas.SaasSleepAnalysisModelService
;
import
com.makeit.utils.AlarmConfigCacheUtil
;
import
com.makeit.utils.AlarmConfigCacheUtil
;
import
com.makeit.utils.DeviceCacheUtil
;
import
com.makeit.utils.DeviceCacheUtil
;
import
com.makeit.utils.old.StringUtils
;
import
com.makeit.utils.redis.RedisUtil
;
import
com.makeit.utils.redis.RedisUtil
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.eclipse.paho.client.mqttv3.IMqttDeliveryToken
;
import
org.eclipse.paho.client.mqttv3.IMqttDeliveryToken
;
...
@@ -195,7 +196,7 @@ public class PushCallback implements MqttCallback {
...
@@ -195,7 +196,7 @@ public class PushCallback implements MqttCallback {
String
messageType
=
device
.
getMessageType
();
String
messageType
=
device
.
getMessageType
();
//更新设备状态
//更新设备状态
platDeviceService
.
updateDeviceStatus
(
messageType
,
deviceId
,
""
);
platDeviceService
.
updateDeviceStatus
(
messageType
,
deviceId
,
""
);
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
equalsAnyIgnoreCase
(
messageType
,
DeviceState
.
online
.
getValue
()))
{
if
(
StringUtils
.
equalsAnyIgnoreCase
(
messageType
,
DeviceState
.
online
.
getValue
()))
{
return
;
return
;
}
}
for
(
HeaderInfo
.
Bind
binding
:
bindings
)
{
for
(
HeaderInfo
.
Bind
binding
:
bindings
)
{
...
@@ -209,13 +210,13 @@ public class PushCallback implements MqttCallback {
...
@@ -209,13 +210,13 @@ public class PushCallback implements MqttCallback {
//iot设备id
//iot设备id
PlatDevice
platDevice
=
deviceCacheUtil
.
get
(
deviceId
+
":"
+
iot_tenantId
);
PlatDevice
platDevice
=
deviceCacheUtil
.
get
(
deviceId
+
":"
+
iot_tenantId
);
if
(
platDevice
==
null
)
{
if
(
platDevice
==
null
)
{
logger
.
error
(
"获取设备信息异常,设备iot-id,iot_tenantId:"
+
deviceId
+
","
+
iot_tenantId
);
//
logger.error("获取设备信息异常,设备iot-id,iot_tenantId:" + deviceId+","+iot_tenantId);
continue
;
continue
;
}
}
List
<
PlatAlarmConfig
>
deviceAlarmConfigList
=
alarmConfigCacheUtil
.
getDeviceAlarmConfigMap
(
platDevice
);
List
<
PlatAlarmConfig
>
deviceAlarmConfigList
=
alarmConfigCacheUtil
.
getDeviceAlarmConfigMap
(
platDevice
);
deviceAlarmConfigList
.
removeIf
(
Objects:
:
isNull
);
deviceAlarmConfigList
.
removeIf
(
Objects:
:
isNull
);
if
(
CollectionUtils
.
isEmpty
(
deviceAlarmConfigList
))
{
if
(
CollectionUtils
.
isEmpty
(
deviceAlarmConfigList
))
{
logger
.
error
(
"该设备没有告警配置,设备iot-id,iot_tenantId:"
+
deviceId
+
","
+
iot_tenantId
);
//
logger.error("该设备没有告警配置,设备iot-id,iot_tenantId:" + deviceId+","+iot_tenantId);
continue
;
continue
;
}
}
...
@@ -238,6 +239,9 @@ public class PushCallback implements MqttCallback {
...
@@ -238,6 +239,9 @@ public class PushCallback implements MqttCallback {
platAlarmCheckDTO
.
setProperties
(
properties
);
platAlarmCheckDTO
.
setProperties
(
properties
);
//设备状态
//设备状态
platAlarmCheckDTO
.
setMessageType
(
messageType
);
platAlarmCheckDTO
.
setMessageType
(
messageType
);
if
(
properties
!=
null
)
{
platAlarmCheckDTO
.
setDeviceTime
(
properties
.
getString
(
"alarmId"
));
}
alarm
.
checkConfig
(
platAlarmCheckDTO
);
alarm
.
checkConfig
(
platAlarmCheckDTO
);
}
}
}
}
...
...
server-web/src/main/resources/logback-spring-prod.xml
View file @
16949764
...
@@ -59,7 +59,7 @@
...
@@ -59,7 +59,7 @@
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<FileNamePattern>
${logback.logdir}/${logback.appname}/info/log_info.%d{yyyy-MM-dd}.%i.log
</FileNamePattern>
<FileNamePattern>
${logback.logdir}/${logback.appname}/info/log_info.%d{yyyy-MM-dd}.%i.log
</FileNamePattern>
<maxHistory>
3
0
</maxHistory>
<maxHistory>
1
0
</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
>
<timeBasedFileNamingAndTriggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
>
<maxFileSize>
20MB
</maxFileSize>
<maxFileSize>
20MB
</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</timeBasedFileNamingAndTriggeringPolicy>
...
@@ -82,7 +82,7 @@
...
@@ -82,7 +82,7 @@
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<FileNamePattern>
${logback.logdir}/${logback.appname}/error/log_error.%d{yyyy-MM-dd}.%i.log
<FileNamePattern>
${logback.logdir}/${logback.appname}/error/log_error.%d{yyyy-MM-dd}.%i.log
</FileNamePattern>
</FileNamePattern>
<maxHistory>
3
0
</maxHistory>
<maxHistory>
1
0
</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
>
<timeBasedFileNamingAndTriggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
>
<maxFileSize>
20MB
</maxFileSize>
<maxFileSize>
20MB
</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</timeBasedFileNamingAndTriggeringPolicy>
...
@@ -104,7 +104,7 @@
...
@@ -104,7 +104,7 @@
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<FileNamePattern>
${logback.logdir}/${logback.appname}/warn/log_warn.%d{yyyy-MM-dd}.%i.log
</FileNamePattern>
<FileNamePattern>
${logback.logdir}/${logback.appname}/warn/log_warn.%d{yyyy-MM-dd}.%i.log
</FileNamePattern>
<maxHistory>
3
0
</maxHistory>
<maxHistory>
1
0
</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
>
<timeBasedFileNamingAndTriggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
>
<maxFileSize>
20MB
</maxFileSize>
<maxFileSize>
20MB
</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</timeBasedFileNamingAndTriggeringPolicy>
...
...
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