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
ceb6da70
authored
Oct 27, 2023
by
huangjy
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix:实时定位空间区域
parent
e6a200e1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
103 deletions
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderRealTimeServiceImpl.java
server-service/src/main/java/com/makeit/vo/platform/elder/realtime/PlatElderCoordinateVO.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderRealTimeServiceImpl.java
View file @
ceb6da70
...
...
@@ -105,7 +105,7 @@ public class PlatElderRealTimeServiceImpl implements PlatElderRealTimeService {
@Override
public
List
<
PlatDevice
>
getSpaceDevice
(
String
elderId
,
String
deviceId
)
{
List
<
PlatDevice
>
deviceList
=
null
;
List
<
PlatDevice
>
deviceList
=
Lists
.
newArrayList
()
;
if
(
StringUtils
.
isNotBlank
(
elderId
))
{
deviceList
=
platElderService
.
getSpaceDevice
(
elderId
);
...
...
@@ -120,7 +120,7 @@ public class PlatElderRealTimeServiceImpl implements PlatElderRealTimeService {
@Override
public
List
<
PlatDevice
>
getFallDevice
(
String
elderId
,
String
deviceId
)
{
List
<
PlatDevice
>
deviceList
=
null
;
List
<
PlatDevice
>
deviceList
=
Lists
.
newArrayList
()
;
if
(
StringUtils
.
isNotBlank
(
elderId
))
{
deviceList
=
platElderService
.
getFallDevice
(
elderId
);
...
...
@@ -467,43 +467,8 @@ public class PlatElderRealTimeServiceImpl implements PlatElderRealTimeService {
redisTemplate
.
opsForList
().
leftPush
(
ELDER_MOVE
+
platElderIdDTO
.
getElderId
(),
JSON
.
toJSONString
(
platElderRealTimeBodyVO
));
}
return
JSON
.
parseObject
(
redisTemplate
.
opsForList
().
rightPop
(
ELDER_MOVE
+
platElderIdDTO
.
getElderId
()),
PlatElderRealTimeBodyVO
.
class
);
/*PlatElderRealTimeBodyVO platElderRealTimeBodyVO = new PlatElderRealTimeBodyVO();
platElderRealTimeBodyVO.setTime(LocalDateTime.now());
platElderRealTimeBodyVO.setBodyMovementIndex(deviceInfoContentBreathe.getProperties().getBodymove());
return platElderRealTimeBodyVO;*/
}
// @Override
// public List<PlatElderCoordinateVO> coordinate(PlatElderIdDTO platElderIdDTO) {
// List<DeviceInfoContentSpace> deviceInfoContentSpaceList = getNowDataSpace(platElderIdDTO.getElderId(), platElderIdDTO.getDeviceId());
//
// List<PlatElderCoordinateVO> voList = new ArrayList<>(10);
//
// if (CollectionUtils.isEmpty(deviceInfoContentSpaceList)) {
// return voList;
// }
//
// voList = StreamUtil.map(deviceInfoContentSpaceList, e -> {
// PlatElderCoordinateVO vo = new PlatElderCoordinateVO();
//
//// vo.setDeviceId();
//// vo.setOriDeviceId();
//
// vo.setX(new BigDecimal(e.getProperties().getDistance()).multiply(new BigDecimal(Math.cos(e.getProperties().getAngle()) + "")).setScale(2, RoundingMode.HALF_UP));
// vo.setY(new BigDecimal(e.getProperties().getDistance()).multiply(new BigDecimal(Math.sin(e.getProperties().getAngle()) + "")).setScale(2, RoundingMode.HALF_UP));
//
// vo.setDistance(e.getProperties().getDistance());
// vo.setAngle(e.getProperties().getAngle());
//
// return vo;
// });
//
// return voList;
// }
@Override
public
List
<
PlatElderCoordinateVO
>
coordinate
(
PlatElderIdDTO
platElderIdDTO
)
{
...
...
@@ -514,7 +479,8 @@ public class PlatElderRealTimeServiceImpl implements PlatElderRealTimeService {
return
voList
;
}
List
<
PlatDevice
>
deviceListSpace
=
getSpaceDevice
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
());
List
<
PlatDevice
>
fallDeviceList
=
getFallDevice
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
());
deviceListSpace
.
addAll
(
fallDeviceList
);
for
(
PlatDevice
platDevice
:
deviceListSpace
)
{
String
spaceResult
=
redisTemplate
.
opsForValue
().
get
(
DEVICE_SPACE_DATA
+
platDevice
.
getOriDeviceId
());
if
(
spaceResult
!=
null
)
{
...
...
@@ -524,82 +490,22 @@ public class PlatElderRealTimeServiceImpl implements PlatElderRealTimeService {
vo
.
setOriDeviceId
(
platDevice
.
getOriDeviceId
());
vo
.
setDistance
(
Integer
.
valueOf
(
jsonObject
.
getString
(
"distance"
)));
vo
.
setAngle
(
Integer
.
valueOf
(
jsonObject
.
getString
(
"angle"
)));
vo
.
setPersonState
(
Integer
.
valueOf
(
jsonObject
.
getString
(
"personState"
)));
vo
.
setType
(
1
);
voList
.
add
(
vo
);
}
String
fallResult
=
redisTemplate
.
opsForValue
().
get
(
DEVICE_FALL_DATA
+
platDevice
.
getOriDeviceId
());
if
(
fallResult
!=
null
)
{
PlatElderCoordinateVO
vo
=
new
PlatElderCoordinateVO
();
JSONObject
jsonObject
=
JSON
.
parseObject
(
space
Result
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
fall
Result
);
vo
.
setDeviceId
(
platDevice
.
getId
());
vo
.
setOriDeviceId
(
platDevice
.
getOriDeviceId
());
vo
.
setTrack
((
List
<
Integer
>)
jsonObject
.
get
(
"track"
));
vo
.
setPersonState
(
Integer
.
valueOf
(
jsonObject
.
getString
(
"personState"
)));
vo
.
setType
(
2
);
voList
.
add
(
vo
);
}
}
if
(
CollectionUtils
.
isNotEmpty
(
voList
))
{
return
voList
;
}
/* int count = 20;
for (PlatDevice platDevice : deviceListSpace) {
for (int i = 0; i < count; i++) {
PlatElderCoordinateVO vo = new PlatElderCoordinateVO();
int distance = RandomUtils.nextInt(1, 1000);
int angle = RandomUtils.nextInt(1,180) -120;
// vo.setX(new BigDecimal(distance).multiply(new BigDecimal(Math.cos(angle) + "")).setScale(2, RoundingMode.HALF_UP));
// vo.setY(new BigDecimal(distance).multiply(new BigDecimal(Math.sin(angle) + "")).setScale(2, RoundingMode.HALF_UP));
vo.setDistance(distance);
vo.setAngle(angle);
vo.setDeviceId(platDevice.getId());
vo.setOriDeviceId(platDevice.getOriDeviceId());
voList.add(vo);
}
}*/
/* if (CollectionUtils.isNotEmpty(deviceListSpace)) {
deviceListSpace.forEach(e -> {
DeviceInfoContentSpace i = iotProductDeviceService.getLastDeviceLogSpace(e.getOriDeviceId(), 10);
if (i == null) {
return;
}
PlatElderCoordinateVO vo = new PlatElderCoordinateVO();
vo.setDeviceId(e.getId());
vo.setOriDeviceId(e.getOriDeviceId());
// vo.setX(new BigDecimal(i.getProperties().getDistance()).multiply(new BigDecimal(Math.cos(i.getProperties().getAngle()) + "")).setScale(2, RoundingMode.HALF_UP));
// vo.setY(new BigDecimal(i.getProperties().getDistance()).multiply(new BigDecimal(Math.sin(i.getProperties().getAngle()) + "")).setScale(2, RoundingMode.HALF_UP));
vo.setDistance(i.getProperties().getDistance());
vo.setAngle(i.getProperties().getAngle());
voList.add(vo);
});
}
if (CollectionUtils.isNotEmpty(deviceListFall)) {
deviceListFall.forEach(e -> {
DeviceInfoContentFall i = iotProductDeviceService.getLastDeviceLogFall(e.getOriDeviceId(), 10);
if (i == null) {
return;
}
PlatElderCoordinateVO vo = new PlatElderCoordinateVO();
vo.setDeviceId(e.getId());
vo.setOriDeviceId(e.getOriDeviceId());
vo.setTrack(i.getProperties().getTrack());
voList.add(vo);
});
}*/
return
voList
;
}
...
...
server-service/src/main/java/com/makeit/vo/platform/elder/realtime/PlatElderCoordinateVO.java
View file @
ceb6da70
...
...
@@ -22,6 +22,10 @@ public class PlatElderCoordinateVO {
@ApiModelProperty
(
"人体目标距离雷达位置 范围:0-1000,单位cm"
)
private
Integer
distance
;
@ApiModelProperty
(
"空间人感:0表示无人,1表示活动, 2表示微动 ,3表示静止 ,跌倒设备:0无人,1跌倒"
)
private
Integer
personState
;
@ApiModelProperty
(
"1 表示空间, 2 表示跌倒"
)
private
Integer
type
;
@ApiModelProperty
(
"人体目标偏离雷达法线角度范围:±60,单位°"
)
private
Integer
angle
;
...
...
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