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
9a511b95
Commit
9a511b95
authored
Oct 18, 2023
by
tangwei
Browse files
Options
Browse Files
Download
Plain Diff
解决冲突
parents
667d7fd7
11f51182
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
508 additions
and
26 deletions
+508
-26
BigScreenAnalyseController.java
...dule/jxiop/biz/controller/BigScreenAnalyseController.java
+13
-0
WarningRecordStatusMessage.java
...oot/module/jxiop/biz/emqx/WarningRecordStatusMessage.java
+2
-2
WarningRecordStatusMessage2.java
...ot/module/jxiop/biz/emqx/WarningRecordStatusMessage2.java
+3
-3
HealthStatusIndicatorServiceImpl.java
...op/biz/service/impl/HealthStatusIndicatorServiceImpl.java
+0
-0
IdxBizFanHealthIndexMapper.xml
...n/resources/mapper/cluster/IdxBizFanHealthIndexMapper.xml
+5
-5
PersonQrCodeController.java
...t/module/jxiop/biz/controller/PersonQrCodeController.java
+5
-5
SjglZsjZsbtzMapper.xml
.../src/main/resources/mapper/cluster/SjglZsjZsbtzMapper.xml
+3
-3
EquipmentsJxiopDocMysql.java
...boot/module/jxiop/api/entity/EquipmentsJxiopDocMysql.java
+76
-0
EquipmentsJxiopDocMysqlMapper.java
...odule/jxiop/api/mapper/EquipmentsJxiopDocMysqlMapper.java
+7
-0
DemoController.java
...amos/boot/module/jxiop/biz/controller/DemoController.java
+0
-0
EquipmentsJxiopDocMysql.java
...boot/module/jxiop/biz/entity/EquipmentsJxiopDocMysql.java
+76
-0
EsEntity.java
...m/yeejoin/amos/boot/module/jxiop/biz/entity/EsEntity.java
+31
-0
MonitorFanIndicatorImpl.java
...odule/jxiop/biz/service/impl/MonitorFanIndicatorImpl.java
+39
-8
ElasticSearchUtil.java
...n/amos/boot/module/jxiop/biz/utils/ElasticSearchUtil.java
+248
-0
No files found.
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/controller/BigScreenAnalyseController.java
View file @
9a511b95
...
@@ -977,4 +977,17 @@ public class BigScreenAnalyseController extends BaseController {
...
@@ -977,4 +977,17 @@ public class BigScreenAnalyseController extends BaseController {
}
}
return
ResponseHelper
.
buildResponse
(
maps
);
return
ResponseHelper
.
buildResponse
(
maps
);
}
}
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"风电-场站风速"
)
@GetMapping
(
"/getFanWindSpeedInfo"
)
public
ResponseModel
<
Map
<
String
,
String
>>
getFanWindSpeedInfo
(
@RequestParam
(
"stationId"
)
String
stationId
)
throws
Exception
{
if
(
StrUtil
.
isNotEmpty
(
stationId
))
{
StationBasic
stationBasic
=
stationBasicMapper
.
selectById
(
stationId
);
stationId
=
stationBasic
.
getFanGatewayId
();
}
return
ResponseHelper
.
buildResponse
(
null
);
}
}
}
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/emqx/WarningRecordStatusMessage.java
View file @
9a511b95
...
@@ -71,14 +71,14 @@ public class WarningRecordStatusMessage extends EmqxListener {
...
@@ -71,14 +71,14 @@ public class WarningRecordStatusMessage extends EmqxListener {
public
void
jxIopUpdate
(
JSONObject
analysisResult
)
{
public
void
jxIopUpdate
(
JSONObject
analysisResult
)
{
log
.
info
(
"修改预警状态信息:{}"
,
analysisResult
);
log
.
info
(
"修改预警状态信息:{}"
,
analysisResult
);
if
(
ObjectUtils
.
isNotEmpty
(
analysisResult
)
&&
analysisResult
.
get
(
"warningObjectType"
).
toString
().
equals
(
"
pv
"
))
{
if
(
ObjectUtils
.
isNotEmpty
(
analysisResult
)
&&
analysisResult
.
get
(
"warningObjectType"
).
toString
().
equals
(
"
fan
"
))
{
LambdaUpdateWrapper
<
IdxBizFanWarningRecord
>
lambda
=
new
LambdaUpdateWrapper
<>();
LambdaUpdateWrapper
<
IdxBizFanWarningRecord
>
lambda
=
new
LambdaUpdateWrapper
<>();
lambda
.
set
(
IdxBizFanWarningRecord:
:
getDisposotionState
,
"已处置"
);
lambda
.
set
(
IdxBizFanWarningRecord:
:
getDisposotionState
,
"已处置"
);
lambda
.
set
(
IdxBizFanWarningRecord:
:
getStatus
,
"1"
);
lambda
.
set
(
IdxBizFanWarningRecord:
:
getStatus
,
"1"
);
lambda
.
set
(
IdxBizFanWarningRecord:
:
getDisposotionDate
,
new
Date
());
lambda
.
set
(
IdxBizFanWarningRecord:
:
getDisposotionDate
,
new
Date
());
lambda
.
eq
(
IdxBizFanWarningRecord:
:
getSequenceNbr
,
analysisResult
.
get
(
"objectId"
));
lambda
.
eq
(
IdxBizFanWarningRecord:
:
getSequenceNbr
,
analysisResult
.
get
(
"objectId"
));
idxBizFanWarningRecordService
.
update
(
lambda
);
idxBizFanWarningRecordService
.
update
(
lambda
);
}
else
if
(
ObjectUtils
.
isNotEmpty
(
analysisResult
)
&&
analysisResult
.
get
(
"warningObjectType"
).
toString
().
equals
(
"
fan
"
))
{
}
else
if
(
ObjectUtils
.
isNotEmpty
(
analysisResult
)
&&
analysisResult
.
get
(
"warningObjectType"
).
toString
().
equals
(
"
pv
"
))
{
LambdaUpdateWrapper
<
IdxBizPvWarningRecord
>
lambda
=
new
LambdaUpdateWrapper
<>();
LambdaUpdateWrapper
<
IdxBizPvWarningRecord
>
lambda
=
new
LambdaUpdateWrapper
<>();
lambda
.
set
(
IdxBizPvWarningRecord:
:
getDisposotionState
,
"已处置"
);
lambda
.
set
(
IdxBizPvWarningRecord:
:
getDisposotionState
,
"已处置"
);
lambda
.
set
(
IdxBizPvWarningRecord:
:
getStatus
,
"1"
);
lambda
.
set
(
IdxBizPvWarningRecord:
:
getStatus
,
"1"
);
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/emqx/WarningRecordStatusMessage2.java
View file @
9a511b95
...
@@ -77,7 +77,7 @@ public class WarningRecordStatusMessage2 extends EmqxListener {
...
@@ -77,7 +77,7 @@ public class WarningRecordStatusMessage2 extends EmqxListener {
public
void
jxIopUpdate
(
JSONObject
analysisResult
)
{
public
void
jxIopUpdate
(
JSONObject
analysisResult
)
{
log
.
info
(
"修改预警状态信息:{}"
,
analysisResult
);
log
.
info
(
"修改预警状态信息:{}"
,
analysisResult
);
if
(
ObjectUtils
.
isNotEmpty
(
analysisResult
)
&&
analysisResult
.
get
(
"warningObjectType"
).
toString
().
equals
(
"
pv
"
))
{
if
(
ObjectUtils
.
isNotEmpty
(
analysisResult
)
&&
analysisResult
.
get
(
"warningObjectType"
).
toString
().
equals
(
"
fan
"
))
{
LambdaUpdateWrapper
<
IdxBizFanWarningRecord
>
lambda
=
new
LambdaUpdateWrapper
<>();
LambdaUpdateWrapper
<
IdxBizFanWarningRecord
>
lambda
=
new
LambdaUpdateWrapper
<>();
lambda
.
set
(
IdxBizFanWarningRecord:
:
getDisposotionState
,
"已处置"
);
lambda
.
set
(
IdxBizFanWarningRecord:
:
getDisposotionState
,
"已处置"
);
lambda
.
set
(
IdxBizFanWarningRecord:
:
getStatus
,
"1"
);
lambda
.
set
(
IdxBizFanWarningRecord:
:
getStatus
,
"1"
);
...
@@ -85,13 +85,13 @@ public class WarningRecordStatusMessage2 extends EmqxListener {
...
@@ -85,13 +85,13 @@ public class WarningRecordStatusMessage2 extends EmqxListener {
List
<
String
>
traceIds
=
(
List
<
String
>)
analysisResult
.
get
(
"traceIds"
);
List
<
String
>
traceIds
=
(
List
<
String
>)
analysisResult
.
get
(
"traceIds"
);
lambda
.
in
(
IdxBizFanWarningRecord:
:
getSequenceNbr
,
traceIds
);
lambda
.
in
(
IdxBizFanWarningRecord:
:
getSequenceNbr
,
traceIds
);
idxBizFanWarningRecordService
.
update
(
lambda
);
idxBizFanWarningRecordService
.
update
(
lambda
);
}
else
if
(
ObjectUtils
.
isNotEmpty
(
analysisResult
)
&&
analysisResult
.
get
(
"warningObjectType"
).
toString
().
equals
(
"
fan
"
))
{
}
else
if
(
ObjectUtils
.
isNotEmpty
(
analysisResult
)
&&
analysisResult
.
get
(
"warningObjectType"
).
toString
().
equals
(
"
pv
"
))
{
LambdaUpdateWrapper
<
IdxBizPvWarningRecord
>
lambda
=
new
LambdaUpdateWrapper
<>();
LambdaUpdateWrapper
<
IdxBizPvWarningRecord
>
lambda
=
new
LambdaUpdateWrapper
<>();
lambda
.
set
(
IdxBizPvWarningRecord:
:
getDisposotionState
,
"已处置"
);
lambda
.
set
(
IdxBizPvWarningRecord:
:
getDisposotionState
,
"已处置"
);
lambda
.
set
(
IdxBizPvWarningRecord:
:
getStatus
,
"1"
);
lambda
.
set
(
IdxBizPvWarningRecord:
:
getStatus
,
"1"
);
lambda
.
set
(
IdxBizPvWarningRecord:
:
getDisposotionDate
,
new
Date
());
lambda
.
set
(
IdxBizPvWarningRecord:
:
getDisposotionDate
,
new
Date
());
List
<
String
>
traceIds
=
(
List
<
String
>)
analysisResult
.
get
(
"traceIds"
);
List
<
String
>
traceIds
=
(
List
<
String
>)
analysisResult
.
get
(
"traceIds"
);
lambda
.
eq
(
IdxBizPvWarningRecord:
:
getSequenceNbr
,
traceIds
);
lambda
.
in
(
IdxBizPvWarningRecord:
:
getSequenceNbr
,
traceIds
);
idxBizPvWarningRecordService
.
update
(
lambda
);
idxBizPvWarningRecordService
.
update
(
lambda
);
}
}
}
}
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/service/impl/HealthStatusIndicatorServiceImpl.java
View file @
9a511b95
This diff is collapsed.
Click to expand it.
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/resources/mapper/cluster/IdxBizFanHealthIndexMapper.xml
View file @
9a511b95
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<select
id=
"getHealthScoreInfo"
resultType=
"java.math.BigDecimal"
>
<select
id=
"getHealthScoreInfo"
resultType=
"java.math.BigDecimal"
>
SELECT
SELECT
avg( a.avgHealthIndex
) AS healthIndex
round(avg( a.avgHealthIndex ), 2
) AS healthIndex
FROM
FROM
(
(
SELECT
SELECT
...
@@ -57,7 +57,7 @@
...
@@ -57,7 +57,7 @@
<select
id=
"getHealthScoreInfoByStation"
resultType=
"java.math.BigDecimal"
>
<select
id=
"getHealthScoreInfoByStation"
resultType=
"java.math.BigDecimal"
>
SELECT
SELECT
IFNULL( HEALTH_INDEX , 100
) AS healthIndex
round(IFNULL( HEALTH_INDEX , 100 ), 2
) AS healthIndex
FROM
FROM
${tableName}
${tableName}
<where>
<where>
...
@@ -211,7 +211,7 @@
...
@@ -211,7 +211,7 @@
WARNING_NAME
WARNING_NAME
) a
) a
ORDER BY
ORDER BY
a.allNum
DESC
a.allNum
desc
</select>
</select>
...
@@ -307,7 +307,7 @@
...
@@ -307,7 +307,7 @@
warningName
warningName
having pointName IS NOT NULL
having pointName IS NOT NULL
AND pointName != ''
AND pointName != ''
order by num
de
sc
order by num
a
sc
</select>
</select>
<select
id=
"getAllEquipAlarmInfoAnalysisByArea"
resultType=
"java.util.Map"
>
<select
id=
"getAllEquipAlarmInfoAnalysisByArea"
resultType=
"java.util.Map"
>
...
@@ -349,7 +349,7 @@
...
@@ -349,7 +349,7 @@
WHERE
WHERE
a.pointName IS NOT NULL
a.pointName IS NOT NULL
AND a.pointName != ''
AND a.pointName != ''
order by a.num
desc
order by a.num
ASC
</select>
</select>
<select
id=
"getSubSystemInfo"
resultType=
"java.util.Map"
>
<select
id=
"getSubSystemInfo"
resultType=
"java.util.Map"
>
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-bigscreen-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/controller/PersonQrCodeController.java
View file @
9a511b95
...
@@ -165,10 +165,10 @@ public class PersonQrCodeController extends BaseController {
...
@@ -165,10 +165,10 @@ public class PersonQrCodeController extends BaseController {
}
else
if
(
"job"
.
equals
(
dataType
))
{
}
else
if
(
"job"
.
equals
(
dataType
))
{
countAll
=
sjglZsjZsbtzMapper
.
getJobYardByPageCount
(
parentCode
,
null
,
null
,
null
);
countAll
=
sjglZsjZsbtzMapper
.
getJobYardByPageCount
(
parentCode
,
null
,
null
,
null
);
}
}
result
.
put
(
"red
ToGreen
Percent"
,
getPercent
(
new
BigDecimal
(
red
),
new
BigDecimal
(
countAll
)));
result
.
put
(
"redPercent"
,
getPercent
(
new
BigDecimal
(
red
),
new
BigDecimal
(
countAll
)));
result
.
put
(
"redPercent"
,
getPercent
(
new
BigDecimal
(
redToGreen
),
new
BigDecimal
(
countAll
)));
result
.
put
(
"red
ToGreen
Percent"
,
getPercent
(
new
BigDecimal
(
redToGreen
),
new
BigDecimal
(
countAll
)));
result
.
put
(
"yellow
ToGreen
Percent"
,
getPercent
(
new
BigDecimal
(
yellow
),
new
BigDecimal
(
countAll
)));
result
.
put
(
"yellowPercent"
,
getPercent
(
new
BigDecimal
(
yellow
),
new
BigDecimal
(
countAll
)));
result
.
put
(
"yellowPercent"
,
getPercent
(
new
BigDecimal
(
yellowToGreen
),
new
BigDecimal
(
countAll
)));
result
.
put
(
"yellow
ToGreen
Percent"
,
getPercent
(
new
BigDecimal
(
yellowToGreen
),
new
BigDecimal
(
countAll
)));
return
ResponseHelper
.
buildResponse
(
result
);
return
ResponseHelper
.
buildResponse
(
result
);
}
}
return
ResponseHelper
.
buildResponse
(
null
);
return
ResponseHelper
.
buildResponse
(
null
);
...
@@ -217,7 +217,7 @@ public class PersonQrCodeController extends BaseController {
...
@@ -217,7 +217,7 @@ public class PersonQrCodeController extends BaseController {
* @return 百分比
* @return 百分比
*/
*/
private
double
getPercent
(
BigDecimal
numerator
,
BigDecimal
denominator
)
{
private
double
getPercent
(
BigDecimal
numerator
,
BigDecimal
denominator
)
{
BigDecimal
multiply
=
numerator
.
divide
(
denominator
.
compareTo
(
BigDecimal
.
ZERO
)
!=
0
?
denominator
:
new
BigDecimal
(
1
),
4
,
BigDecimal
.
ROUND_
DOWN
).
multiply
(
new
BigDecimal
(
100
));
BigDecimal
multiply
=
numerator
.
divide
(
denominator
.
compareTo
(
BigDecimal
.
ZERO
)
!=
0
?
denominator
:
new
BigDecimal
(
1
),
4
,
BigDecimal
.
ROUND_
HALF_UP
).
multiply
(
new
BigDecimal
(
100
));
return
Math
.
abs
(
multiply
.
doubleValue
());
return
Math
.
abs
(
multiply
.
doubleValue
());
}
}
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-bigscreen-biz/src/main/resources/mapper/cluster/SjglZsjZsbtzMapper.xml
View file @
9a511b95
...
@@ -101,8 +101,8 @@
...
@@ -101,8 +101,8 @@
ifnull(a.SBMC, '') as objectName ,
ifnull(a.SBMC, '') as objectName ,
ifnull(a.QRCODE_COLOR, '') AS qrCodeColor,
ifnull(a.QRCODE_COLOR, '') AS qrCodeColor,
ifnull(b.COMPANY_NAME, '') AS stationName,
ifnull(b.COMPANY_NAME, '') AS stationName,
ifnull(a.UPDATE_
TIME
, '') as recDate,
ifnull(a.UPDATE_
STAMP
, '') as recDate,
SBBM as objectId
a.
SBBM as objectId
FROM
FROM
sjgl_zsj_zsbtz a
sjgl_zsj_zsbtz a
INNER JOIN privilege_company b ON a.WERKS = b.COMPANY_CODE and b.IS_DELETED = false AND b.`LEVEL` = 'station'
INNER JOIN privilege_company b ON a.WERKS = b.COMPANY_CODE and b.IS_DELETED = false AND b.`LEVEL` = 'station'
...
@@ -120,7 +120,7 @@
...
@@ -120,7 +120,7 @@
AND a.QRCODE_COLOR != #{ne}
AND a.QRCODE_COLOR != #{ne}
</if>
</if>
</where>
</where>
ORDER BY a.
CREATE_TIME
DESC
ORDER BY a.
UPDATE_STAMP
DESC
limit #{current},#{size}
limit #{current},#{size}
</select>
</select>
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-monitor-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/api/entity/EquipmentsJxiopDocMysql.java
0 → 100644
View file @
9a511b95
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
api
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.github.classgraph.json.Id
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
* CREATE TABLE `equipments_jxiop_doc_mysql` (
* `id` varchar(50) NOT NULL,
* `address` varchar(50) DEFAULT NULL,
* `equipment_specific_name` varchar(255) DEFAULT NULL,
* `gateway_id` varchar(50) DEFAULT NULL,
* `is_alarm` varchar(20) DEFAULT NULL,
* `created_time` date DEFAULT NULL,
* `unit` varchar(50) DEFAULT NULL,
* `value` varchar(50) DEFAULT NULL,
* `value_F` float DEFAULT NULL,
* `value_label` varchar(255) DEFAULT NULL,
* `trace_id` varchar(50) DEFAULT NULL,
* `equipment_index_name` varchar(255) DEFAULT NULL,
* `equipment_number` varchar(50) DEFAULT NULL,
* `front_module` varchar(200) DEFAULT NULL,
* `system_type` varchar(200) DEFAULT NULL,
* `picture_name` varchar(255) DEFAULT NULL,
* `display_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
* `data_type` varchar(50) DEFAULT NULL,
* PRIMARY KEY (`id`)
* ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
*/
@Data
@Accessors
(
chain
=
true
)
@TableName
(
"equipments_jxiop_doc_mysql"
)
public
class
EquipmentsJxiopDocMysql
{
@Id
private
String
id
;
@TableField
(
"address"
)
private
String
address
;
@TableField
(
"data_type"
)
private
String
dataType
;
@TableField
(
"equipment_specific_name"
)
private
String
equipmentSpecificName
;
@TableField
(
"gateway_id"
)
private
String
gatewayId
;
@TableField
(
"is_alarm"
)
private
String
isAlarm
;
@TableField
(
"created_time"
)
private
Date
createdTime
;
@TableField
(
"unit"
)
private
String
unit
;
@TableField
(
"value"
)
private
String
value
;
@TableField
(
"value_F"
)
private
Float
valueF
;
@TableField
(
"value_label"
)
private
String
valueLabel
;
@TableField
(
"trace_id"
)
private
String
traceId
;
@TableField
(
"equipment_index_name"
)
private
String
equipmentIndexName
;
@TableField
(
"equipment_number"
)
private
String
equipmentNumber
;
@TableField
(
"front_module"
)
private
String
frontModule
;
@TableField
(
"system_type"
)
private
String
systemType
;
@TableField
(
"picture_name"
)
private
String
pictureName
;
@TableField
(
"display_name"
)
private
String
displayName
;
}
amos-boot-system-jxiop/amos-boot-module-jxiop-monitor-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/api/mapper/EquipmentsJxiopDocMysqlMapper.java
0 → 100644
View file @
9a511b95
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.jxiop.biz.entity.EquipmentsJxiopDocMysql
;
public
interface
EquipmentsJxiopDocMysqlMapper
extends
BaseMapper
<
EquipmentsJxiopDocMysql
>
{
}
amos-boot-system-jxiop/amos-boot-module-jxiop-monitor-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/controller/DemoController.java
View file @
9a511b95
This diff is collapsed.
Click to expand it.
amos-boot-system-jxiop/amos-boot-module-jxiop-monitor-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/entity/EquipmentsJxiopDocMysql.java
0 → 100644
View file @
9a511b95
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
biz
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.github.classgraph.json.Id
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
* CREATE TABLE `equipments_jxiop_doc_mysql` (
* `id` varchar(50) NOT NULL,
* `address` varchar(50) DEFAULT NULL,
* `equipment_specific_name` varchar(255) DEFAULT NULL,
* `gateway_id` varchar(50) DEFAULT NULL,
* `is_alarm` varchar(20) DEFAULT NULL,
* `created_time` date DEFAULT NULL,
* `unit` varchar(50) DEFAULT NULL,
* `value` varchar(50) DEFAULT NULL,
* `value_F` float DEFAULT NULL,
* `value_label` varchar(255) DEFAULT NULL,
* `trace_id` varchar(50) DEFAULT NULL,
* `equipment_index_name` varchar(255) DEFAULT NULL,
* `equipment_number` varchar(50) DEFAULT NULL,
* `front_module` varchar(200) DEFAULT NULL,
* `system_type` varchar(200) DEFAULT NULL,
* `picture_name` varchar(255) DEFAULT NULL,
* `display_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
* `data_type` varchar(50) DEFAULT NULL,
* PRIMARY KEY (`id`)
* ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
*/
@Data
@Accessors
(
chain
=
true
)
@TableName
(
"equipments_jxiop_doc_mysql"
)
public
class
EquipmentsJxiopDocMysql
{
@Id
private
String
id
;
@TableField
(
"address"
)
private
String
address
;
@TableField
(
"data_type"
)
private
String
dataType
;
@TableField
(
"equipment_specific_name"
)
private
String
equipmentSpecificName
;
@TableField
(
"gateway_id"
)
private
String
gatewayId
;
@TableField
(
"is_alarm"
)
private
String
isAlarm
;
@TableField
(
"created_time"
)
private
Date
createdTime
;
@TableField
(
"unit"
)
private
String
unit
;
@TableField
(
"value"
)
private
String
value
;
@TableField
(
"value_F"
)
private
Float
valueF
;
@TableField
(
"value_label"
)
private
String
valueLabel
;
@TableField
(
"trace_id"
)
private
String
traceId
;
@TableField
(
"equipment_index_name"
)
private
String
equipmentIndexName
;
@TableField
(
"equipment_number"
)
private
String
equipmentNumber
;
@TableField
(
"front_module"
)
private
String
frontModule
;
@TableField
(
"system_type"
)
private
String
systemType
;
@TableField
(
"picture_name"
)
private
String
pictureName
;
@TableField
(
"display_name"
)
private
String
displayName
;
}
amos-boot-system-jxiop/amos-boot-module-jxiop-monitor-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/entity/EsEntity.java
0 → 100644
View file @
9a511b95
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
biz
.
entity
;
import
lombok.Getter
;
/**
*
* @author LiuLin
* @date 2023年10月11日 09:31
*/
@Getter
public
final
class
EsEntity
<
T
>
{
private
String
id
;
private
T
data
;
public
EsEntity
()
{
}
public
EsEntity
(
String
id
,
T
data
)
{
this
.
data
=
data
;
this
.
id
=
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
void
setData
(
T
data
)
{
this
.
data
=
data
;
}
}
amos-boot-system-jxiop/amos-boot-module-jxiop-monitor-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/service/impl/MonitorFanIndicatorImpl.java
View file @
9a511b95
...
@@ -46,6 +46,7 @@ import org.springframework.util.ObjectUtils;
...
@@ -46,6 +46,7 @@ import org.springframework.util.ObjectUtils;
import
org.typroject.tyboot.component.emq.EmqKeeper
;
import
org.typroject.tyboot.component.emq.EmqKeeper
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
javax.ws.rs.HEAD
;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.nio.charset.StandardCharsets
;
import
java.nio.charset.StandardCharsets
;
...
@@ -847,16 +848,26 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
...
@@ -847,16 +848,26 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
}
else
{
}
else
{
likeMap
.
put
(
CommonConstans
.
QueryStringSystemType
,
systemType
);
likeMap
.
put
(
CommonConstans
.
QueryStringSystemType
,
systemType
);
}
}
List
<
ESEquipments
>
indicatorsDtoList
=
commonServiceImpl
.
getListDataByCondtionsAndLike
(
queryCondtion
,
null
,
ESEquipments
.
class
,
likeMap
);
List
<
ESEquipments
>
indicatorsDtoList
=
commonServiceImpl
.
getListDataByCondtionsAndLike
(
queryCondtion
,
null
,
ESEquipments
.
class
,
likeMap
);
// List<ESEquipments> indicatorsDtoList = commonServiceImpl.getListDataByCondtions(queryCondtion, null, ESEquipments.class, likeMap);
Integer
traceIdCount
=
indicatorsDtoList
.
stream
().
filter
(
esEquipments
->
!
StringUtils
.
isEmpty
(
esEquipments
.
getTraceId
())).
collect
(
Collectors
.
toList
()).
size
();
List
<
Map
<
String
,
Object
>>
statusMaps
=
new
ArrayList
<>();
List
<
Map
<
String
,
Object
>>
statusMaps
=
new
ArrayList
<>();
for
(
ESEquipments
listDatum
:
indicatorsDtoList
)
{
for
(
ESEquipments
listDatum
:
indicatorsDtoList
)
{
Map
<
String
,
Object
>
statusMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
statusMap
=
new
HashMap
<>();
statusMap
.
put
(
"traceId"
,
listDatum
.
getTraceId
());
String
data
=
listDatum
.
getDisplayName
();
String
data
=
listDatum
.
getDisplayName
();
if
(
StringUtils
.
isEmpty
(
data
)
||
(!
ObjectUtils
.
isEmpty
(
listDatum
.
getEquipmentNumber
())
&&
data
.
equals
(
listDatum
.
getEquipmentNumber
())))
{
if
(
StringUtils
.
isEmpty
(
data
)
||
(!
ObjectUtils
.
isEmpty
(
listDatum
.
getEquipmentNumber
())
&&
data
.
equals
(
listDatum
.
getEquipmentNumber
())))
{
data
=
listDatum
.
getEquipmentIndexName
();
data
=
listDatum
.
getEquipmentIndexName
();
}
}
statusMap
.
put
(
"displayName"
,
listDatum
.
getDisplayName
());
statusMap
.
put
(
"equipmentIndexName"
,
listDatum
.
getEquipmentIndexName
());
statusMap
.
put
(
"unit"
,
listDatum
.
getUnit
());
statusMap
.
put
(
"value"
,
listDatum
.
getValue
());
statusMap
.
put
(
"addres"
,
listDatum
.
getAddress
());
statusMap
.
put
(
"addres"
,
listDatum
.
getAddress
());
statusMap
.
put
(
"id"
,
listDatum
.
getId
());
statusMap
.
put
(
"data"
,
data
);
statusMap
.
put
(
"data"
,
data
);
statusMap
.
put
(
"state"
,
listDatum
.
getValue
().
equals
(
"false"
)
?
0
:
1
);
statusMap
.
put
(
"state"
,
listDatum
.
getValue
().
equals
(
"false"
)
?
0
:
1
);
statusMap
.
put
(
"status"
,
listDatum
.
getValue
().
equals
(
"false"
)
?
0
:
1
);
statusMap
.
put
(
"status"
,
listDatum
.
getValue
().
equals
(
"false"
)
?
0
:
1
);
...
@@ -866,7 +877,16 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
...
@@ -866,7 +877,16 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
}
}
statusMaps
.
add
(
statusMap
);
statusMaps
.
add
(
statusMap
);
}
}
statusMaps
.
sort
(
Comparator
.
comparingLong
(
o
->
Long
.
parseLong
(
o
.
get
(
"addres"
).
toString
())));
Collator
instance
=
Collator
.
getInstance
(
Locale
.
CHINA
);
String
sortField
;
if
(
traceIdCount
==
statusMaps
.
size
()){
sortField
=
"traceId"
;
}
else
{
sortField
=
"addres"
;
}
Collections
.
sort
(
statusMaps
,
(
e1
,
e2
)
->
{
return
instance
.
compare
(
e1
.
get
(
sortField
),
e2
.
get
(
sortField
));
});
return
statusMaps
;
return
statusMaps
;
}
}
...
@@ -880,8 +900,15 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
...
@@ -880,8 +900,15 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
List
<
ESEquipments
>
esEquipmentsList
=
commonServiceImpl
.
getListDataByCondtionsAndLike
(
queryCondtion
,
null
,
ESEquipments
.
class
,
likeMap
);
List
<
ESEquipments
>
esEquipmentsList
=
commonServiceImpl
.
getListDataByCondtionsAndLike
(
queryCondtion
,
null
,
ESEquipments
.
class
,
likeMap
);
List
<
ESEquipments
>
listData
=
esEquipmentsList
.
stream
().
filter
(
esEquipments
->
!
esEquipments
.
getDisplayName
().
equals
(
""
)).
collect
(
Collectors
.
toList
());
List
<
ESEquipments
>
listData
=
esEquipmentsList
.
stream
().
filter
(
esEquipments
->
!
esEquipments
.
getDisplayName
().
equals
(
""
)).
collect
(
Collectors
.
toList
());
List
<
Map
<
String
,
Object
>>
statusMaps
=
new
ArrayList
<>();
List
<
Map
<
String
,
Object
>>
statusMaps
=
new
ArrayList
<>();
Integer
traceIdCount
=
listData
.
stream
().
filter
(
esEquipments
->
!
StringUtils
.
isEmpty
(
esEquipments
.
getTraceId
())).
collect
(
Collectors
.
toList
()).
size
();
for
(
ESEquipments
listDatum
:
listData
)
{
for
(
ESEquipments
listDatum
:
listData
)
{
Map
<
String
,
Object
>
statusMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
statusMap
=
new
HashMap
<>();
statusMap
.
put
(
"traceId"
,
listDatum
.
getTraceId
());
statusMap
.
put
(
"displayName"
,
listDatum
.
getDisplayName
());
statusMap
.
put
(
"equipmentIndexName"
,
listDatum
.
getEquipmentIndexName
());
statusMap
.
put
(
"unit"
,
listDatum
.
getUnit
());
statusMap
.
put
(
"value"
,
listDatum
.
getValue
());
statusMap
.
put
(
"id"
,
listDatum
.
getId
());
if
(
StringUtils
.
isEmpty
(
listDatum
.
getValue
()))
{
if
(
StringUtils
.
isEmpty
(
listDatum
.
getValue
()))
{
statusMap
.
put
(
"title"
,
0.00
+
(
StringUtils
.
isNotEmpty
(
listDatum
.
getUnit
())
?
listDatum
.
getUnit
()
:
""
));
statusMap
.
put
(
"title"
,
0.00
+
(
StringUtils
.
isNotEmpty
(
listDatum
.
getUnit
())
?
listDatum
.
getUnit
()
:
""
));
}
else
{
}
else
{
...
@@ -890,14 +917,16 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
...
@@ -890,14 +917,16 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
statusMap
.
put
(
"title1"
,
listDatum
.
getDisplayName
());
statusMap
.
put
(
"title1"
,
listDatum
.
getDisplayName
());
statusMaps
.
add
(
statusMap
);
statusMaps
.
add
(
statusMap
);
}
}
Collator
instance
=
Collator
.
getInstance
(
Locale
.
CHINA
);
Collator
instance
=
Collator
.
getInstance
(
Locale
.
CHINA
);
String
sortField
;
if
(
traceIdCount
==
statusMaps
.
size
()){
sortField
=
"traceId"
;
}
else
{
sortField
=
"title1"
;
}
Collections
.
sort
(
statusMaps
,
(
e1
,
e2
)
->
{
Collections
.
sort
(
statusMaps
,
(
e1
,
e2
)
->
{
return
instance
.
compare
(
e1
.
get
(
"title1"
),
e2
.
get
(
"title1"
));
return
instance
.
compare
(
e1
.
get
(
sortField
),
e2
.
get
(
sortField
));
});
});
return
statusMaps
;
return
statusMaps
;
}
}
...
@@ -2213,8 +2242,10 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
...
@@ -2213,8 +2242,10 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
c
=
-
c
;
c
=
-
c
;
}
}
double
pcv
=
c
/
avageValue
;
double
pcv
=
c
/
avageValue
;
pcv
=
Double
.
valueOf
(
String
.
format
(
CommonConstans
.
Twodecimalplaces
,
pcv
));
pcv
=
pcv
*
100
;
resultMap
.
put
(
"pcv"
,
pcv
);
pcv
=
Math
.
round
(
pcv
);
//pcv = Double.valueOf(String.format(CommonConstans.Twodecimalplaces, pcv));
resultMap
.
put
(
"pcv"
,
(
int
)
pcv
+
"%"
);
resultList
.
add
(
resultMap
);
resultList
.
add
(
resultMap
);
}
}
}
}
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-monitor-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/utils/ElasticSearchUtil.java
0 → 100644
View file @
9a511b95
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
biz
.
utils
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.jxiop.biz.entity.EsEntity
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.elasticsearch.action.ActionListener
;
import
org.elasticsearch.action.DocWriteResponse
;
import
org.elasticsearch.action.bulk.BulkRequest
;
import
org.elasticsearch.action.bulk.BulkResponse
;
import
org.elasticsearch.action.index.IndexRequest
;
import
org.elasticsearch.action.search.ClearScrollRequest
;
import
org.elasticsearch.action.search.SearchRequest
;
import
org.elasticsearch.action.search.SearchResponse
;
import
org.elasticsearch.action.search.SearchScrollRequest
;
import
org.elasticsearch.action.support.WriteRequest
;
import
org.elasticsearch.action.update.UpdateRequest
;
import
org.elasticsearch.action.update.UpdateResponse
;
import
org.elasticsearch.client.RequestOptions
;
import
org.elasticsearch.client.RestHighLevelClient
;
import
org.elasticsearch.common.xcontent.XContentType
;
import
org.elasticsearch.core.TimeValue
;
import
org.elasticsearch.index.query.QueryBuilder
;
import
org.elasticsearch.search.Scroll
;
import
org.elasticsearch.search.SearchHit
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Function
;
/**
* @author LiuLin
* @date 2023年08月08日 16:30
*/
@Slf4j
@Component
public
class
ElasticSearchUtil
{
private
static
final
long
SCROLL_TIMEOUT
=
180000
;
private
static
final
int
SIZE
=
1000
;
@Autowired
private
RestHighLevelClient
restHighLevelClient
;
/**
* ES修改数据
*
* @param indexName 索引名称
* @param id 主键
* @param paramJson 参数JSON
* @return
*/
public
boolean
updateData
(
String
indexName
,
String
id
,
String
paramJson
)
{
log
.
info
(
"更新ES数据,value:{}"
,
id
);
UpdateRequest
updateRequest
=
new
UpdateRequest
(
indexName
,
id
);
//如果修改索引中不存在则进行新增
updateRequest
.
docAsUpsert
(
true
);
//立即刷新数据
updateRequest
.
setRefreshPolicy
(
WriteRequest
.
RefreshPolicy
.
IMMEDIATE
);
updateRequest
.
doc
(
paramJson
,
XContentType
.
JSON
);
try
{
UpdateResponse
updateResponse
=
restHighLevelClient
.
update
(
updateRequest
,
RequestOptions
.
DEFAULT
);
//log.info("索引[{}],主键:【{}】操作结果:[{}]", indexName, id, updateResponse.getResult());
if
(
DocWriteResponse
.
Result
.
CREATED
.
equals
(
updateResponse
.
getResult
()))
{
log
.
info
(
"索引:【{}】,主键:【{}】新增成功"
,
indexName
,
id
);
return
true
;
}
else
if
(
DocWriteResponse
.
Result
.
UPDATED
.
equals
(
updateResponse
.
getResult
()))
{
log
.
info
(
"索引:【{}】,主键:【{}】修改成功"
,
indexName
,
id
);
return
true
;
}
else
if
(
DocWriteResponse
.
Result
.
NOOP
.
equals
(
updateResponse
.
getResult
()))
{
log
.
info
(
"索引:[{}],主键:[{}]无变化"
,
indexName
,
id
);
return
true
;
}
}
catch
(
IOException
e
)
{
log
.
error
(
"索引:[{}],主键:【{}】"
,
indexName
,
id
,
e
);
return
false
;
}
return
false
;
}
/**
* 单条更新
*
* @param indexName
* @param id
* @param data
* @return
* @throws IOException
*/
public
boolean
updateData
(
String
indexName
,
String
id
,
Object
data
)
throws
IOException
{
UpdateRequest
updateRequest
=
new
UpdateRequest
(
indexName
,
id
);
//准备文档
String
jsonString
=
JSONObject
.
toJSONString
(
data
);
Map
jsonMap
=
JSONObject
.
parseObject
(
jsonString
,
Map
.
class
);
updateRequest
.
doc
(
jsonMap
);
updateRequest
.
timeout
(
TimeValue
.
timeValueSeconds
(
1
));
updateRequest
.
setRefreshPolicy
(
WriteRequest
.
RefreshPolicy
.
WAIT_UNTIL
);
//数据为存储而不是更新
UpdateResponse
update
=
restHighLevelClient
.
update
(
updateRequest
,
RequestOptions
.
DEFAULT
);
return
update
.
getGetResult
().
equals
(
DocWriteResponse
.
Result
.
UPDATED
);
}
/**
* 必须传递ids集合
*
* @param indexName
* @param idList
* @param map
* @return
*/
public
boolean
update
(
String
indexName
,
List
<
String
>
idList
,
Map
map
)
{
// 创建批量请求
BulkRequest
bulkRequest
=
new
BulkRequest
();
for
(
String
id
:
idList
)
{
UpdateRequest
updateRequest
=
new
UpdateRequest
(
indexName
,
id
).
doc
(
map
);
bulkRequest
.
add
(
updateRequest
);
}
try
{
bulkRequest
.
setRefreshPolicy
(
WriteRequest
.
RefreshPolicy
.
IMMEDIATE
);
BulkResponse
bulk
=
restHighLevelClient
.
bulk
(
bulkRequest
,
RequestOptions
.
DEFAULT
);
return
bulk
.
hasFailures
();
}
catch
(
IOException
e
)
{
return
false
;
}
}
/**
* Description: 批量修改数据
*
* @param index index
* @param list 更新列表
* @author LiuLin
*/
public
<
T
>
void
updateBatch
(
String
index
,
List
<
EsEntity
<
T
>>
list
)
{
BulkRequest
request
=
new
BulkRequest
();
list
.
forEach
(
item
->
request
.
add
(
new
UpdateRequest
(
index
,
item
.
getId
())
.
doc
(
JSON
.
toJSONString
(
item
.
getData
()),
XContentType
.
JSON
)));
try
{
restHighLevelClient
.
bulk
(
request
,
RequestOptions
.
DEFAULT
);
list
.
forEach
(
s
->
log
.
info
(
"===========索引:【{}】,主键:【{}】修改成功"
,
index
,
s
.
getId
()));
}
catch
(
Exception
e
)
{
log
.
error
(
"索引:[{}]"
,
index
,
e
);
}
}
/**
* Description: 批量插入数据
*
* @param index index
* @param list 插入列表
* @author LiuLin
*/
public
<
T
>
void
insertBatch
(
String
index
,
List
<
EsEntity
<
T
>>
list
)
{
BulkRequest
request
=
new
BulkRequest
();
list
.
forEach
(
item
->
request
.
add
(
new
IndexRequest
(
index
).
id
(
item
.
getId
())
.
source
(
JSON
.
toJSONString
(
item
.
getData
()),
XContentType
.
JSON
)));
try
{
restHighLevelClient
.
bulk
(
request
,
RequestOptions
.
DEFAULT
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
}
/**
* ES异步修改数据
*
* @param indexName 索引名称
* @param id 主键
* @param paramJson 参数JSON
*/
public
void
updateDataAsync
(
String
indexName
,
String
id
,
String
paramJson
)
throws
IOException
{
UpdateRequest
updateRequest
=
new
UpdateRequest
(
indexName
,
id
);
updateRequest
.
docAsUpsert
(
true
);
updateRequest
.
setRefreshPolicy
(
WriteRequest
.
RefreshPolicy
.
IMMEDIATE
);
updateRequest
.
doc
(
paramJson
,
XContentType
.
JSON
);
restHighLevelClient
.
updateAsync
(
updateRequest
,
RequestOptions
.
DEFAULT
,
new
ActionListener
<
UpdateResponse
>()
{
@Override
public
void
onResponse
(
UpdateResponse
updateResponse
)
{
if
(
DocWriteResponse
.
Result
.
UPDATED
.
equals
(
updateResponse
.
getResult
()))
{
log
.
info
(
"索引:【{}】,主键:【{}】修改成功"
,
indexName
,
id
);
}
}
@Override
public
void
onFailure
(
Exception
e
)
{
log
.
error
(
"索引:[{}],主键:【{}】"
,
indexName
,
id
,
e
);
}
});
}
/**
* 构建SearchResponse
*
* @param indices 索引
* @param query queryBuilder
* @param fun 返回函数
* @param <T> 返回类型
* @return List, 可以使用fun转换为T结果
* @throws Exception e
*/
public
<
T
>
List
<
T
>
searchResponse
(
String
indices
,
QueryBuilder
query
,
Function
<
SearchHit
,
T
>
fun
)
throws
Exception
{
SearchRequest
request
=
new
SearchRequest
(
indices
);
Scroll
scroll
=
new
Scroll
(
TimeValue
.
timeValueMillis
(
SCROLL_TIMEOUT
));
SearchSourceBuilder
sourceBuilder
=
new
SearchSourceBuilder
();
sourceBuilder
.
query
(
query
);
sourceBuilder
.
size
(
SIZE
);
request
.
scroll
(
scroll
);
request
.
source
(
sourceBuilder
);
List
<
String
>
scrollIdList
=
new
ArrayList
<>();
List
<
T
>
result
=
new
ArrayList
<>();
SearchResponse
searchResponse
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
String
scrollId
=
searchResponse
.
getScrollId
();
SearchHit
[]
hits
=
searchResponse
.
getHits
().
getHits
();
scrollIdList
.
add
(
scrollId
);
try
{
while
(
ArrayUtils
.
isNotEmpty
(
hits
))
{
for
(
SearchHit
hit
:
hits
)
{
result
.
add
(
fun
.
apply
(
hit
));
}
if
(
hits
.
length
<
SIZE
)
{
break
;
}
SearchScrollRequest
searchScrollRequest
=
new
SearchScrollRequest
(
scrollId
);
searchScrollRequest
.
scroll
(
scroll
);
SearchResponse
searchScrollResponse
=
restHighLevelClient
.
scroll
(
searchScrollRequest
,
RequestOptions
.
DEFAULT
);
scrollId
=
searchScrollResponse
.
getScrollId
();
hits
=
searchScrollResponse
.
getHits
().
getHits
();
scrollIdList
.
add
(
scrollId
);
}
}
finally
{
ClearScrollRequest
clearScrollRequest
=
new
ClearScrollRequest
();
clearScrollRequest
.
setScrollIds
(
scrollIdList
);
restHighLevelClient
.
clearScroll
(
clearScrollRequest
,
RequestOptions
.
DEFAULT
);
}
return
result
;
}
}
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