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
0ac0edb0
authored
Sep 25, 2023
by
李小龙
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix: 告警配置获取长者健康数据
parent
317702ea
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
283 additions
and
23 deletions
server-common/src/main/java/com/makeit/enums/redis/RedisConst.java
server-module/src/main/java/com/makeit/module/controller/device/PlatDeviceController.java
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatHealthConfigDTO.java
server-service/src/main/java/com/makeit/mapper/platform/alarm/PlatAlarmConfigMapper.java
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmConfigService.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/HeartAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmConfigServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderServiceImpl.java
server-service/src/main/java/com/makeit/task/IotSyncTask.java
server-service/src/main/java/com/makeit/utils/PersonalConfigCacheUtil.java
server-service/src/main/resources/mappers/PlatElderMapper.xml
server-common/src/main/java/com/makeit/enums/redis/RedisConst.java
View file @
0ac0edb0
...
...
@@ -104,6 +104,8 @@ public class RedisConst {
public
static
final
String
LOCK_ALARM
=
"lock:alarm:device:id:"
;
public
static
final
String
ALARM_HEALTH_CONFIG_PREFIX
=
"alarm:config:device:id:"
;
...
...
server-module/src/main/java/com/makeit/module/controller/device/PlatDeviceController.java
View file @
0ac0edb0
...
...
@@ -66,7 +66,7 @@ public class PlatDeviceController {
@AuthIgnore
@TenantIdIgnore
public
ApiResponseEntity
<
Void
>
iotSyncTask
(
@RequestBody
BaseIdDTO
baseIdDTO
)
{
iotSyncTask
.
s
yncEquipmentInfo
();
iotSyncTask
.
s
avePlatDevice
();
return
ApiResponseUtils
.
success
();
}
...
...
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatHealthConfigDTO.java
0 → 100644
View file @
0ac0edb0
package
com
.
makeit
.
dto
.
platform
.
alarm
;
import
lombok.Data
;
import
org.apache.commons.lang3.StringUtils
;
@Data
public
class
PlatHealthConfigDTO
{
private
String
platElderId
;
private
Integer
heartRateStart
;
private
Integer
heartRateEnd
;
private
Integer
heartDuration
;
private
String
heartRateStr
;
private
Integer
breathRateStart
;
private
Integer
breathRateEnd
;
private
Integer
breathDuration
;
private
String
breathRateStr
;
private
boolean
heartConfig
=
false
;
private
boolean
breathConfig
=
false
;
public
boolean
checkAndFillHeartConfig
(){
if
(
StringUtils
.
isBlank
(
heartRateStr
)){
return
false
;
}
if
(
heartDuration
==
null
||
heartDuration
==
0
){
return
false
;
}
String
[]
split
=
heartRateStr
.
split
(
"-"
);
if
(
split
.
length
==
2
){
heartRateStart
=
Integer
.
valueOf
(
split
[
0
]);
heartRateEnd
=
Integer
.
valueOf
(
split
[
1
]);
}
else
{
return
false
;
}
heartConfig
=
true
;
return
true
;
}
public
boolean
checkAndFillBreathConfig
(){
if
(
StringUtils
.
isBlank
(
breathRateStr
)){
return
false
;
}
if
(
breathDuration
==
null
||
breathDuration
==
0
){
return
false
;
}
String
[]
split
=
breathRateStr
.
split
(
"-"
);
if
(
split
.
length
==
2
){
breathRateStart
=
Integer
.
valueOf
(
split
[
0
]);
breathRateEnd
=
Integer
.
valueOf
(
split
[
1
]);
}
else
{
return
false
;
}
breathConfig
=
true
;
return
true
;
}
public
PlatAlarmConfigHeartDTOVO
getAlarmConfigHeartDTO
(){
if
(
heartConfig
){
PlatAlarmConfigHeartDTOVO
dto
=
new
PlatAlarmConfigHeartDTOVO
();
dto
.
setHeartRateStart
(
heartRateStart
);
dto
.
setHeartRateeEnd
(
heartRateEnd
);
dto
.
setDuration
(
heartDuration
);
return
dto
;
}
return
null
;
}
public
PlatAlarmConfigRespiratoryDTOVO
getAlarmConfigRespiratoryDTOVO
(){
if
(
breathConfig
){
PlatAlarmConfigRespiratoryDTOVO
dto
=
new
PlatAlarmConfigRespiratoryDTOVO
();
dto
.
setRespiratoryRateStart
(
breathRateStart
);
dto
.
setRespiratoryRateEnd
(
breathRateEnd
);
dto
.
setDuration
(
breathDuration
);
return
dto
;
}
return
null
;
}
}
server-service/src/main/java/com/makeit/mapper/platform/alarm/PlatAlarmConfigMapper.java
View file @
0ac0edb0
package
com
.
makeit
.
mapper
.
platform
.
alarm
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.makeit.dto.platform.alarm.PlatHealthConfigDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
java.util.List
;
/**
* <p>
* 告警配置 Mapper 接口
...
...
@@ -13,4 +16,9 @@ import com.makeit.entity.platform.alarm.PlatAlarmConfig;
*/
public
interface
PlatAlarmConfigMapper
extends
BaseMapper
<
PlatAlarmConfig
>
{
/**
* 设备id 老人id 配置
* @return
*/
List
<
PlatHealthConfigDTO
>
getHealthConfigList
();
}
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmConfigService.java
View file @
0ac0edb0
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigDTOVO
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigQueryDTO
;
import
com.makeit.dto.platform.alarm.PlatHealthConfigDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.auth.PlatOrg
;
import
com.makeit.vo.platform.alarm.PlatAlarmConfigListVO
;
...
...
@@ -38,4 +39,6 @@ public interface PlatAlarmConfigService extends IService<PlatAlarmConfig> {
void
copyForOrg
(
PlatOrg
org
);
List
<
PlatHealthConfigDTO
>
getHealthConfigList
();
}
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BreathAlarm.java
View file @
0ac0edb0
...
...
@@ -4,6 +4,7 @@ import cn.hutool.core.convert.Convert;
import
com.alibaba.fastjson.JSONObject
;
import
com.makeit.dto.platform.alarm.PlatAlarmCheckDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigRespiratoryDTOVO
;
import
com.makeit.dto.platform.alarm.PlatHealthConfigDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.device.PlatDevice
;
...
...
@@ -13,6 +14,7 @@ import com.makeit.enums.platform.alarm.PlatAlarmConfigEnum;
import
com.makeit.enums.redis.RedisConst
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.utils.AlarmRedisDTO
;
import
com.makeit.utils.PersonalConfigCacheUtil
;
import
com.makeit.utils.data.convert.JsonUtil
;
import
com.makeit.utils.redis.RedisUtil
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -33,6 +35,9 @@ public class BreathAlarm implements IAlarm {
private
final
PlatAlarmConfigEnum
.
AlarmTypeEnum
alarmTypeEnum
=
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
BREATHE
;
@Autowired
private
PersonalConfigCacheUtil
personalConfigCacheUtil
;
@Override
public
boolean
support
(
String
alarmType
)
{
return
StringUtils
.
equals
(
alarmType
,
alarmTypeEnum
.
getValue
());
...
...
@@ -50,23 +55,41 @@ public class BreathAlarm implements IAlarm {
@Override
public
void
checkConfig
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
//todo 获取老人健康的阈值
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
String
ruleConfigStr
=
config
.
getRuleConfig
();
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
List
<
PlatElder
>
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
if
(
CollectionUtils
.
isEmpty
(
platElderList
)){
log
.
error
(
"呼吸设备未关联长者,设备plat_id:"
+
platAlarmCheckDTO
.
getPlatDevice
().
getId
());
return
;
}
PlatElder
platElder
=
platElderList
.
get
(
0
);
PlatHealthConfigDTO
platHealthConfigDTO
=
personalConfigCacheUtil
.
get
(
platElder
.
getId
());
PlatAlarmConfigRespiratoryDTOVO
ruleConfig
;
if
(
platHealthConfigDTO
!=
null
&&
platHealthConfigDTO
.
isBreathConfig
()){
ruleConfig
=
platHealthConfigDTO
.
getAlarmConfigRespiratoryDTOVO
();
}
else
{
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
String
ruleConfigStr
=
config
.
getRuleConfig
();
if
(
StringUtils
.
isBlank
(
ruleConfigStr
))
{
log
.
error
(
"呼吸告警配置未配置,告警配置id:"
+
config
.
getId
());
return
;
}
ruleConfig
=
JsonUtil
.
toObj
(
ruleConfigStr
,
PlatAlarmConfigRespiratoryDTOVO
.
class
);
}
Integer
start
=
ruleConfig
.
getRespiratoryRateStart
();
Integer
end
=
ruleConfig
.
getRespiratoryRateEnd
();
Integer
duration
=
ruleConfig
.
getDuration
();
JSONObject
properties
=
platAlarmCheckDTO
.
getProperties
();
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
String
deviceId
=
platDevice
.
getOriDeviceId
();
if
(
StringUtils
.
isBlank
(
ruleConfigStr
))
{
log
.
error
(
"呼吸告警配置未配置,告警配置id:"
+
config
.
getId
());
return
;
}
String
personState
=
Convert
.
toStr
(
properties
.
get
(
"personState"
));
//呼吸率
int
br
=
(
int
)
properties
.
get
(
"br"
);
PlatAlarmConfigRespiratoryDTOVO
ruleConfig
=
JsonUtil
.
toObj
(
ruleConfigStr
,
PlatAlarmConfigRespiratoryDTOVO
.
class
);
Integer
start
=
ruleConfig
.
getRespiratoryRateStart
();
Integer
end
=
ruleConfig
.
getRespiratoryRateEnd
();
Integer
duration
=
ruleConfig
.
getDuration
();
Date
now
=
new
Date
();
long
endLong
=
now
.
getTime
();
//计数
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/HeartAlarm.java
View file @
0ac0edb0
...
...
@@ -4,6 +4,7 @@ import cn.hutool.core.convert.Convert;
import
com.alibaba.fastjson.JSONObject
;
import
com.makeit.dto.platform.alarm.PlatAlarmCheckDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigHeartDTOVO
;
import
com.makeit.dto.platform.alarm.PlatHealthConfigDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.device.PlatDevice
;
...
...
@@ -14,6 +15,7 @@ import com.makeit.enums.redis.RedisConst;
import
com.makeit.exception.BusinessException
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.utils.AlarmRedisDTO
;
import
com.makeit.utils.PersonalConfigCacheUtil
;
import
com.makeit.utils.data.convert.JsonUtil
;
import
com.makeit.utils.redis.RedisUtil
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -34,6 +36,9 @@ public class HeartAlarm implements IAlarm {
private
final
PlatAlarmConfigEnum
.
AlarmTypeEnum
alarmTypeEnum
=
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
HEART
;
@Autowired
private
PersonalConfigCacheUtil
personalConfigCacheUtil
;
@Override
public
boolean
support
(
String
alarmType
)
{
return
StringUtils
.
equals
(
alarmType
,
alarmTypeEnum
.
getValue
());
...
...
@@ -42,22 +47,37 @@ public class HeartAlarm implements IAlarm {
@Override
public
void
checkConfig
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
//todo 获取老人健康的阈值
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
String
ruleConfigStr
=
config
.
getRuleConfig
();
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
List
<
PlatElder
>
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
if
(
CollectionUtils
.
isEmpty
(
platElderList
)){
log
.
error
(
"心率设备未关联长者,设备plat_id:"
+
platAlarmCheckDTO
.
getPlatDevice
().
getId
());
return
;
}
PlatElder
platElder
=
platElderList
.
get
(
0
);
PlatHealthConfigDTO
platHealthConfigDTO
=
personalConfigCacheUtil
.
get
(
platElder
.
getId
());
PlatAlarmConfigHeartDTOVO
ruleConfig
;
if
(
platHealthConfigDTO
!=
null
&&
platHealthConfigDTO
.
isHeartConfig
()){
ruleConfig
=
platHealthConfigDTO
.
getAlarmConfigHeartDTO
();
}
else
{
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
String
ruleConfigStr
=
config
.
getRuleConfig
();
if
(
StringUtils
.
isBlank
(
ruleConfigStr
))
{
log
.
error
(
"心率告警配置未配置,告警配置id:"
+
config
.
getId
());
return
;
}
ruleConfig
=
JsonUtil
.
toObj
(
ruleConfigStr
,
PlatAlarmConfigHeartDTOVO
.
class
);
}
JSONObject
properties
=
platAlarmCheckDTO
.
getProperties
();
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
String
deviceId
=
platDevice
.
getOriDeviceId
();
if
(
StringUtils
.
isBlank
(
ruleConfigStr
))
{
log
.
error
(
"心率告警配置未配置,告警配置id:"
+
config
.
getId
());
return
;
}
String
personState
=
Convert
.
toStr
(
properties
.
get
(
"personState"
));
//心率
int
hr
=
(
int
)
properties
.
get
(
"hr"
);
PlatAlarmConfigHeartDTOVO
ruleConfig
=
JsonUtil
.
toObj
(
ruleConfigStr
,
PlatAlarmConfigHeartDTOVO
.
class
);
Integer
start
=
ruleConfig
.
getHeartRateStart
();
Integer
end
=
ruleConfig
.
getHeartRateeEnd
();
Integer
duration
=
ruleConfig
.
getDuration
();
String
personState
=
Convert
.
toStr
(
properties
.
get
(
"personState"
));
//心率
int
hr
=
(
int
)
properties
.
get
(
"hr"
);
Date
now
=
new
Date
();
long
endLong
=
now
.
getTime
();
//计数
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmConfigServiceImpl.java
View file @
0ac0edb0
...
...
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigDTOVO
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigQueryDTO
;
import
com.makeit.dto.platform.alarm.PlatHealthConfigDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.auth.PlatOrg
;
import
com.makeit.entity.platform.auth.PlatUser
;
...
...
@@ -214,4 +215,8 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
alarmConfigUtil
.
putAll
(
configList
);
}
@Override
public
List
<
PlatHealthConfigDTO
>
getHealthConfigList
()
{
return
baseMapper
.
getHealthConfigList
();
}
}
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
View file @
0ac0edb0
...
...
@@ -356,6 +356,9 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
@Override
@TenantIdIgnore
public
void
getElderListByDeviceId
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
if
(
CollectionUtils
.
isNotEmpty
(
platAlarmCheckDTO
.
getPlatElderList
())){
return
;
}
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
String
tenantId
=
platDevice
.
getTenantId
();
LambdaQueryWrapper
<
PlatRoomBedDevice
>
roomBedDeviceLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderServiceImpl.java
View file @
0ac0edb0
...
...
@@ -37,6 +37,7 @@ import com.makeit.service.platform.space.PlatBedService;
import
com.makeit.service.platform.space.PlatRoomBedDeviceService
;
import
com.makeit.service.platform.space.PlatRoomService
;
import
com.makeit.service.platform.space.PlatSpaceService
;
import
com.makeit.utils.PersonalConfigCacheUtil
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.PageUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
...
...
@@ -103,6 +104,9 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
@Autowired
private
PlatRoomBedDeviceService
platRoomBedDeviceService
;
@Autowired
private
PersonalConfigCacheUtil
personalConfigCacheUtil
;
private
LambdaQueryWrapper
<
PlatElder
>
lambdaQueryWrapper
(
PlatElderQueryDTO
dto
)
{
return
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getName
()),
PlatElder:
:
getName
,
dto
.
getName
())
...
...
@@ -620,6 +624,10 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
platElderHealthInfoService
.
saveOrUpdate
(
healthInfo
);
personalConfigCacheUtil
.
put
(
healthInfo
);
PlatElderOtherInfo
otherInfo
=
platElderOtherInfoService
.
getOne
(
new
QueryWrapper
<
PlatElderOtherInfo
>().
lambda
()
.
eq
(
PlatElderOtherInfo:
:
getElderId
,
dto
.
getId
()));
if
(
otherInfo
==
null
)
{
...
...
server-service/src/main/java/com/makeit/task/IotSyncTask.java
View file @
0ac0edb0
...
...
@@ -53,9 +53,13 @@ public class IotSyncTask {
* 启用状态的租户才同步
* 新增和更新平台端设备表
*/
//@Scheduled(cron = "0 0 */1 * * ?")
@TenantIdIgnore
@Scheduled
(
cron
=
"0 0 */1 * * ?"
)
public
void
syncEquipmentInfo
()
{
savePlatDevice
();
}
public
void
savePlatDevice
(){
log
.
info
(
"开始执行同步设备信息接口"
);
LambdaQueryWrapper
<
PlatTenant
>
tenantLambdaQueryWrapper
=
new
LambdaQueryWrapper
<
PlatTenant
>().
eq
(
PlatTenant:
:
getStatus
,
CommonEnum
.
YES
.
getValue
());
List
<
PlatTenant
>
platTenants
=
platTenantService
.
list
(
tenantLambdaQueryWrapper
);
...
...
server-service/src/main/java/com/makeit/utils/PersonalConfigCacheUtil.java
0 → 100644
View file @
0ac0edb0
package
com
.
makeit
.
utils
;
import
com.makeit.dto.platform.alarm.PlatHealthConfigDTO
;
import
com.makeit.entity.platform.elder.PlatElderHealthInfo
;
import
com.makeit.enums.redis.RedisConst
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnoreUtil
;
import
com.makeit.service.platform.alarm.PlatAlarmConfigService
;
import
com.makeit.utils.redis.RedisUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.ApplicationArguments
;
import
org.springframework.boot.ApplicationRunner
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
@Component
public
class
PersonalConfigCacheUtil
implements
ApplicationRunner
{
@Autowired
private
PlatAlarmConfigService
platAlarmConfigService
;
/**
* 设备id
* @return
*/
public
List
<
PlatHealthConfigDTO
>
getAll
()
{
return
TenantIdIgnoreUtil
.
execute
(()->{
List
<
PlatHealthConfigDTO
>
list
=
platAlarmConfigService
.
getHealthConfigList
();
list
.
forEach
(
vo
->{
put
(
vo
);
});
return
list
;
});
}
public
void
put
(
PlatHealthConfigDTO
dto
)
{
boolean
checkAndFillHeartConfig
=
dto
.
checkAndFillHeartConfig
();
boolean
checkAndFillBreathConfig
=
dto
.
checkAndFillBreathConfig
();
if
(!
checkAndFillHeartConfig
&&!
checkAndFillBreathConfig
){
RedisUtil
.
delete
(
RedisConst
.
ALARM_HEALTH_CONFIG_PREFIX
+
":"
+
dto
.
getPlatElderId
());
}
else
{
RedisUtil
.
set
(
RedisConst
.
ALARM_HEALTH_CONFIG_PREFIX
+
":"
+
dto
.
getPlatElderId
(),
dto
);
}
}
public
PlatHealthConfigDTO
get
(
String
platElderId
)
{
PlatHealthConfigDTO
dto
=
RedisUtil
.
get
(
RedisConst
.
ALARM_HEALTH_CONFIG_PREFIX
+
":"
+
platElderId
);
return
dto
;
}
@Override
@TenantIdIgnore
public
void
run
(
ApplicationArguments
args
)
throws
Exception
{
getAll
();
}
public
void
put
(
PlatElderHealthInfo
entity
){
PlatHealthConfigDTO
dto
=
new
PlatHealthConfigDTO
();
dto
.
setPlatElderId
(
entity
.
getElderId
());
if
(
StringUtils
.
isNotBlank
(
entity
.
getHeartExceptionTime
()))
{
dto
.
setHeartDuration
(
Integer
.
valueOf
(
entity
.
getHeartExceptionTime
()));
dto
.
setHeartRateStr
(
entity
.
getHeartRate
());
}
if
(
StringUtils
.
isNotBlank
(
entity
.
getRespiratoryExceptionTime
())){
dto
.
setBreathDuration
(
Integer
.
valueOf
(
entity
.
getRespiratoryExceptionTime
()));
dto
.
setBreathRateStr
(
entity
.
getRespiratoryRate
());
}
put
(
dto
);
}
}
server-service/src/main/resources/mappers/PlatElderMapper.xml
0 → 100644
View file @
0ac0edb0
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.makeit.mapper.platform.alarm.PlatAlarmConfigMapper"
>
<select
id=
"getHealthConfigList"
resultType=
"com.makeit.dto.platform.alarm.PlatHealthConfigDTO"
>
select pehi.elder_id as platElderId,
pehi.respiratory_rate as heartRateStr,
pehi.respiratory_exception_time as heartDuration,
pehi.heart_rate as breathRateStr,
pehi.heart_exception_time as breathDuration
from plat_elder_health_info pehi
left join plat_elder pe on pe.id = pehi.elder_id
where pehi.del_flag = 0
and pe.del_flag = 0
and ((pehi.heart_exception_time is not null and pehi.heart_rate is not null
and pehi.heart_exception_time != '' and pehi.heart_rate != '')
or (pehi.respiratory_exception_time is not null and pehi.respiratory_rate is not null
and pehi.respiratory_exception_time != '' and pehi.respiratory_rate != '')
)
</select>
</mapper>
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