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
a20399eb
authored
Sep 26, 2023
by
朱淼
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge branch 'dev' of
http://git.xmmakeit.com/huangjiay/iot-platform-server
into dev
parents
906e8fab
96d48efc
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
199 additions
and
104 deletions
server-common/src/main/java/com/makeit/utils/data/convert/MathUtil.java
server-module/src/main/java/com/makeit/module/controller/alarm/PlatAlarmConfigController.java
server-module/src/main/java/com/makeit/module/controller/children/elder/PlatElderReportWeekChildrenController.java
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlarmCheckDTO.java
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlarmConfigBehaviorDTOVO.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElder.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderSleep.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/impl/PlatAlarmRecordServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatOrgServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderChildrenInfoServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportWeekServiceImpl.java
server-service/src/main/java/com/makeit/service/wechat/impl/PlatElderChildrenInfoUserLoginWechatServiceImpl.java
server-common/src/main/java/com/makeit/utils/data/convert/MathUtil.java
View file @
a20399eb
...
...
@@ -5,13 +5,56 @@ import java.math.RoundingMode;
public
class
MathUtil
{
public
static
BigDecimal
divideZero
(
BigDecimal
a
,
BigDecimal
b
,
int
scale
,
RoundingMode
roundingMode
)
{
public
static
int
divideZero
(
int
a
,
int
b
)
{
if
(
b
==
0
)
{
return
0
;
}
return
a
/
b
;
}
public
static
long
divideZero
(
long
a
,
long
b
)
{
if
(
b
==
0
)
{
return
0
;
}
return
a
/
b
;
}
public
static
Integer
divideNull
(
int
a
,
int
b
)
{
if
(
b
==
0
)
{
return
null
;
}
return
a
/
b
;
}
public
static
Long
divideNull
(
long
a
,
long
b
)
{
if
(
b
==
0
)
{
return
null
;
}
return
a
/
b
;
}
public
static
BigDecimal
divideNull
(
BigDecimal
a
,
BigDecimal
b
,
int
scale
,
RoundingMode
roundingMode
)
{
if
(
b
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
return
null
;
}
return
a
.
divide
(
b
,
scale
,
roundingMode
);
}
public
static
BigDecimal
decimalDivideZero
(
BigDecimal
a
,
BigDecimal
b
,
int
scale
,
RoundingMode
roundingMode
)
{
if
(
b
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
return
BigDecimal
.
ZERO
;
}
return
a
.
divide
(
b
,
scale
,
roundingMode
);
}
public
static
BigDecimal
decimalDivideNull
(
BigDecimal
a
,
BigDecimal
b
,
int
scale
,
RoundingMode
roundingMode
)
{
if
(
b
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
return
null
;
}
return
a
.
divide
(
b
,
scale
,
roundingMode
);
}
public
static
BigDecimal
min
(
BigDecimal
a
,
BigDecimal
b
)
{
BigDecimal
min
=
a
;
...
...
@@ -41,11 +84,12 @@ public class MathUtil {
return
Math
.
min
(
Math
.
min
(
a
,
b
),
c
);
}
public
static
Long
orZero
(
Long
a
){
return
a
==
null
?
0L
:
a
;
public
static
Long
orZero
(
Long
a
)
{
return
a
==
null
?
0L
:
a
;
}
public
static
Integer
orZero
(
Integer
a
){
return
a
==
null
?
0
:
a
;
public
static
Integer
orZero
(
Integer
a
)
{
return
a
==
null
?
0
:
a
;
}
}
server-module/src/main/java/com/makeit/module/controller/alarm/PlatAlarmConfigController.java
View file @
a20399eb
...
...
@@ -7,6 +7,7 @@ import com.makeit.common.response.ApiResponseEntity;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigDTOVO
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigQueryDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.global.annotation.AuthIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.service.platform.alarm.PlatAlarmConfigService
;
...
...
@@ -90,9 +91,9 @@ public class PlatAlarmConfigController {
@PostMapping
(
"test"
)
@TenantIdIgnore
@AuthIgnore
public
ApiResponseEntity
<
?
>
test
(
@Validated
@RequestBody
PlatAlarmConfigDTOVO
dto
)
{
alarmConfigCacheUtil
.
get
(
dto
.
getOrgId
(),
dto
.
getAlarmType
());
return
ApiResponseUtils
.
success
();
public
ApiResponseEntity
<
PlatAlarmConfig
>
test
(
@Validated
@RequestBody
PlatAlarmConfigDTOVO
dto
)
{
PlatAlarmConfig
config
=
alarmConfigCacheUtil
.
get
(
dto
.
getOrgId
(),
dto
.
getAlarmType
());
return
ApiResponseUtils
.
success
(
config
);
}
...
...
server-module/src/main/java/com/makeit/module/controller/children/elder/PlatElderReportWeekChildrenController.java
View file @
a20399eb
...
...
@@ -4,6 +4,7 @@ package com.makeit.module.controller.children.elder;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.elder.PlatElderReportDTO
;
import
com.makeit.global.annotation.AuthIgnore
;
import
com.makeit.service.platform.elder.PlatElderDayReportWeekService
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
com.makeit.vo.platform.elder.report.day.*
;
...
...
@@ -102,5 +103,14 @@ public class PlatElderReportWeekChildrenController {
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
behaviorDistribution
(
platElderIdDTO
));
}
@ApiOperation
(
"定时任务"
)
@PostMapping
(
"heartRespiratoryJob"
)
@AuthIgnore
public
ApiResponseEntity
<
String
>
heartRespiratoryJob
()
{
platElderDayReportWeekService
.
heartRespiratoryJob
();
return
ApiResponseUtils
.
success
();
}
}
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlarmCheckDTO.java
View file @
a20399eb
...
...
@@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSONObject;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.space.PlatRegionSetting
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
lombok.Data
;
...
...
@@ -32,7 +31,5 @@ public class PlatAlarmCheckDTO {
//异常值
private
String
abnormalValue
;
private
PlatRegionSetting
platRegionSetting
;
}
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlarmConfigBehaviorDTOVO.java
View file @
a20399eb
...
...
@@ -20,7 +20,7 @@ public class PlatAlarmConfigBehaviorDTOVO {
@ApiModelProperty
(
"平均停留时长允许范围"
)
private
Integer
d
uration
;
private
Integer
averageD
uration
;
}
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElder.java
View file @
a20399eb
...
...
@@ -194,5 +194,8 @@ public class PlatElder extends BaseBusEntity {
@ApiModelProperty
(
value
=
"退住时间"
)
private
LocalDateTime
checkOutTime
;
@TableField
(
exist
=
false
)
private
String
regionName
;
}
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderSleep.java
View file @
a20399eb
package
com
.
makeit
.
entity
.
platform
.
elder
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.typehandler.ElderListStringJsonTypeHandler
;
import
com.makeit.vo.platform.elder.report.day.PlatSleepRangeVO
;
...
...
@@ -20,6 +21,7 @@ import java.util.List;
* @author eugene young
* @since 2023-09-13
*/
@TableName
(
autoResultMap
=
true
)
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"PlatElderSleep对象"
,
description
=
"长者每天睡觉记录"
)
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
View file @
a20399eb
...
...
@@ -8,6 +8,7 @@ import com.makeit.dto.platform.alarm.PlatAlarmCheckDTO;
import
com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
/**
...
...
@@ -55,7 +56,7 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
*/
void
noticeDeviceAlarm
(
PlatAlarmConfig
alarmConfig
,
PlatAlarmRecord
alarmRecord
);
PlatAlarmRecord
convertToPlatAlarmRecord
(
PlatAlarmCheckDTO
platAlarmCheckDTO
);
PlatAlarmRecord
convertToPlatAlarmRecord
(
PlatAlarmCheckDTO
platAlarmCheckDTO
,
PlatElder
platElder
);
void
getElderListByDeviceId
(
PlatAlarmCheckDTO
platAlarmCheckDTO
);
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BehaviorAlarm.java
View file @
a20399eb
...
...
@@ -2,7 +2,6 @@ package com.makeit.service.platform.alarm.alarmStrategy;
import
cn.hutool.core.convert.Convert
;
import
com.alibaba.fastjson.JSONObject
;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.dto.platform.alarm.PlatAlarmCheckDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigBehaviorDTOVO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
...
...
@@ -10,7 +9,6 @@ import com.makeit.entity.platform.alarm.PlatAlarmRecord;
import
com.makeit.entity.platform.alarm.PlatDayDurationRecord
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.space.PlatRegionSetting
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.enums.platform.alarm.PlatAlarmConfigEnum
;
...
...
@@ -33,7 +31,6 @@ import java.util.ArrayList;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Component
@Slf4j
...
...
@@ -73,7 +70,7 @@ public class BehaviorAlarm implements IAlarm {
}
String
personState
=
Convert
.
toStr
(
properties
.
get
(
"personState"
));
PlatAlarmConfigBehaviorDTOVO
ruleConfig
=
JsonUtil
.
toObj
(
ruleConfigStr
,
PlatAlarmConfigBehaviorDTOVO
.
class
);
Integer
duration
=
ruleConfig
.
getDuration
();
//分钟
Integer
duration
=
ruleConfig
.
get
Average
Duration
();
//分钟
PlatDayDurationRecord
platDayDurationRecord
=
dayDurationUtil
.
get
(
platDevice
.
getOriDeviceId
());
// if (platDayDurationRecord == null) {
// log.error("行为告警未找到行为异常平均时长,设备plat_id:" + platDevice.getId());
...
...
@@ -116,6 +113,8 @@ public class BehaviorAlarm implements IAlarm {
log
.
error
(
"空间雷达发出告警,设备plat_id:"
+
platDevice
.
getId
());
if
(
duration1
!=
0
)
{
notice
(
platAlarmCheckDTO
);
}
else
{
return
;
}
alarmRedisDTO
.
setAlarm
(
CommonEnum
.
YES
.
getValue
());
RedisUtil
.
set
(
RedisConst
.
ALARM_DEVICE_BEHAVIOR_ID
+
deviceId
,
alarmRedisDTO
);
...
...
@@ -146,7 +145,7 @@ public class BehaviorAlarm implements IAlarm {
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
PlatRegionSetting
platRegionSetting
=
platAlarmCheckDTO
.
getPlatRegionSetting
();
Date
now
=
new
Date
();
long
endLong
=
now
.
getTime
();
long
count
=
endLong
-
alarmRedisDTO
.
getStartLong
();
...
...
@@ -159,20 +158,23 @@ public class BehaviorAlarm implements IAlarm {
PlatRoom
platRoom
=
platAlarmCheckDTO
.
getPlatRoom
();
List
<
PlatElder
>
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
PlatDayDurationRecord
durationRecord
=
new
PlatDayDurationRecord
();
durationRecord
.
setElderIds
(
platElderList
.
stream
().
map
(
BaseEntity:
:
getId
).
collect
(
Collectors
.
joining
(
","
)));
durationRecord
.
setDuration
(
count
);
durationRecord
.
setOriDeviceId
(
platDevice
.
getOriDeviceId
());
durationRecord
.
setDay
(
alarmRedisDTO
.
getStart
());
durationRecord
.
setStartDate
(
alarmRedisDTO
.
getStart
());
durationRecord
.
setEndDate
(
now
);
durationRecord
.
setTenantId
(
config
.
getTenantId
());
durationRecord
.
setRoomId
(
platRoom
.
getId
());
durationRecord
.
setDeviceId
(
platDevice
.
getId
());
if
(
platRegionSetting
!=
null
)
{
durationRecord
.
setRegionName
(
platRegionSetting
.
getRegionName
());
if
(
CollectionUtils
.
isNotEmpty
(
platElderList
)){
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
}
for
(
PlatElder
platElder
:
platElderList
)
{
PlatDayDurationRecord
durationRecord
=
new
PlatDayDurationRecord
();
durationRecord
.
setElderIds
(
platElder
.
getId
());
durationRecord
.
setRegionName
(
platElder
.
getRegionName
());
durationRecord
.
setDuration
(
count
);
durationRecord
.
setOriDeviceId
(
platDevice
.
getOriDeviceId
());
durationRecord
.
setDay
(
alarmRedisDTO
.
getStart
());
durationRecord
.
setStartDate
(
alarmRedisDTO
.
getStart
());
durationRecord
.
setEndDate
(
now
);
durationRecord
.
setTenantId
(
config
.
getTenantId
());
durationRecord
.
setRoomId
(
platElder
.
getRoomId
());
durationRecord
.
setDeviceId
(
platDevice
.
getId
());
platDayDurationRecordService
.
saveOrUpdate
(
durationRecord
);
}
platDayDurationRecordService
.
saveOrUpdate
(
durationRecord
);
}
@Override
...
...
@@ -200,7 +202,7 @@ public class BehaviorAlarm implements IAlarm {
param
.
add
(
platElder
.
getName
());
param
.
add
(
platRoom
.
getName
());
platAlarmCheckDTO
.
setParam
(
param
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
,
platElder
);
platAlarmRecord
.
setElderIds
(
platElder
.
getId
());
platAlarmRecord
.
setElderName
(
platElder
.
getName
());
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BreathAlarm.java
View file @
a20399eb
...
...
@@ -163,7 +163,7 @@ public class BreathAlarm implements IAlarm {
param
.
add
(
platElder
.
getName
());
param
.
add
(
platAlarmCheckDTO
.
getRemark
());
platAlarmCheckDTO
.
setParam
(
param
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
,
platElder
);
platAlarmRecord
.
setElderIds
(
platElder
.
getId
());
platAlarmRecord
.
setElderName
(
platElder
.
getName
());
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/FallAlarm.java
View file @
a20399eb
...
...
@@ -83,7 +83,7 @@ public class FallAlarm implements IAlarm {
param
.
add
(
platElder
.
getName
());
param
.
add
(
platRoom
.
getName
());
platAlarmCheckDTO
.
setParam
(
param
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
,
platElder
);
platAlarmRecord
.
setElderIds
(
platElder
.
getId
());
platAlarmRecord
.
setElderName
(
platElder
.
getName
());
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/HeartAlarm.java
View file @
a20399eb
...
...
@@ -144,7 +144,7 @@ public class HeartAlarm implements IAlarm {
param
.
add
(
platElder
.
getName
());
param
.
add
(
platAlarmCheckDTO
.
getRemark
());
platAlarmCheckDTO
.
setParam
(
param
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
,
platElder
);
platAlarmRecord
.
setElderIds
(
platElder
.
getId
());
platAlarmRecord
.
setElderName
(
platElder
.
getName
());
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
View file @
a20399eb
...
...
@@ -39,7 +39,6 @@ import com.makeit.utils.msg.dto.MsgSendDTO;
import
com.makeit.utils.sql.join.JoinUtil
;
import
com.makeit.utils.user.common.CommonUserUtil
;
import
com.makeit.utils.user.common.CommonUserVO
;
import
com.makeit.utils.user.wechat.WechatUserInfo
;
import
com.makeit.utils.user.wechat.WechatUserUtil
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -112,11 +111,12 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
*/
@Override
public
PageVO
<
PlatAlarmRecordVO
>
childrenPage
(
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
dto
)
{
WechatUserInfo
userVO
=
WechatUserUtil
.
getUserVO
(
);
String
elderId
=
userVO
.
getElderId
(
);
if
(
StringUtils
.
isBlank
(
elderId
)
)
{
PlatElderChildrenInfo
platElderChildrenInfo
=
platElderChildrenInfoService
.
getById
(
WechatUserUtil
.
getUserId
()
);
log
.
info
(
"子女端账号:"
+
platElderChildrenInfo
.
toString
()
);
if
(
platElderChildrenInfo
==
null
)
{
return
new
PageVO
<>();
}
String
elderId
=
platElderChildrenInfo
.
getElderId
();
String
[]
split
=
elderId
.
split
(
","
);
PlatAlarmRecordQueryDTO
data
=
dto
.
getData
();
data
.
setElderIdList
(
Arrays
.
asList
(
split
));
...
...
@@ -321,13 +321,12 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
}
@Override
public
PlatAlarmRecord
convertToPlatAlarmRecord
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
public
PlatAlarmRecord
convertToPlatAlarmRecord
(
PlatAlarmCheckDTO
platAlarmCheckDTO
,
PlatElder
platElder
)
{
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
List
<
String
>
param
=
platAlarmCheckDTO
.
getParam
();
List
<
PlatElder
>
elderList
=
platAlarmCheckDTO
.
getPlatElderList
();
PlatRegionSetting
platRegionSetting
=
platAlarmCheckDTO
.
getPlatRegionSetting
();
PlatAlarmRecord
platAlarmRecord
=
new
PlatAlarmRecord
();
platAlarmRecord
.
setAlarmId
(
config
.
getId
());
...
...
@@ -341,13 +340,11 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
platAlarmRecord
.
setNotifyUser
(
config
.
getNotifyUser
());
platAlarmRecord
.
setDeviceId
(
platDevice
.
getId
());
platAlarmRecord
.
setElderIds
(
elderList
.
stream
().
map
(
BaseEntity:
:
getId
).
collect
(
Collectors
.
joining
(
","
)
));
platAlarmRecord
.
setElderIds
(
platElder
.
getId
(
));
platAlarmRecord
.
setTenantId
(
config
.
getTenantId
());
platAlarmRecord
.
setRemark
(
platAlarmCheckDTO
.
getRemark
());
platAlarmRecord
.
setAbnormalValue
(
platAlarmCheckDTO
.
getAbnormalValue
());
if
(
platRegionSetting
!=
null
)
{
platAlarmRecord
.
setRegionName
(
platRegionSetting
.
getRegionName
());
}
platAlarmRecord
.
setRegionName
(
platElder
.
getRegionName
());
return
platAlarmRecord
;
}
...
...
@@ -364,47 +361,63 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
roomBedDeviceLambdaQueryWrapper
.
eq
(
PlatRoomBedDevice:
:
getDeviceId
,
platDevice
.
getId
())
.
eq
(
BaseBusEntity:
:
getTenantId
,
tenantId
)
;
PlatRoomBedDevice
platRoomBedDevice
=
platRoomBedDeviceService
.
getOne
(
roomBedDeviceLambdaQueryWrapper
,
false
);
if
(
platRoomBedDevice
==
null
){
//todo 要支持 设备绑定多个空间
List
<
PlatRoomBedDevice
>
platRoomBedDeviceList
=
platRoomBedDeviceService
.
list
(
roomBedDeviceLambdaQueryWrapper
);
if
(
CollectionUtils
.
isNotEmpty
(
platRoomBedDeviceList
)){
throw
new
BusinessException
(
"设备没绑定房间:"
+
platDevice
.
getId
());
}
if
(
StringUtils
.
isNotBlank
(
platRoomBedDevice
.
getRoomId
()))
{
PlatRoom
platRoom
=
platRoomService
.
getById
(
platRoomBedDevice
.
getRoomId
());
platAlarmCheckDTO
.
setPlatRoom
(
platRoom
);
LambdaQueryWrapper
<
PlatRegionSetting
>
platRegionSettingLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
platRegionSettingLambdaQueryWrapper
.
eq
(
PlatRegionSetting:
:
getRoomId
,
platRoom
.
getId
())
.
eq
(
PlatRegionSetting:
:
getDeviceId
,
platDevice
.
getId
())
.
eq
(
BaseBusEntity:
:
getTenantId
,
tenantId
)
;
//区域设置
PlatRegionSetting
platRegionSetting
=
platRegionSettingService
.
getOne
(
platRegionSettingLambdaQueryWrapper
,
false
);
platAlarmCheckDTO
.
setPlatRegionSetting
(
platRegionSetting
);
}
String
bedId
=
platRoomBedDevice
.
getBedId
();
if
(
StringUtils
.
isNotBlank
(
bedId
))
{
LambdaQueryWrapper
<
PlatElder
>
elderLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
elderLambdaQueryWrapper
.
eq
(
PlatElder:
:
getBedId
,
bedId
)
.
eq
(
BaseBusEntity:
:
getTenantId
,
tenantId
)
;
List
<
PlatElder
>
list
=
platElderService
.
list
(
elderLambdaQueryWrapper
);
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
platAlarmCheckDTO
.
setPlatElderList
(
list
);
return
;
platRoomBedDeviceList
.
forEach
(
platRoomBedDevice
->
{
//获取区域
String
regionName
=
null
;
if
(
StringUtils
.
isNotBlank
(
platRoomBedDevice
.
getRoomId
()))
{
PlatRoom
platRoom
=
platRoomService
.
getById
(
platRoomBedDevice
.
getRoomId
());
platAlarmCheckDTO
.
setPlatRoom
(
platRoom
);
LambdaQueryWrapper
<
PlatRegionSetting
>
platRegionSettingLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
platRegionSettingLambdaQueryWrapper
.
eq
(
PlatRegionSetting:
:
getRoomId
,
platRoom
.
getId
())
.
eq
(
PlatRegionSetting:
:
getDeviceId
,
platDevice
.
getId
())
.
eq
(
BaseBusEntity:
:
getTenantId
,
tenantId
)
;
//区域设置
PlatRegionSetting
platRegionSetting
=
platRegionSettingService
.
getOne
(
platRegionSettingLambdaQueryWrapper
,
false
);
if
(
platRegionSetting
!=
null
){
regionName
=
platRegionSetting
.
getRegionName
();
}
}
//获取床位长者
String
bedId
=
platRoomBedDevice
.
getBedId
();
if
(
StringUtils
.
isNotBlank
(
bedId
))
{
LambdaQueryWrapper
<
PlatElder
>
elderLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
elderLambdaQueryWrapper
.
eq
(
PlatElder:
:
getBedId
,
bedId
)
.
eq
(
BaseBusEntity:
:
getTenantId
,
tenantId
)
;
List
<
PlatElder
>
list
=
platElderService
.
list
(
elderLambdaQueryWrapper
);
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
for
(
PlatElder
platElder
:
list
)
{
platElder
.
setRegionName
(
regionName
);
}
platAlarmCheckDTO
.
setPlatElderList
(
list
);
return
;
}
}
}
//获取房间长者
String
roomId
=
platRoomBedDevice
.
getRoomId
();
if
(
StringUtils
.
isNotBlank
(
roomId
))
{
LambdaQueryWrapper
<
PlatElder
>
elderLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
elderLambdaQueryWrapper
.
eq
(
PlatElder:
:
getRoomId
,
roomId
)
.
eq
(
BaseBusEntity:
:
getTenantId
,
tenantId
)
;
List
<
PlatElder
>
list
=
platElderService
.
list
(
elderLambdaQueryWrapper
);
for
(
PlatElder
platElder
:
list
)
{
platElder
.
setRegionName
(
regionName
);
}
platAlarmCheckDTO
.
setPlatElderList
(
list
);
}
}
);
String
roomId
=
platRoomBedDevice
.
getRoomId
();
if
(
StringUtils
.
isNotBlank
(
roomId
))
{
LambdaQueryWrapper
<
PlatElder
>
elderLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
elderLambdaQueryWrapper
.
eq
(
PlatElder:
:
getRoomId
,
roomId
)
.
eq
(
BaseBusEntity:
:
getTenantId
,
tenantId
)
;
List
<
PlatElder
>
list
=
platElderService
.
list
(
elderLambdaQueryWrapper
);
platAlarmCheckDTO
.
setPlatElderList
(
list
);
}
}
private
String
replaceParam
(
String
oriContent
,
List
<
String
>
param
)
{
...
...
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatOrgServiceImpl.java
View file @
a20399eb
...
...
@@ -319,7 +319,6 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
LambdaUpdateWrapper
<
PlatSpace
>
platSpaceLambdaUpdateWrapper
=
Wrappers
.
lambdaUpdate
(
PlatSpace
.
class
)
.
set
(
PlatSpace:
:
getAttribute
,
dto
.
getType
())
.
eq
(
PlatSpace:
:
getOrgId
,
dto
.
getId
())
.
set
(
PlatSpace:
:
getParentId
,
dto
.
getParentId
())
;
platSpaceService
.
update
(
platSpaceLambdaUpdateWrapper
);
}
...
...
@@ -405,7 +404,7 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
public
List
<
PlatOrg
>
belongToOrgTree
(
PlatOrg
param
)
{
PlatUserVO
userVOCanNull
=
PlatUserUtil
.
getUserVOCanNull
();
String
isTenant
=
userVOCanNull
.
getIsTenant
();
//如果是租户账号 则有所有权限
//如果是租户账号 则有所有权限
返回最顶级
if
(
StringUtils
.
equals
(
isTenant
,
CommonEnum
.
YES
.
getValue
()))
{
List
<
PlatOrg
>
orgList
=
this
.
list
(
new
LambdaQueryWrapper
<
PlatOrg
>()
.
eq
(
StringUtils
.
isNotEmpty
(
param
.
getType
()),
PlatOrg:
:
getType
,
param
.
getType
())
...
...
@@ -414,7 +413,7 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
return
getOrgTree
(
orgList
,
Collections
.
singletonList
(
TenantIdUtil
.
getTenantId
()));
}
//平台账号
//平台账号
查询权限范围 生成不一定连续的树结构
Set
<
String
>
orgIdList
=
getOrgIdListByUserId
(
userVOCanNull
.
getId
());
List
<
PlatOrg
>
orgList
=
this
.
list
(
new
LambdaQueryWrapper
<
PlatOrg
>()
.
eq
(
StringUtils
.
isNotEmpty
(
param
.
getType
()),
PlatOrg:
:
getType
,
param
.
getType
())
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderChildrenInfoServiceImpl.java
View file @
a20399eb
...
...
@@ -99,6 +99,11 @@ public class PlatElderChildrenInfoServiceImpl extends ServiceImpl<PlatElderChild
}
private
void
check
(
PlatElderChildrenInfoEditVO
dto
)
{
if
(
true
)
{
return
;
}
PlatElderChildrenInfo
old
=
getOne
(
new
QueryWrapper
<
PlatElderChildrenInfo
>().
lambda
()
.
eq
(
PlatElderChildrenInfo:
:
getPhone
,
dto
.
getPhone
()));
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportWeekServiceImpl.java
View file @
a20399eb
...
...
@@ -252,7 +252,7 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
List
<
LocalDate
>
dateList
=
LocalDateTimeUtils
.
getDateSeries
(
weekStartDate
,
weekEndDate
);
DateTimeFormatter
timeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm
:ss
"
);
DateTimeFormatter
timeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm"
);
List
<
PlatElderSleepDiagramWeekContentVO
>
sleep
=
StreamUtil
.
map
(
dateList
,
e
->
{
PlatElderSleepDiagramWeekContentVO
vo
=
new
PlatElderSleepDiagramWeekContentVO
();
...
...
@@ -480,31 +480,40 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
elderList
.
forEach
(
e
->
{
PlatDevice
platDevice
=
platElderRealTimeService
.
getBreathDevice
(
e
.
getId
(),
null
);
if
(
platDevice
!=
null
)
{
PlatElderBreatheDayStat
platElderBreatheDayStat
=
new
PlatElderBreatheDayStat
();
platElderBreatheDayStat
.
setElderId
(
e
.
getId
());
platElderBreatheDayStat
.
setDeviceId
(
platDevice
.
getId
());
platElderBreatheDayStat
.
setOriDeviceId
(
platDevice
.
getOriDeviceId
());
platElderBreatheDayStat
.
setDay
(
yesDate
);
PlatElderBreatheDayStat
platElderBreatheDayStat
=
new
PlatElderBreatheDayStat
();
platElderBreatheDayStat
.
setElderId
(
e
.
getId
());
platElderBreatheDayStat
.
setDeviceId
(
platDevice
.
getId
());
platElderBreatheDayStat
.
setOriDeviceId
(
platDevice
.
getOriDeviceId
());
platElderBreatheDayStat
.
setDay
(
yesDate
);
List
<
DeviceInfoContentBreathe
>
breatheList
=
iotProductDeviceService
.
getDeviceLogByTimeRangeBreathe
(
platDevice
.
getOriDeviceId
(),
2
*
24
*
3600
,
yesStart
,
yesEnd
);
List
<
DeviceInfoContentBreathe
>
breatheList
=
iotProductDeviceService
.
getDeviceLogByTimeRangeBreathe
(
platDevice
.
getOriDeviceId
(),
2
*
24
*
3600
,
yesStart
,
yesEnd
);
platElderBreatheDayStat
.
setHeartRateMax
(
breatheList
.
stream
().
map
(
i
->
i
.
getProperties
().
getHr
()).
max
(
Integer:
:
compareTo
).
orElse
(
null
));
platElderBreatheDayStat
.
setHeartRateMin
(
breatheList
.
stream
().
map
(
i
->
i
.
getProperties
().
getHr
()).
min
(
Integer:
:
compareTo
).
orElse
(
null
));
platElderBreatheDayStat
.
setHeartRateMax
(
breatheList
.
stream
().
map
(
i
->
i
.
getProperties
().
getHr
()).
max
(
Integer:
:
compareTo
).
orElse
(
null
));
platElderBreatheDayStat
.
setHeartRateMin
(
breatheList
.
stream
().
map
(
i
->
i
.
getProperties
().
getHr
()).
min
(
Integer:
:
compareTo
).
orElse
(
null
));
platElderBreatheDayStat
.
setHeartRateAvg
((
int
)
(
StreamUtil
.
reduce
(
breatheList
,
i
->
(
long
)
i
.
getProperties
().
getHr
(),
0L
,
Long:
:
sum
)
/
breatheList
.
size
()));
platElderBreatheDayStat
.
setRespiratoryRateMax
(
breatheList
.
stream
().
map
(
i
->
i
.
getProperties
().
getBr
()).
max
(
Integer:
:
compareTo
).
orElse
(
null
));
platElderBreatheDayStat
.
setRespiratoryRateMin
(
breatheList
.
stream
().
map
(
i
->
i
.
getProperties
().
getBr
()).
min
(
Integer:
:
compareTo
).
orElse
(
null
));
platElderBreatheDayStat
.
setRespiratoryRateAvg
((
int
)
(
StreamUtil
.
reduce
(
breatheList
,
i
->
(
long
)
i
.
getProperties
().
getBr
(),
0L
,
Long:
:
sum
)
/
breatheList
.
size
()));
if
(
CollectionUtils
.
isNotEmpty
(
breatheList
))
{
platElderBreatheDayStat
.
setHeartRateAvg
((
int
)
(
StreamUtil
.
reduce
(
breatheList
,
i
->
(
long
)
i
.
getProperties
().
getHr
(),
0L
,
Long:
:
sum
)
/
breatheList
.
size
()));
}
breatheDayStatList
.
add
(
platElderBreatheDayStat
);
platElderBreatheDayStat
.
setRespiratoryRateMax
(
breatheList
.
stream
().
map
(
i
->
i
.
getProperties
().
getBr
()).
max
(
Integer:
:
compareTo
).
orElse
(
null
));
platElderBreatheDayStat
.
setRespiratoryRateMin
(
breatheList
.
stream
().
map
(
i
->
i
.
getProperties
().
getBr
()).
min
(
Integer:
:
compareTo
).
orElse
(
null
));
});
if
(
CollectionUtils
.
isNotEmpty
(
breatheList
))
{
platElderBreatheDayStat
.
setRespiratoryRateAvg
((
int
)
(
StreamUtil
.
reduce
(
breatheList
,
i
->
(
long
)
i
.
getProperties
().
getBr
(),
0L
,
Long:
:
sum
)
/
breatheList
.
size
()));
}
breatheDayStatList
.
add
(
platElderBreatheDayStat
);
}
platElderBreatheDayStatService
.
saveBatch
(
breatheDayStatList
);
});
});
platElderBreatheDayStatService
.
saveBatch
(
breatheDayStatList
);
}
}
server-service/src/main/java/com/makeit/service/wechat/impl/PlatElderChildrenInfoUserLoginWechatServiceImpl.java
View file @
a20399eb
...
...
@@ -18,6 +18,8 @@ import com.makeit.utils.third.wechat.WxUserInfo;
import
com.makeit.utils.third.wechat.WechatUtil
;
import
com.makeit.utils.user.TokenUtil
;
import
com.makeit.utils.user.wechat.WechatUserInfo
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -33,14 +35,20 @@ public class PlatElderChildrenInfoUserLoginWechatServiceImpl implements PlatElde
@Autowired
private
PlatOrgService
platOrgService
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
PlatElderChildrenInfoUserLoginWechatServiceImpl
.
class
);
@Override
@Transactional
public
WechatUserInfo
login
(
WechatLoginPhoneDTO
dto
)
{
WxUserInfo
userInfo
=
WechatUtil
.
login
(
dto
);
logger
.
info
(
"userinfo:{}"
,
userInfo
);
PlatElderChildrenInfo
childrenInfo
=
platElderChildrenInfoService
.
getOne
(
new
QueryWrapper
<
PlatElderChildrenInfo
>().
lambda
()
.
eq
(
PlatElderChildrenInfo:
:
getOpenid
,
userInfo
.
getOpenId
()));
//.eq(PlatElderChildrenInfo::getPhone, userInfo.getPhoneNumber()));
if
(
childrenInfo
==
null
)
{
childrenInfo
=
new
PlatElderChildrenInfo
();
...
...
@@ -49,8 +57,6 @@ public class PlatElderChildrenInfoUserLoginWechatServiceImpl implements PlatElde
PlatOrgSplitDTO
vo
=
platOrgService
.
getOrgSplitVO
(
dto
.
getOrgId
());
childrenInfo
=
new
PlatElderChildrenInfo
();
childrenInfo
.
setCityOrgId
(
vo
.
getCityOrgId
());
childrenInfo
.
setDistrictOrgId
(
vo
.
getDistrictOrgId
());
childrenInfo
.
setStreetOrgId
(
vo
.
getStreetOrgId
());
...
...
@@ -58,8 +64,11 @@ public class PlatElderChildrenInfoUserLoginWechatServiceImpl implements PlatElde
childrenInfo
.
setCreateBy
(
userInfo
.
getNickName
());
logger
.
info
(
"children:{}"
,
childrenInfo
);
}
//childrenInfo.setOpenid(userInfo.getOpenId());
childrenInfo
.
setPhone
(
userInfo
.
getPhoneNumber
());
childrenInfo
.
setAvatar
(
userInfo
.
getAvatarUrl
());
...
...
@@ -69,8 +78,8 @@ public class PlatElderChildrenInfoUserLoginWechatServiceImpl implements PlatElde
childrenInfo
.
setUpdateBy
(
userInfo
.
getNickName
());
PlatElderChildrenInfo
finalChildrenInfo
=
childrenInfo
;
NoFillUtil
.
executeCreate
(()
->
{
NoFillUtil
.
executeUpdate
(()
->
{
NoFillUtil
.
executeCreate
(()
->
{
NoFillUtil
.
executeUpdate
(()
->
{
platElderChildrenInfoService
.
saveOrUpdate
(
finalChildrenInfo
);
});
});
...
...
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