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
e4fa4e44
authored
Jan 04, 2024
by
罗志长
1
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
feat: 坐标数据改为es
parent
2aff66f8
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
286 additions
and
69 deletions
pom.xml
server-common/pom.xml
server-common/src/main/java/com/makeit/config/es/ESConfig.java
server-common/src/main/java/com/makeit/config/es/ElasticSearchClientConfig.java
server-service/pom.xml
server-service/src/main/java/com/makeit/dto/platform/elder/es/PlatElderCoordinateDTO.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/elder/impl/PlatElderDayReportDayServiceImpl.java
server-web/src/main/resources/application-dev.yml
server-web/src/main/resources/application-test.yml
pom.xml
View file @
e4fa4e44
...
@@ -75,6 +75,8 @@
...
@@ -75,6 +75,8 @@
<weixin-java.version>
4.5.0
</weixin-java.version>
<weixin-java.version>
4.5.0
</weixin-java.version>
<elasticsearch.version>
6.8.11
</elasticsearch.version>
</properties>
</properties>
...
@@ -288,7 +290,17 @@
...
@@ -288,7 +290,17 @@
<classifier>
jdk15
</classifier>
<classifier>
jdk15
</classifier>
</dependency>
</dependency>
<!--工作流模块使用-->
<dependency>
<groupId>
org.elasticsearch
</groupId>
<artifactId>
elasticsearch
</artifactId>
<version>
${elasticsearch.version}
</version>
</dependency>
<dependency>
<groupId>
org.elasticsearch.client
</groupId>
<artifactId>
elasticsearch-rest-high-level-client
</artifactId>
<version>
${elasticsearch.version}
</version>
</dependency>
</dependencies>
</dependencies>
...
...
server-common/pom.xml
View file @
e4fa4e44
...
@@ -179,6 +179,16 @@
...
@@ -179,6 +179,16 @@
<artifactId>
weixin-java-mp
</artifactId>
<artifactId>
weixin-java-mp
</artifactId>
</dependency>
</dependency>
<dependency>
<groupId>
org.elasticsearch
</groupId>
<artifactId>
elasticsearch
</artifactId>
</dependency>
<dependency>
<groupId>
org.elasticsearch.client
</groupId>
<artifactId>
elasticsearch-rest-high-level-client
</artifactId>
</dependency>
</dependencies>
</dependencies>
<profiles>
<profiles>
...
...
server-common/src/main/java/com/makeit/config/es/ESConfig.java
0 → 100644
View file @
e4fa4e44
package
com
.
makeit
.
config
.
es
;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.Configuration
;
@Data
@Configuration
@ConfigurationProperties
(
prefix
=
"elasticsearch"
)
public
class
ESConfig
{
private
String
host
;
private
int
port
;
private
String
scheme
;
private
String
user
;
private
String
password
;
@Override
public
String
toString
()
{
return
String
.
format
(
"elasticsearch{host=%s, port=%d, user=%s, password=%s}"
,
host
,
port
,
user
,
password
);
}
}
\ No newline at end of file
server-common/src/main/java/com/makeit/config/es/ElasticSearchClientConfig.java
0 → 100644
View file @
e4fa4e44
package
com
.
makeit
.
config
.
es
;
import
org.apache.http.HttpHost
;
import
org.elasticsearch.client.RestClient
;
import
org.elasticsearch.client.RestHighLevelClient
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
@Configuration
public
class
ElasticSearchClientConfig
{
@Autowired
private
ESConfig
es
;
@Bean
(
name
=
"restHighLevelClient"
)
public
RestHighLevelClient
restHighLevelClient
()
{
return
new
RestHighLevelClient
(
RestClient
.
builder
(
new
HttpHost
(
es
.
getHost
(),
es
.
getPort
(),
es
.
getScheme
())
)
);
}
}
\ No newline at end of file
server-service/pom.xml
View file @
e4fa4e44
...
@@ -27,6 +27,15 @@
...
@@ -27,6 +27,15 @@
<artifactId>
lombok
</artifactId>
<artifactId>
lombok
</artifactId>
</dependency>
</dependency>
<dependency>
<groupId>
org.elasticsearch
</groupId>
<artifactId>
elasticsearch
</artifactId>
</dependency>
<dependency>
<groupId>
org.elasticsearch.client
</groupId>
<artifactId>
elasticsearch-rest-high-level-client
</artifactId>
</dependency>
</dependencies>
</dependencies>
...
...
server-service/src/main/java/com/makeit/dto/platform/elder/es/PlatElderCoordinateDTO.java
0 → 100644
View file @
e4fa4e44
package
com
.
makeit
.
dto
.
platform
.
elder
.
es
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* 长者坐标轨迹
*/
@Data
public
class
PlatElderCoordinateDTO
{
/**
* 主键ID
*/
private
String
id
;
/**
* 租户ID
*/
private
String
tenantId
;
/**
* 创建时间
*/
private
LocalDateTime
createDate
;
/**
* 1 表示空间, 2 表示跌倒
*/
private
Integer
type
;
/**
* 空间人感:0表示无人,1表示活动, 2表示微动 ,3表示静止 ,跌倒设备:0无人,1跌倒
*/
private
Integer
personState
;
/**
* 设备Id
*/
private
String
deviceId
;
/**
* iot设备Id
*/
private
String
iotDeviceId
;
/**
* 长者id
*/
private
String
elderId
;
/**
* 跌倒设备轨迹
*/
private
String
track
;
/**
* 上报时间
*/
private
Long
reportTime
;
}
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderCoordinateRecordService.java
View file @
e4fa4e44
...
@@ -2,6 +2,9 @@ package com.makeit.service.platform.elder;
...
@@ -2,6 +2,9 @@ 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.PlatElderCoordinateRecord
;
import
com.makeit.entity.platform.elder.PlatElderCoordinateRecord
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
java.util.List
;
/**
/**
* <p>
* <p>
...
@@ -15,4 +18,6 @@ public interface PlatElderCoordinateRecordService extends IService<PlatElderCoor
...
@@ -15,4 +18,6 @@ public interface PlatElderCoordinateRecordService extends IService<PlatElderCoor
void
coordinateRecordTask
();
void
coordinateRecordTask
();
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
long
start
,
long
end
);
}
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderCoordinateRecordServiceImpl.java
View file @
e4fa4e44
package
com
.
makeit
.
service
.
platform
.
elder
.
impl
;
package
com
.
makeit
.
service
.
platform
.
elder
.
impl
;
import
cn.hutool.core.util.IdUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.
google.common.collect.Sets
;
import
com.
makeit.dto.platform.elder.es.PlatElderCoordinateDTO
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.elder.PlatElderCoordinateRecord
;
import
com.makeit.entity.platform.elder.PlatElderCoordinateRecord
;
import
com.makeit.entity.platform.space.PlatRegionSetting
;
import
com.makeit.entity.platform.space.PlatRegionSetting
;
...
@@ -16,20 +19,37 @@ import com.makeit.service.platform.elder.PlatElderRealTimeService;
...
@@ -16,20 +19,37 @@ import com.makeit.service.platform.elder.PlatElderRealTimeService;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.platform.space.PlatRegionSettingFixService
;
import
com.makeit.service.platform.space.PlatRegionSettingFixService
;
import
com.makeit.service.platform.space.PlatRegionSettingService
;
import
com.makeit.service.platform.space.PlatRegionSettingService
;
import
com.makeit.utils.data.convert.JsonUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.time.LocalDateTimeUtils
;
import
com.makeit.utils.time.LocalDateTimeUtils
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.elasticsearch.action.bulk.BulkRequest
;
import
org.elasticsearch.action.bulk.BulkResponse
;
import
org.elasticsearch.action.index.IndexRequest
;
import
org.elasticsearch.action.search.SearchRequest
;
import
org.elasticsearch.action.search.SearchResponse
;
import
org.elasticsearch.client.RequestOptions
;
import
org.elasticsearch.client.RestHighLevelClient
;
import
org.elasticsearch.common.xcontent.XContentType
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.search.SearchHit
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.io.IOException
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.Set
;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
/**
/**
* <p>
* <p>
...
@@ -39,6 +59,7 @@ import java.util.function.Function;
...
@@ -39,6 +59,7 @@ import java.util.function.Function;
* @author eugene young
* @author eugene young
* @since 2023-11-15
* @since 2023-11-15
*/
*/
@Slf4j
@Service
@Service
public
class
PlatElderCoordinateRecordServiceImpl
extends
ServiceImpl
<
PlatElderCoordinateRecordMapper
,
PlatElderCoordinateRecord
>
implements
PlatElderCoordinateRecordService
{
public
class
PlatElderCoordinateRecordServiceImpl
extends
ServiceImpl
<
PlatElderCoordinateRecordMapper
,
PlatElderCoordinateRecord
>
implements
PlatElderCoordinateRecordService
{
...
@@ -53,6 +74,8 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
...
@@ -53,6 +74,8 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
private
PlatRegionSettingService
platRegionSettingService
;
private
PlatRegionSettingService
platRegionSettingService
;
@Autowired
@Autowired
private
PlatElderRealTimeService
platElderRealTimeService
;
private
PlatElderRealTimeService
platElderRealTimeService
;
@Autowired
private
RestHighLevelClient
restHighLevelClient
;
@Override
@Override
public
void
coordinateRecordTask
()
{
public
void
coordinateRecordTask
()
{
...
@@ -66,29 +89,36 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
...
@@ -66,29 +89,36 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
if
(
CollectionUtils
.
isEmpty
(
elderList
))
{
if
(
CollectionUtils
.
isEmpty
(
elderList
))
{
return
;
return
;
}
}
PlatElderCoordinateRecord
platElderCoordinateRecord
;
List
<
PlatRegionSetting
>
platRegionSettingList
=
platRegionSettingService
.
list
(
new
QueryWrapper
<>());
List
<
PlatRegionSetting
>
platRegionSettingList
=
platRegionSettingService
.
list
(
new
QueryWrapper
<>());
for
(
PlatElder
platElder
:
elderList
)
{
for
(
PlatElder
platElder
:
elderList
)
{
BulkRequest
request
=
new
BulkRequest
();
request
.
timeout
(
"600s"
);
List
<
PlatElderCoordinateVO
>
elderCoordinateVOList
=
platElderDayReportDayService
.
coordinateList
(
platElder
.
getId
(),
null
,
datStart
,
dayEnd
);
List
<
PlatElderCoordinateVO
>
elderCoordinateVOList
=
platElderDayReportDayService
.
coordinateList
(
platElder
.
getId
(),
null
,
datStart
,
dayEnd
);
List
<
PlatElderCoordinateRecord
>
list
=
Lists
.
newArrayList
();
for
(
PlatElderCoordinateVO
vo
:
elderCoordinateVOList
)
{
for
(
PlatElderCoordinateVO
vo
:
elderCoordinateVOList
)
{
platElderCoordinateRecord
=
new
PlatElderCoordinateRecord
();
PlatElderCoordinateDTO
platElderCoordinateDTO
=
new
PlatElderCoordinateDTO
();
BeanUtils
.
copyProperties
(
vo
,
platElderCoordinateRecord
);
BeanUtils
.
copyProperties
(
vo
,
platElderCoordinateDTO
);
if
(
CollectionUtils
.
isNotEmpty
(
vo
.
getTrack
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
vo
.
getTrack
()))
{
platElderCoordinateRecord
.
setTrack
(
JSON
.
toJSONString
(
vo
.
getTrack
()));
platElderCoordinateDTO
.
setTrack
(
JSON
.
toJSONString
(
vo
.
getTrack
()));
}
platElderCoordinateDTO
.
setReportTime
(
vo
.
getTimestamp
());
platElderCoordinateDTO
.
setIotDeviceId
(
vo
.
getOriDeviceId
());
platElderCoordinateDTO
.
setDeviceId
(
vo
.
getDeviceId
());
platElderCoordinateDTO
.
setElderId
(
platElder
.
getId
());
platElderCoordinateDTO
.
setTenantId
(
platElder
.
getTenantId
());
request
.
add
(
new
IndexRequest
(
"plat_elder_coordinate"
).
id
(
IdUtil
.
fastUUID
()).
type
(
"_doc"
).
source
(
JSONObject
.
toJSONString
(
platElderCoordinateDTO
),
XContentType
.
JSON
));
}
if
(
CollectionUtils
.
isNotEmpty
(
elderCoordinateVOList
))
{
try
{
BulkResponse
response
=
restHighLevelClient
.
bulk
(
request
,
RequestOptions
.
DEFAULT
);
if
(
response
.
hasFailures
())
{
log
.
error
(
"es保存数据失败"
);
}
}
catch
(
IOException
e
)
{
log
.
error
(
"es保存数据失败:{}"
,
e
);
}
}
platElderCoordinateRecord
.
setReportTime
(
vo
.
getTimestamp
());
platElderCoordinateRecord
.
setIotDeviceId
(
vo
.
getOriDeviceId
());
platElderCoordinateRecord
.
setDeviceId
(
vo
.
getDeviceId
());
platElderCoordinateRecord
.
setPersonState
(
vo
.
getPersonState
());
platElderCoordinateRecord
.
setElderId
(
platElder
.
getId
());
platElderCoordinateRecord
.
setTenantId
(
platElder
.
getTenantId
());
list
.
add
(
platElderCoordinateRecord
);
}
}
saveBatch
(
list
);
}
}
List
<
PlatRegionSettingFix
>
settingFixList
=
StreamUtil
.
map
(
platRegionSettingList
,
setting
->
{
List
<
PlatRegionSettingFix
>
settingFixList
=
StreamUtil
.
map
(
platRegionSettingList
,
setting
->
{
PlatRegionSettingFix
settingFix
=
new
PlatRegionSettingFix
();
PlatRegionSettingFix
settingFix
=
new
PlatRegionSettingFix
();
...
@@ -98,4 +128,30 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
...
@@ -98,4 +128,30 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
});
});
platRegionSettingFixService
.
saveBatch
(
settingFixList
);
platRegionSettingFixService
.
saveBatch
(
settingFixList
);
}
}
@Override
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
long
start
,
long
end
)
{
SearchRequest
request
=
new
SearchRequest
();
request
.
indices
(
"plat_elder_coordinate"
);
request
.
types
(
"_doc"
);
SearchSourceBuilder
builder
=
new
SearchSourceBuilder
();
builder
.
query
(
QueryBuilders
.
matchQuery
(
"elderId"
,
elderId
));
builder
.
query
(
QueryBuilders
.
rangeQuery
(
"reportTime"
).
gte
(
start
).
lte
(
end
));
request
.
source
(
builder
);
SearchResponse
response
=
null
;
List
<
PlatElderCoordinateVO
>
list
=
Lists
.
newArrayList
();
try
{
response
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
SearchHit
[]
results
=
response
.
getHits
().
getHits
();
for
(
SearchHit
result
:
results
)
{
Map
<
String
,
Object
>
sourceAsMap
=
result
.
getSourceAsMap
();
sourceAsMap
.
put
(
"track"
,
JSON
.
parseArray
(
MapUtils
.
getString
(
sourceAsMap
,
"track"
),
Integer
.
class
));
PlatElderCoordinateVO
platElderCoordinateVO
=
JsonUtil
.
mapToBean
(
sourceAsMap
,
PlatElderCoordinateVO
.
class
);
list
.
add
(
platElderCoordinateVO
);
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
list
;
}
}
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportDayServiceImpl.java
View file @
e4fa4e44
...
@@ -3,6 +3,7 @@ package com.makeit.service.platform.elder.impl;
...
@@ -3,6 +3,7 @@ package com.makeit.service.platform.elder.impl;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
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.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
...
@@ -46,7 +47,10 @@ import java.time.LocalDateTime;
...
@@ -46,7 +47,10 @@ import java.time.LocalDateTime;
import
java.time.ZoneOffset
;
import
java.time.ZoneOffset
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.function.Function
;
import
java.util.function.Predicate
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Service
@Service
...
@@ -448,74 +452,66 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
...
@@ -448,74 +452,66 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
@Override
@Override
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
long
start
,
long
end
)
{
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
long
start
,
long
end
)
{
LambdaQueryWrapper
<
PlatElderCoordinateRecord
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
return
platElderCoordinateRecordService
.
coordinateList
(
elderId
,
start
,
end
);
queryWrapper
.
eq
(
PlatElderCoordinateRecord:
:
getElderId
,
elderId
);
queryWrapper
.
ge
(
PlatElderCoordinateRecord:
:
getReportTime
,
start
);
queryWrapper
.
le
(
PlatElderCoordinateRecord:
:
getReportTime
,
end
);
List
<
PlatElderCoordinateRecord
>
list
=
platElderCoordinateRecordService
.
list
(
queryWrapper
);
return
list
.
stream
().
map
(
r
->
{
PlatElderCoordinateVO
platElderCoordinateVO
=
new
PlatElderCoordinateVO
();
BeanUtils
.
copyProperties
(
r
,
platElderCoordinateVO
);
platElderCoordinateVO
.
setTimestamp
(
r
.
getReportTime
());
platElderCoordinateVO
.
setOriDeviceId
(
r
.
getIotDeviceId
());
if
(
StringUtils
.
isNotBlank
(
r
.
getTrack
()))
{
platElderCoordinateVO
.
setTrack
(
JSON
.
parseArray
(
r
.
getTrack
(),
Integer
.
class
));
}
return
platElderCoordinateVO
;
}).
collect
(
Collectors
.
toList
());
}
}
@Override
@Override
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
String
deviceId
,
LocalDateTime
start
,
LocalDateTime
end
)
{
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
String
deviceId
,
LocalDateTime
start
,
LocalDateTime
end
)
{
// 主要为了获取track,空间设备没有该字段,所以去除
List
<
PlatDevice
>
platDeviceListSpace
=
platElderRealTimeService
.
getSpaceDevice
(
elderId
,
deviceId
);
//
List<PlatDevice> platDeviceListSpace = platElderRealTimeService.getSpaceDevice(elderId, deviceId);
List
<
PlatDevice
>
platDeviceListFall
=
platElderRealTimeService
.
getFallDevice
(
elderId
,
deviceId
);
List
<
PlatDevice
>
platDeviceListFall
=
platElderRealTimeService
.
getFallDevice
(
elderId
,
deviceId
);
if
(
CollectionUtils
.
isEmpty
(
platDeviceList
Space
)
&&
CollectionUtils
.
isEmpty
(
platDeviceList
Fall
))
{
if
(
CollectionUtils
.
isEmpty
(
platDeviceListFall
))
{
return
new
ArrayList
<>(
10
);
return
new
ArrayList
<>(
10
);
}
}
List
<
PlatElderCoordinateVO
>
voList
=
new
ArrayList
<>(
10
);
List
<
PlatElderCoordinateVO
>
voList
=
new
ArrayList
<>(
10
);
platDeviceListSpace
.
forEach
(
e
->
{
//
platDeviceListSpace.forEach(e -> {
List
<
DeviceInfoContentSpace
>
spaceList
=
iotProductDeviceService
.
getDeviceLogByTimeRangeSpace
(
e
.
getOriDeviceId
(),
24
*
3600
,
start
,
end
);
//
List<DeviceInfoContentSpace> spaceList = iotProductDeviceService.getDeviceLogByTimeRangeSpace(e.getOriDeviceId(), 24 * 3600, start, end);
voList
.
addAll
(
StreamUtil
.
map
(
spaceList
,
i
->
{
//
voList.addAll(StreamUtil.map(spaceList, i -> {
//
PlatElderCoordinateVO
vo
=
new
PlatElderCoordinateVO
();
//
PlatElderCoordinateVO vo = new PlatElderCoordinateVO();
vo
.
setTimestamp
(
i
.
getTimestamp
());
//
vo.setTimestamp(i.getTimestamp());
vo
.
setDistance
(
i
.
getProperties
().
getDistance
());
//
vo.setDistance(i.getProperties().getDistance());
vo
.
setAngle
(
i
.
getProperties
().
getAngle
());
//
vo.setAngle(i.getProperties().getAngle());
vo
.
setType
(
1
);
//
vo.setType(1);
vo
.
setPersonState
(
i
.
getProperties
().
getPersonState
());
//
vo.setPersonState(i.getProperties().getPersonState());
vo
.
setMount
(
i
.
getProperties
().
getMount
());
//
vo.setMount(i.getProperties().getMount());
vo
.
setDeviceId
(
e
.
getId
());
//
vo.setDeviceId(e.getId());
vo
.
setOriDeviceId
(
e
.
getOriDeviceId
());
//
vo.setOriDeviceId(e.getOriDeviceId());
//
return
vo
;
//
return vo;
//
})
//
})
);
//
);
//
});
//
});
platDeviceListFall
.
forEach
(
e
->
{
platDeviceListFall
.
forEach
(
e
->
{
List
<
DeviceInfoContentFall
>
fallList
=
iotProductDeviceService
.
getDeviceLogByTimeRangeFall
(
e
.
getOriDeviceId
(),
2
*
24
*
3600
,
start
,
end
);
List
<
DeviceInfoContentFall
>
fallList
=
iotProductDeviceService
.
getDeviceLogByTimeRangeFall
(
e
.
getOriDeviceId
(),
2
*
24
*
3600
,
start
,
end
);
voList
.
addAll
(
StreamUtil
.
map
(
fallList
,
i
->
{
Map
<
String
,
Boolean
>
existMap
=
new
HashMap
<>();
for
(
DeviceInfoContentFall
deviceInfoContentFall
:
fallList
)
{
PlatElderCoordinateVO
vo
=
new
PlatElderCoordinateVO
();
DeviceInfoContentFall
.
Properties
properties
=
deviceInfoContentFall
.
getProperties
();
vo
.
setTimestamp
(
i
.
getTimestamp
());
if
(
properties
==
null
||
CollectionUtils
.
isEmpty
(
properties
.
getTrack
()))
{
vo
.
setTrack
(
i
.
getProperties
().
getTrack
());
continue
;
vo
.
setDeviceId
(
e
.
getId
());
}
vo
.
setType
(
2
);
String
key
=
deviceInfoContentFall
.
getDeviceId
()
+
"_"
+
JSONObject
.
toJSONString
(
properties
.
getTrack
());
vo
.
setPersonState
(
i
.
getProperties
().
getPersonState
());
if
(!
existMap
.
containsKey
(
key
))
{
vo
.
setMount
(
i
.
getProperties
().
getMount
());
existMap
.
put
(
key
,
true
);
vo
.
setOriDeviceId
(
e
.
getOriDeviceId
());
PlatElderCoordinateVO
vo
=
new
PlatElderCoordinateVO
();
return
vo
;
vo
.
setTimestamp
(
deviceInfoContentFall
.
getTimestamp
());
vo
.
setTrack
(
properties
.
getTrack
());
})
vo
.
setDeviceId
(
e
.
getId
());
);
vo
.
setType
(
2
);
vo
.
setPersonState
(
properties
.
getPersonState
());
vo
.
setMount
(
properties
.
getMount
());
vo
.
setOriDeviceId
(
e
.
getOriDeviceId
());
voList
.
add
(
vo
);
}
}
});
});
return
voList
;
return
voList
;
...
...
server-web/src/main/resources/application-dev.yml
View file @
e4fa4e44
...
@@ -173,6 +173,13 @@ aliyun:
...
@@ -173,6 +173,13 @@ aliyun:
bucket
:
kangyang-oss
bucket
:
kangyang-oss
baseDir
:
kangyang
baseDir
:
kangyang
elasticsearch
:
host
:
124.71.33.17
port
:
9200
user
:
password
:
scheme
:
http
...
...
server-web/src/main/resources/application-test.yml
View file @
e4fa4e44
...
@@ -171,4 +171,10 @@ aliyun:
...
@@ -171,4 +171,10 @@ aliyun:
bucket
:
kangyang-oss
bucket
:
kangyang-oss
baseDir
:
kangyang
baseDir
:
kangyang
elasticsearch
:
host
:
124.71.33.17
port
:
9200
user
:
password
:
scheme
:
http
罗志长
@luozz
mentioned in commit
614a22a4
Jan 04, 2024
mentioned in commit
614a22a4
mentioned in commit 614a22a4765f842b9050f932bbf82b92e602eed0
Toggle commit list
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