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
22aef231
authored
Nov 16, 2023
by
huangjy
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix:长者实时定位V1
parent
82b40f9f
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
284 additions
and
3 deletions
server-generator/src/test/java/CodeGenerator.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderCoordinateRecord.java
server-service/src/main/java/com/makeit/entity/platform/space/PlatRegionSettingFix.java
server-service/src/main/java/com/makeit/mapper/platform/elder/PlatElderCoordinateRecordMapper.java
server-service/src/main/java/com/makeit/mapper/platform/space/PlatRegionSettingFixMapper.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/elder/PlatElderCoordinateRecordService.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderCoordinateRecordServiceImpl.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-generator/src/test/java/CodeGenerator.java
View file @
22aef231
...
...
@@ -106,7 +106,7 @@ public class CodeGenerator {
// 使用重点 下列字段填写表名 运行方法
// strategy.setInclude("edu_teacher","..."); // 多表-逆向工程
strategy
.
setInclude
(
"plat_
elder_breathe_day_stat
"
);
strategy
.
setInclude
(
"plat_
region_setting_fix"
,
"plat_elder_coordinate_record
"
);
strategy
.
setNaming
(
NamingStrategy
.
underline_to_camel
);
//数据库表映射到实体的命名策略
strategy
.
setTablePrefix
(
pc
.
getModuleName
()
+
"_"
);
//生成实体属性时去掉表"_"前缀并且第一个字母大写 如:gmt_create -> gmtCreate
...
...
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderCoordinateRecord.java
0 → 100644
View file @
22aef231
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
;
/**
* <p>
* 长者坐标记录
* </p>
*
* @author eugene young
* @since 2023-11-15
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"PlatElderCoordinateRecord对象"
,
description
=
"长者坐标记录"
)
public
class
PlatElderCoordinateRecord
extends
BaseBusEntity
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"设备Id"
)
private
String
deviceId
;
@ApiModelProperty
(
value
=
"设备Id"
)
private
String
iotDeviceId
;
@ApiModelProperty
(
value
=
"设备Id"
)
private
String
elderId
;
@ApiModelProperty
(
value
=
"人体目标距离雷达位置"
)
private
Integer
distance
;
@ApiModelProperty
(
value
=
"空间人感:0表示无人,1表示活动, 2表示微动 ,3表示静止 ,跌倒设备:0无人,1跌倒"
)
private
Integer
personState
;
@ApiModelProperty
(
value
=
"1 表示空间, 2 表示跌倒"
)
private
Integer
type
;
@ApiModelProperty
(
value
=
"人体目标偏离雷达法线角度范围:±60,单位°"
)
private
Integer
angle
;
@ApiModelProperty
(
value
=
"安装方式"
)
private
Integer
mount
;
@ApiModelProperty
(
value
=
"跌倒设备轨迹"
)
private
String
track
;
@ApiModelProperty
(
value
=
"跌倒设备轨迹"
)
private
Integer
reportTime
;
}
server-service/src/main/java/com/makeit/entity/platform/space/PlatRegionSettingFix.java
0 → 100644
View file @
22aef231
package
com
.
makeit
.
entity
.
platform
.
space
;
import
com.makeit.common.entity.BaseBusEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* <p>
* 区域设置固化
* </p>
*
* @author eugene young
* @since 2023-11-15
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"PlatRegionSettingFix对象"
,
description
=
"区域设置固化"
)
public
class
PlatRegionSettingFix
extends
BaseBusEntity
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"安装方式 1-顶装 0-侧装"
)
private
String
installType
;
@ApiModelProperty
(
value
=
"设备朝向 0-上 1-下 2-左 3-右"
)
private
String
toward
;
@ApiModelProperty
(
value
=
"区域名称"
)
private
String
regionName
;
@ApiModelProperty
(
value
=
"区域定位"
)
private
String
regionRange
;
@ApiModelProperty
(
value
=
"房间门定位"
)
private
String
roomRange
;
@ApiModelProperty
(
value
=
"设备定位"
)
private
String
equipmentRange
;
@ApiModelProperty
(
value
=
"设备Id"
)
private
String
deviceId
;
@ApiModelProperty
(
value
=
"长者id"
)
private
String
elderId
;
@ApiModelProperty
(
value
=
"当前日期 yyyy-mm-dd"
)
private
String
happenDate
;
@ApiModelProperty
(
value
=
"房间id"
)
private
String
roomId
;
@ApiModelProperty
(
value
=
"背景色"
)
private
String
background
;
}
server-service/src/main/java/com/makeit/mapper/platform/elder/PlatElderCoordinateRecordMapper.java
0 → 100644
View file @
22aef231
package
com
.
makeit
.
mapper
.
platform
.
elder
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.makeit.entity.platform.elder.PlatElderCoordinateRecord
;
/**
* <p>
* 长者坐标记录 Mapper 接口
* </p>
*
* @author eugene young
* @since 2023-11-15
*/
public
interface
PlatElderCoordinateRecordMapper
extends
BaseMapper
<
PlatElderCoordinateRecord
>
{
}
server-service/src/main/java/com/makeit/mapper/platform/space/PlatRegionSettingFixMapper.java
0 → 100644
View file @
22aef231
package
com
.
makeit
.
mapper
.
platform
.
space
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.makeit.entity.platform.space.PlatRegionSettingFix
;
/**
* <p>
* 区域设置固化 Mapper 接口
* </p>
*
* @author eugene young
* @since 2023-11-15
*/
public
interface
PlatRegionSettingFixMapper
extends
BaseMapper
<
PlatRegionSettingFix
>
{
}
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BreathAlarm.java
View file @
22aef231
...
...
@@ -95,6 +95,7 @@ public class BreathAlarm implements IAlarm {
int
hasPerson
=
(
int
)
properties
.
get
(
"person"
);
if
(
0
==
hasPerson
)
{
log
.
info
(
"当前上报数据无人,不需要告警"
);
RedisUtil
.
delete
(
RedisConst
.
ALARM_DEVICE_BR_ID
+
deviceId
);
return
;
}
...
...
@@ -125,7 +126,7 @@ public class BreathAlarm implements IAlarm {
}
Long
startLong
=
alarmRedisDTO
.
getStartLong
();
long
count
=
endLong
-
startLong
;
if
(
count
/
1000
>=
duration
)
{
if
(
duration
+
5
>=
count
/
1000
&&
count
/
1000
>=
duration
)
{
if
(
StringUtils
.
equals
(
alarmRedisDTO
.
getAlarm
(),
CommonEnum
.
YES
.
getValue
()))
{
log
.
error
(
"呼吸已告警,设备plat_id:"
+
platDevice
.
getId
());
return
;
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/HeartAlarm.java
View file @
22aef231
...
...
@@ -99,6 +99,7 @@ public class HeartAlarm implements IAlarm {
int
hasPerson
=
(
int
)
properties
.
get
(
"person"
);
if
(
0
==
hasPerson
)
{
log
.
info
(
"当前上报数据无人,不需要告警"
);
RedisUtil
.
delete
(
RedisConst
.
ALARM_DEVICE_HR_ID
+
deviceId
);
return
;
}
...
...
@@ -114,7 +115,7 @@ public class HeartAlarm implements IAlarm {
}
Long
startLong
=
alarmRedisDTO
.
getStartLong
();
long
count
=
endLong
-
startLong
;
if
(
count
/
1000
>=
duration
)
{
if
(
duration
+
5
>=
count
/
1000
&&
count
/
1000
>=
duration
)
{
//todo 如果每台服务器都能收到上报消息 加redis锁
//RLock lock = RedisLockUtil.lock(RedisConst.LOCK_ALARM + deviceId);
if
(
StringUtils
.
equals
(
alarmRedisDTO
.
getAlarm
(),
CommonEnum
.
YES
.
getValue
()))
{
...
...
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderCoordinateRecordService.java
0 → 100644
View file @
22aef231
package
com
.
makeit
.
service
.
platform
.
elder
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.entity.platform.elder.PlatElderCoordinateRecord
;
/**
* <p>
* 长者坐标记录 服务类
* </p>
*
* @author eugene young
* @since 2023-11-15
*/
public
interface
PlatElderCoordinateRecordService
extends
IService
<
PlatElderCoordinateRecord
>
{
void
coordinateRecordTask
();
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderCoordinateRecordServiceImpl.java
0 → 100644
View file @
22aef231
package
com
.
makeit
.
service
.
platform
.
elder
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.elder.PlatElderCoordinateRecord
;
import
com.makeit.mapper.platform.elder.PlatElderCoordinateRecordMapper
;
import
com.makeit.service.platform.elder.PlatElderCoordinateRecordService
;
import
com.makeit.service.platform.elder.PlatElderDayReportDayService
;
import
com.makeit.service.platform.elder.PlatElderRealTimeService
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.platform.space.PlatRegionSettingFixService
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.time.LocalDateTimeUtils
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
* <p>
* 长者坐标记录 服务实现类
* </p>
*
* @author eugene young
* @since 2023-11-15
*/
@Service
public
class
PlatElderCoordinateRecordServiceImpl
extends
ServiceImpl
<
PlatElderCoordinateRecordMapper
,
PlatElderCoordinateRecord
>
implements
PlatElderCoordinateRecordService
{
@Autowired
private
PlatElderService
platElderService
;
@Autowired
private
PlatElderDayReportDayService
platElderDayReportDayService
;
@Autowired
private
PlatRegionSettingFixService
platRegionSettingFixService
;
@Autowired
private
PlatElderRealTimeService
platElderRealTimeService
;
@Override
public
void
coordinateRecordTask
()
{
LocalDate
nowDate
=
LocalDate
.
now
();
LocalDate
yesDate
=
nowDate
.
minusDays
(
1
);
LocalDateTime
datStart
=
LocalDateTimeUtils
.
getDayStart
(
yesDate
);
LocalDateTime
dayEnd
=
LocalDateTimeUtils
.
getDayEnd
(
yesDate
);
List
<
PlatElder
>
elderList
=
platElderService
.
list
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
isNotNull
(
PlatElder:
:
getRoomId
));
if
(
CollectionUtils
.
isEmpty
(
elderList
))
{
return
;
}
List
<
String
>
elderIdList
=
StreamUtil
.
map
(
elderList
,
BaseEntity:
:
getId
);
for
(
PlatElder
platElder
:
elderList
)
{
PlatDevice
platDevice
=
platElderRealTimeService
.
getBreathDevice
(
platElder
.
getId
(),
null
);
List
<
PlatElderCoordinateVO
>
elderCoordinateVOList
=
platElderDayReportDayService
.
coordinateList
(
platElder
.
getId
(),
null
,
datStart
,
dayEnd
);
}
}
}
server-service/src/main/java/com/makeit/service/platform/space/PlatRegionSettingFixService.java
0 → 100644
View file @
22aef231
package
com
.
makeit
.
service
.
platform
.
space
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.entity.platform.space.PlatRegionSettingFix
;
/**
* <p>
* 区域设置固化 服务类
* </p>
*
* @author eugene young
* @since 2023-11-15
*/
public
interface
PlatRegionSettingFixService
extends
IService
<
PlatRegionSettingFix
>
{
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRegionSettingFixServiceImpl.java
0 → 100644
View file @
22aef231
package
com
.
makeit
.
service
.
platform
.
space
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.entity.platform.space.PlatRegionSettingFix
;
import
com.makeit.mapper.platform.space.PlatRegionSettingFixMapper
;
import
com.makeit.service.platform.space.PlatRegionSettingFixService
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 区域设置固化 服务实现类
* </p>
*
* @author eugene young
* @since 2023-11-15
*/
@Service
public
class
PlatRegionSettingFixServiceImpl
extends
ServiceImpl
<
PlatRegionSettingFixMapper
,
PlatRegionSettingFix
>
implements
PlatRegionSettingFixService
{
}
server-service/src/main/java/com/makeit/task/PlatElderReportTask.java
View file @
22aef231
...
...
@@ -3,6 +3,7 @@ package com.makeit.task;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.service.platform.elder.PlatElderBreatheAnalysisService
;
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
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -19,6 +20,8 @@ public class PlatElderReportTask {
private
PlatElderBreatheDayStatService
platElderBreatheDayStatService
;
@Autowired
private
PlatElderBreatheAnalysisService
platElderBreatheAnalysisService
;
@Autowired
private
PlatElderCoordinateRecordService
platElderCoordinateRecordService
;
...
...
@@ -30,6 +33,14 @@ public class PlatElderReportTask {
log
.
info
(
"生成长者每日呼吸,异常情况结束"
);
}
// @Scheduled(cron = "0 0 1 * * ?")
@TenantIdIgnore
public
void
coordinateRecordTask
()
{
log
.
info
(
"开始生成长者每日呼吸,异常情况"
);
platElderCoordinateRecordService
.
coordinateRecordTask
();
log
.
info
(
"生成长者每日呼吸,异常情况结束"
);
}
/**
* 长者呼吸心率分析
...
...
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