Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
70a58503
Commit
70a58503
authored
Jul 10, 2024
by
麻笑宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
设备使用场所分布提交,es数据当前有问题,cityCode值暂时写死
parent
82d6266c
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
78 additions
and
15 deletions
+78
-15
IScreenService.java
...oot/module/tcm/api/service/statistics/IScreenService.java
+1
-1
ScreenController.java
...le/tcm/biz/controller/statistics/dp/ScreenController.java
+1
-1
ScreenImpl.java
...ot/module/tcm/biz/service/impl/statistics/ScreenImpl.java
+76
-13
No files found.
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-api/src/main/java/com/yeejoin/amos/boot/module/tcm/api/service/statistics/IScreenService.java
View file @
70a58503
...
...
@@ -27,5 +27,5 @@ public interface IScreenService {
Map
<
String
,
Object
>
supervisorCount
(
ScreenDto
screenDto
);
Map
<
String
,
Object
>
equipmentInformCount
(
ScreenDto
screenDto
);
List
<
Map
<
String
,
Object
>
>
equipmentInformCount
(
ScreenDto
screenDto
);
}
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-biz/src/main/java/com/yeejoin/amos/boot/module/tcm/biz/controller/statistics/dp/ScreenController.java
View file @
70a58503
...
...
@@ -60,7 +60,7 @@ public class ScreenController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/equipmentInformCount"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"大屏设备使用场所统计"
,
notes
=
"大屏设备使用场所统计"
)
public
ResponseModel
<
Map
<
String
,
Object
>>
equipmentInformCount
(
@RequestBody
ScreenDto
screenDto
){
public
ResponseModel
<
List
<
Map
<
String
,
Object
>
>>
equipmentInformCount
(
@RequestBody
ScreenDto
screenDto
){
return
ResponseHelper
.
buildResponse
(
screenService
.
equipmentInformCount
(
screenDto
));
}
}
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-biz/src/main/java/com/yeejoin/amos/boot/module/tcm/biz/service/impl/statistics/ScreenImpl.java
View file @
70a58503
...
...
@@ -8,22 +8,20 @@ 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.index.query.FuzzyQueryBuilder
;
import
org.elasticsearch.index.query.MatchQueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.search.aggregations.Aggregation
;
import
org.elasticsearch.search.aggregations.AggregationBuilders
;
import
org.elasticsearch.search.aggregations.Aggregations
;
import
org.elasticsearch.search.aggregations.metrics.ParsedCardinality
;
import
org.elasticsearch.search.aggregations.metrics.Sum
;
import
org.elasticsearch.search.aggregations.bucket.terms.Terms
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.util.*
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
ScreenImpl
implements
IScreenService
{
...
...
@@ -448,27 +446,92 @@ public class ScreenImpl implements IScreenService {
}
@Override
public
Map
<
String
,
Object
>
equipmentInformCount
(
ScreenDto
screenDto
)
{
public
List
<
Map
<
String
,
Object
>
>
equipmentInformCount
(
ScreenDto
screenDto
)
{
SearchRequest
searchRequest
=
new
SearchRequest
(
"idx_biz_view_jg_all"
);
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
//设置模糊搜索
FuzzyQueryBuilder
queryBuilder
=
QueryBuilders
.
fuzzyQuery
(
"USE_REGION_CODE;"
,
screenDto
.
getCityCode
());
searchSourceBuilder
.
query
(
queryBuilder
);
searchSourceBuilder
.
query
(
QueryBuilders
.
boolQuery
()
.
must
(
QueryBuilders
.
matchQuery
(
"USE_PLACE_CODE"
,
"##610324"
))
.
must
(
QueryBuilders
.
termsQuery
(
"IS_INTO_MANAGEMENT"
,
true
)));
searchSourceBuilder
.
aggregation
(
AggregationBuilders
.
filter
(
"usePlaceCodeExists"
,
QueryBuilders
.
existsQuery
(
"USE_PLACE_CODE"
))
.
subAggregation
(
AggregationBuilders
.
terms
(
"USE_PLACE_CODE"
).
field
(
"USE_PLACE_CODE.keyword"
).
size
(
10
))
AggregationBuilders
.
terms
(
"USE_SITE_CODE"
).
field
(
"USE_SITE_CODE"
)
);
searchRequest
.
source
(
searchSourceBuilder
);
Map
<
String
,
Integer
>
dataMap
=
new
HashMap
<>();
List
<
Map
<
String
,
Object
>>
returnList
=
new
ArrayList
<>();
try
{
// 执行搜索请求
SearchResponse
searchResponse
=
restHighLevelClient
.
search
(
searchRequest
,
RequestOptions
.
DEFAULT
);
// 获取所有聚合结果
Aggregations
aggregations
=
searchResponse
.
getAggregations
();
Terms
termsResult
=
aggregations
.
get
(
"USE_SITE_CODE"
);
for
(
Terms
.
Bucket
bucket
:
termsResult
.
getBuckets
())
{
String
category
=
bucket
.
getKeyAsString
();
// 或者使用 bucket.getKey() 对于非字符串类型
long
docCount
=
bucket
.
getDocCount
();
dataMap
.
put
(
category
,
(
int
)
docCount
);
}
/**
* 6008 住宅小区
* 6009 商业单位
* 6010 学校
* 6012 政府机关
* 6011 医疗机构
* 6013 公共场所
* 6528 工业场所
* 6529 工业场所(户外)
* 6530 养老机构
* 6531 旅游景区
* 6532 游乐场所
*/
Map
<
String
,
Object
>
zhuzhaiMap
=
new
HashMap
<>();
zhuzhaiMap
.
put
(
"name"
,
"住宅小区"
);
zhuzhaiMap
.
put
(
"value"
,
dataMap
.
getOrDefault
(
"6008"
,
0
));
returnList
.
add
(
zhuzhaiMap
);
Map
<
String
,
Object
>
shangyeMap
=
new
HashMap
<>();
shangyeMap
.
put
(
"name"
,
"商业单位"
);
shangyeMap
.
put
(
"value"
,
dataMap
.
getOrDefault
(
"6009"
,
0
));
returnList
.
add
(
shangyeMap
);
Map
<
String
,
Object
>
xuexiaoMap
=
new
HashMap
<>();
xuexiaoMap
.
put
(
"name"
,
"学校"
);
xuexiaoMap
.
put
(
"value"
,
dataMap
.
getOrDefault
(
"6010"
,
0
));
returnList
.
add
(
xuexiaoMap
);
Map
<
String
,
Object
>
zhengfuMap
=
new
HashMap
<>();
zhengfuMap
.
put
(
"name"
,
"政府机关"
);
zhengfuMap
.
put
(
"value"
,
dataMap
.
getOrDefault
(
"6012"
,
0
));
returnList
.
add
(
zhengfuMap
);
Map
<
String
,
Object
>
yiliaoMap
=
new
HashMap
<>();
yiliaoMap
.
put
(
"name"
,
"医疗机构"
);
yiliaoMap
.
put
(
"value"
,
dataMap
.
getOrDefault
(
"6011"
,
0
));
returnList
.
add
(
yiliaoMap
);
Map
<
String
,
Object
>
gonggongMap
=
new
HashMap
<>();
gonggongMap
.
put
(
"name"
,
"公共场所"
);
gonggongMap
.
put
(
"value"
,
dataMap
.
getOrDefault
(
"6013"
,
0
));
returnList
.
add
(
gonggongMap
);
Map
<
String
,
Object
>
gongyeMap
=
new
HashMap
<>();
gongyeMap
.
put
(
"name"
,
"工业场所"
);
gongyeMap
.
put
(
"value"
,
dataMap
.
getOrDefault
(
"6528"
,
0
));
returnList
.
add
(
gongyeMap
);
Map
<
String
,
Object
>
gongyeMap1
=
new
HashMap
<>();
gongyeMap1
.
put
(
"name"
,
"工业场所(户外)"
);
gongyeMap1
.
put
(
"value"
,
dataMap
.
getOrDefault
(
"6529"
,
0
));
returnList
.
add
(
gongyeMap1
);
Map
<
String
,
Object
>
yanglaoMap
=
new
HashMap
<>();
yanglaoMap
.
put
(
"name"
,
"养老机构"
);
yanglaoMap
.
put
(
"value"
,
dataMap
.
getOrDefault
(
"6530"
,
0
));
returnList
.
add
(
yanglaoMap
);
Map
<
String
,
Object
>
lvyouMap
=
new
HashMap
<>();
lvyouMap
.
put
(
"name"
,
"旅游景区"
);
lvyouMap
.
put
(
"value"
,
dataMap
.
getOrDefault
(
"6531"
,
0
));
returnList
.
add
(
lvyouMap
);
Map
<
String
,
Object
>
yuleMap
=
new
HashMap
<>();
yuleMap
.
put
(
"name"
,
"游乐场所"
);
yuleMap
.
put
(
"value"
,
dataMap
.
getOrDefault
(
"6532"
,
0
));
returnList
.
add
(
yuleMap
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
Collections
.
emptyMap
()
;
return
returnList
;
}
}
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