Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
ocrCloudPlatForm
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ocr-cloud-platform
ocrCloudPlatForm
Commits
cd4e8948
Commit
cd4e8948
authored
Jan 19, 2024
by
黄明步
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.
parent
5c732a67
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
443 additions
and
140 deletions
+443
-140
pom.xml
+7
-0
src/main/java/com/gxmailu/ocrCloudPlatform/constant/RedisConstant.java
+39
-0
src/main/java/com/gxmailu/ocrCloudPlatform/controller/AppAbilityRecordAllController.java
+8
-2
src/main/java/com/gxmailu/ocrCloudPlatform/controller/CourtController.java
+0
-68
src/main/java/com/gxmailu/ocrCloudPlatform/dto/RecordDto.java
+3
-2
src/main/java/com/gxmailu/ocrCloudPlatform/service/AppAbilityRecordAllService.java
+3
-0
src/main/java/com/gxmailu/ocrCloudPlatform/service/ConfigApplicationService.java
+5
-0
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/AppAbilityRecordAllServiceImpl.java
+81
-26
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/ConfigAbilityServiceImpl.java
+15
-1
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/ConfigApplicationServiceImpl.java
+27
-0
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/CourtServiceImpl.java
+6
-1
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/ElasticSearchService.java
+129
-8
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/RedisService.java
+12
-0
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/RetransmissionService.java
+26
-18
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/ServerInfoServiceImpl.java
+5
-4
src/main/java/com/gxmailu/ocrCloudPlatform/vo/AppAbilityRecordVo.java
+48
-0
src/main/resources/application-dev.yml
+5
-0
src/main/resources/application.yml
+2
-2
src/test/java/com/gxmailu/ocrCloudPlatform/ESTest.java
+20
-7
src/test/java/com/gxmailu/ocrCloudPlatform/RetransmissionServiceTest.java
+2
-1
No files found.
pom.xml
View file @
cd4e8948
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
<spring-cloud.version>
Hoxton.SR11
</spring-cloud.version>
<spring-cloud.version>
Hoxton.SR11
</spring-cloud.version>
<elasticsearch.version>
8.9.1
</elasticsearch.version>
<elasticsearch.version>
8.9.1
</elasticsearch.version>
<alibaba.druid.version>
1.1.22
</alibaba.druid.version>
<alibaba.druid.version>
1.1.22
</alibaba.druid.version>
<jackson.version>
2.12.3
</jackson.version>
</properties>
</properties>
<dependencyManagement>
<dependencyManagement>
<dependencies>
<dependencies>
...
@@ -183,6 +184,12 @@
...
@@ -183,6 +184,12 @@
<groupId>
co.elastic.clients
</groupId>
<groupId>
co.elastic.clients
</groupId>
<artifactId>
elasticsearch-java
</artifactId>
<artifactId>
elasticsearch-java
</artifactId>
<version>
${elasticsearch.version}
</version>
<version>
${elasticsearch.version}
</version>
<exclusions>
<exclusion>
<artifactId>
jakarta.json-api
</artifactId>
<groupId>
jakarta.json
</groupId>
</exclusion>
</exclusions>
</dependency>
</dependency>
<dependency>
<dependency>
...
...
src/main/java/com/gxmailu/ocrCloudPlatform/constant/RedisConstant.java
0 → 100644
View file @
cd4e8948
package
com
.
gxmailu
.
ocrCloudPlatform
.
constant
;
/**
* @author: HuangHao
* @create: 2023-08-20 18:31
* @Description:
*/
public
class
RedisConstant
{
/**
* redis key 用户法庭信息前缀
*/
public
static
final
String
COURT_INFO_USER_PREFIX
=
"court-role-user:"
;
/**
* redis key 法院列表
*/
public
static
final
String
COURT_LIST
=
"courtList"
;
/**
* redis key OCR服务器列表
*/
public
static
final
String
OCR_SERVER_LIST
=
"ocrServerList"
;
/**
* redis key 请求任务量
**/
public
static
final
String
SERVER_REQUEST_TASK
=
"server-request-task-"
;
/**
* redission 分布式锁名称
**/
public
static
final
String
LOCK_NAME
=
"server-task"
;
/**
* redis key 应用配置信息
**/
public
static
final
String
CONFIG_APPLICATION_ALL
=
"configApplication:all"
;
/**
* redis key 能力配置信息
**/
public
static
final
String
CONFIG_ABILITY_ALL
=
"configAbility:all"
;
}
src/main/java/com/gxmailu/ocrCloudPlatform/controller/AppAbilityRecordAllController.java
View file @
cd4e8948
...
@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
...
@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.BufferedOutputStream
;
import
java.io.BufferedOutputStream
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.io.OutputStream
;
import
java.net.URLEncoder
;
import
java.net.URLEncoder
;
import
java.util.*
;
import
java.util.*
;
...
@@ -192,9 +193,14 @@ public class AppAbilityRecordAllController {
...
@@ -192,9 +193,14 @@ public class AppAbilityRecordAllController {
}
}
@PostMapping
(
"/getListByPage"
)
@PostMapping
(
"/getListByPage"
)
public
Object
getListByPage
(
RecordDto
recordDto
)
{
public
Result
getListByPage
(
@RequestBody
RecordDto
recordDto
)
{
Assert
.
notNull
(
recordDto
,
"参数不能为空"
);
Assert
.
notNull
(
recordDto
,
"参数不能为空"
);
return
Result
.
success
(
""
,
recordAllService
.
getList
(
recordDto
));
try
{
return
Result
.
success
(
""
,
recordAllService
.
getRecordList
(
recordDto
));
}
catch
(
IOException
e
)
{
log
.
error
(
"调用记录查询异常"
,
e
);
return
Result
.
error
(
"查询异常,请联系管理员"
);
}
}
}
@PostMapping
(
"/getById"
)
@PostMapping
(
"/getById"
)
public
Object
getById
(
Long
id
)
{
public
Object
getById
(
Long
id
)
{
...
...
src/main/java/com/gxmailu/ocrCloudPlatform/controller/CourtController.java
View file @
cd4e8948
...
@@ -23,74 +23,6 @@ public class CourtController {
...
@@ -23,74 +23,6 @@ public class CourtController {
@Autowired
@Autowired
private
CourtService
courtService
;
private
CourtService
courtService
;
/*@RequestMapping("/getFile")
public ResponseEntity<Object> download(HttpServletRequest request,String filename) {
String path = "D:\\SDK\\nginx-1.19.9\\html\\"+filename;
String contentDisposition = ContentDisposition
.builder("attachment")
.filename(path)
.build().toString();
File file = new File(path);
if (file.exists()) {
return ResponseEntity.ok()
.header(HttpHeaders.CONTENT_DISPOSITION, contentDisposition)
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.body(new FileSystemResource(path));
} else {
JSONObject object = new JSONObject();
object.set("code",500);
object.set("mag","错误!");
return ResponseEntity.status(500)
.header(HttpHeaders.CONTENT_DISPOSITION, contentDisposition + " Not Found")
.contentType(MediaType.APPLICATION_JSON)
.body(object.toJSONString(0));
}
}
@RequestMapping("one")
public void one(HttpServletRequest request, HttpServletResponse response){
System.out.println("接口11111111");
System.out.println("开始转发。。。。");
HttpResponse httpResponse = HttpRequest.post("http://192.168.13.38:9027/court/tow")
.header("appId",request.getHeader("appId"))
.execute();
System.out.println(httpResponse);
Map<String, List<String>> headers = httpResponse.headers();
System.out.println(headers.isEmpty());
for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
System.out.println(entry.getKey());
System.out.println(entry.getValue());
response.setHeader(entry.getKey(),entry.getValue().get(0));
}
try {
IoUtil.copy(httpResponse.bodyStream(),response.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
}
@RequestMapping("tow")
public void tow(HttpServletRequest request, HttpServletResponse response){
System.out.println("接口2222222");
String appId = request.getHeader("appId");
System.out.println("appId:"+appId);
response.setStatus(200);
response.setContentType(MediaType.APPLICATION_JSON_VALUE);
response.setCharacterEncoding("utf-8");
JSONObject object = new JSONObject();
object.set("code", 200);
object.set("message", "成功");
object.set("time", DateUtil.current());
try {
response.getWriter().write(object.toJSONString(0));
} catch (IOException ex) {
ex.printStackTrace();
}
}*/
/**
/**
* 法院列表分页
* 法院列表分页
*
*
...
...
src/main/java/com/gxmailu/ocrCloudPlatform/dto/RecordDto.java
View file @
cd4e8948
...
@@ -7,6 +7,7 @@ import org.springframework.format.annotation.DateTimeFormat;
...
@@ -7,6 +7,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
@Data
@Data
@ToString
@ToString
...
@@ -23,9 +24,9 @@ public class RecordDto implements Serializable {
...
@@ -23,9 +24,9 @@ public class RecordDto implements Serializable {
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
endTime
;
private
Date
endTime
;
private
Long
applicationId
;
private
Long
applicationId
;
private
String
ipScope
;
private
List
<
String
>
ipScopeList
;
private
Integer
page
;
private
Integer
page
;
private
Integer
size
;
private
Integer
limit
;
private
Integer
network
;
private
Integer
network
;
}
}
src/main/java/com/gxmailu/ocrCloudPlatform/service/AppAbilityRecordAllService.java
View file @
cd4e8948
...
@@ -6,6 +6,7 @@ import com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecordAll;
...
@@ -6,6 +6,7 @@ import com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecordAll;
import
com.gxmailu.ocrCloudPlatform.entity.DeriveCallRecord
;
import
com.gxmailu.ocrCloudPlatform.entity.DeriveCallRecord
;
import
com.gxmailu.ocrCloudPlatform.vo.Result
;
import
com.gxmailu.ocrCloudPlatform.vo.Result
;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.List
;
...
@@ -36,4 +37,6 @@ public interface AppAbilityRecordAllService extends IService<AppAbilityRecordAll
...
@@ -36,4 +37,6 @@ public interface AppAbilityRecordAllService extends IService<AppAbilityRecordAll
Result
getCorrelationData
(
String
day1
,
String
day2
);
Result
getCorrelationData
(
String
day1
,
String
day2
);
Result
getBrokenLineData
(
String
date
);
Result
getBrokenLineData
(
String
date
);
Object
getRecordList
(
RecordDto
recordDto
)
throws
IOException
;
}
}
src/main/java/com/gxmailu/ocrCloudPlatform/service/ConfigApplicationService.java
View file @
cd4e8948
package
com
.
gxmailu
.
ocrCloudPlatform
.
service
;
package
com
.
gxmailu
.
ocrCloudPlatform
.
service
;
import
com.gxmailu.ocrCloudPlatform.entity.ConfigApplication
;
import
com.gxmailu.ocrCloudPlatform.vo.ConfigApplicationVO
;
import
com.gxmailu.ocrCloudPlatform.vo.ConfigApplicationVO
;
import
com.gxmailu.ocrCloudPlatform.vo.Result
;
import
com.gxmailu.ocrCloudPlatform.vo.Result
;
import
java.util.List
;
public
interface
ConfigApplicationService
{
public
interface
ConfigApplicationService
{
Result
queryConfigAppById
(
String
id
);
Result
queryConfigAppById
(
String
id
);
...
@@ -13,4 +16,6 @@ public interface ConfigApplicationService {
...
@@ -13,4 +16,6 @@ public interface ConfigApplicationService {
Result
insertConfigApp
(
ConfigApplicationVO
configAppVo
);
Result
insertConfigApp
(
ConfigApplicationVO
configAppVo
);
List
<
ConfigApplication
>
getConfigApplicationAll
();
}
}
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/AppAbilityRecordAllServiceImpl.java
View file @
cd4e8948
package
com
.
gxmailu
.
ocrCloudPlatform
.
service
.
impl
;
package
com
.
gxmailu
.
ocrCloudPlatform
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.ObjUtil
;
import
cn.hutool.core.util.ObjUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONArray
;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.gxmailu.ocrCloudPlatform.constant.RedisConstant
;
import
com.gxmailu.ocrCloudPlatform.dto.RecordDto
;
import
com.gxmailu.ocrCloudPlatform.dto.RecordDto
;
import
com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecordAll
;
import
com.gxmailu.ocrCloudPlatform.entity.*
;
import
com.gxmailu.ocrCloudPlatform.entity.Court
;
import
com.gxmailu.ocrCloudPlatform.entity.DeriveCallRecord
;
import
com.gxmailu.ocrCloudPlatform.entity.ServerInfo
;
import
com.gxmailu.ocrCloudPlatform.mapper.*
;
import
com.gxmailu.ocrCloudPlatform.mapper.*
;
import
com.gxmailu.ocrCloudPlatform.service.AppAbilityRecordAllService
;
import
com.gxmailu.ocrCloudPlatform.service.AppAbilityRecordAllService
;
import
com.gxmailu.ocrCloudPlatform.service.ConfigAbilityService
;
import
com.gxmailu.ocrCloudPlatform.service.ConfigApplicationService
;
import
com.gxmailu.ocrCloudPlatform.utils.SnowFlakeUtil
;
import
com.gxmailu.ocrCloudPlatform.utils.SnowFlakeUtil
;
import
com.gxmailu.ocrCloudPlatform.vo.AppAbilityRecordVo
;
import
com.gxmailu.ocrCloudPlatform.vo.BrokenLineData
;
import
com.gxmailu.ocrCloudPlatform.vo.BrokenLineData
;
import
com.gxmailu.ocrCloudPlatform.vo.Result
;
import
com.gxmailu.ocrCloudPlatform.vo.Result
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -26,11 +27,10 @@ import org.springframework.stereotype.Service;
...
@@ -26,11 +27,10 @@ import org.springframework.stereotype.Service;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.io.IOException
;
import
java.util.Calendar
;
import
java.util.*
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
/**
/**
* <p>
* <p>
...
@@ -65,6 +65,11 @@ public class AppAbilityRecordAllServiceImpl extends ServiceImpl<AppAbilityRecord
...
@@ -65,6 +65,11 @@ public class AppAbilityRecordAllServiceImpl extends ServiceImpl<AppAbilityRecord
@Resource
@Resource
private
ElasticSearchService
elasticSearchService
;
private
ElasticSearchService
elasticSearchService
;
@Resource
private
ConfigAbilityService
configAbilityService
;
@Resource
private
ConfigApplicationService
configApplicationService
;
@Override
@Override
...
@@ -100,17 +105,17 @@ public class AppAbilityRecordAllServiceImpl extends ServiceImpl<AppAbilityRecord
...
@@ -100,17 +105,17 @@ public class AppAbilityRecordAllServiceImpl extends ServiceImpl<AppAbilityRecord
serverIpList
.
add
(
serverInfo
.
getIp
());
serverIpList
.
add
(
serverInfo
.
getIp
());
}
}
LambdaQueryWrapper
<
AppAbilityRecordAll
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
AppAbilityRecordAll
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
apply
(
recordDto
.
getStartTime
()
!=
null
,
//
queryWrapper.apply(recordDto.getStartTime() != null,
"date_format (created_time,'%Y-%m-%d') >= date_format ({0},'%Y-%m-%d')"
,
recordDto
.
getStartTime
())
//
"date_format (created_time,'%Y-%m-%d') >= date_format ({0},'%Y-%m-%d')", recordDto.getStartTime())
.
apply
(
recordDto
.
getEndTime
()
!=
null
,
//
.apply(recordDto.getEndTime() != null,
"date_format (created_time,'%Y-%m-%d') <= date_format ({0},'%Y-%m-%d')"
,
recordDto
.
getEndTime
())
//
"date_format (created_time,'%Y-%m-%d') <= date_format ({0},'%Y-%m-%d')", recordDto.getEndTime())
.
apply
(
recordDto
.
getApplicationId
()
!=
null
,
"application_id = {0}"
,
recordDto
.
getApplicationId
())
//
.apply(recordDto.getApplicationId() != null, "application_id = {0}", recordDto.getApplicationId())
.
apply
(
recordDto
.
getIpScope
()
!=
null
,
"ip like concat({0},'%')"
,
recordDto
.
getIpScope
())
//
.apply(recordDto.getIpScope() != null, "ip like concat({0},'%')", recordDto.getIpScope())
.
in
(
serverIpList
.
size
()
>
0
,
AppAbilityRecordAll:
:
getServerIp
,
serverIpList
)
//
.in(serverIpList.size() > 0, AppAbilityRecordAll::getServerIp, serverIpList)
.
orderByDesc
(
AppAbilityRecordAll:
:
getCreatedTime
);
//
.orderByDesc(AppAbilityRecordAll::getCreatedTime);
if
(
recordDto
.
getPage
()
!=
null
)
{
if
(
recordDto
.
getPage
()
!=
null
)
{
recordDto
.
set
Size
(
recordDto
.
getSize
()
==
null
?
10
:
recordDto
.
getSize
());
recordDto
.
set
Limit
(
recordDto
.
getLimit
()
==
null
?
10
:
recordDto
.
getLimit
());
Page
<
AppAbilityRecordAll
>
page
=
new
Page
<>(
recordDto
.
getPage
(),
recordDto
.
get
Size
());
Page
<
AppAbilityRecordAll
>
page
=
new
Page
<>(
recordDto
.
getPage
(),
recordDto
.
get
Limit
());
return
recordAllMapper
.
selectPage
(
page
,
queryWrapper
);
return
recordAllMapper
.
selectPage
(
page
,
queryWrapper
);
}
else
{
}
else
{
return
recordAllMapper
.
selectList
(
queryWrapper
);
return
recordAllMapper
.
selectList
(
queryWrapper
);
...
@@ -118,18 +123,68 @@ public class AppAbilityRecordAllServiceImpl extends ServiceImpl<AppAbilityRecord
...
@@ -118,18 +123,68 @@ public class AppAbilityRecordAllServiceImpl extends ServiceImpl<AppAbilityRecord
}
}
@Override
@Override
public
Page
<
AppAbilityRecordVo
>
getRecordList
(
RecordDto
recordDto
)
throws
IOException
{
// 获取应用用户配置
List
<
ConfigAbility
>
configAbilityList
=
configAbilityService
.
selectAll
();
Map
<
String
,
ConfigAbility
>
abilityMap
=
configAbilityList
.
stream
().
collect
(
Collectors
.
toMap
(
ConfigAbility:
:
getId
,
obj
->
obj
));
// 获取应用识别能力配置
List
<
ConfigApplication
>
configApplicationList
=
configApplicationService
.
getConfigApplicationAll
();
Map
<
Long
,
ConfigApplication
>
applicationMap
=
configApplicationList
.
stream
().
collect
(
Collectors
.
toMap
(
ConfigApplication:
:
getId
,
obj
->
obj
));
// 获取法院列表
List
<
Court
>
courtList
;
Object
data
=
redisService
.
getValue
(
RedisConstant
.
COURT_LIST
);
if
(
ObjUtil
.
isNotNull
(
data
))
{
courtList
=
JSONUtil
.
toList
(
data
.
toString
(),
Court
.
class
);
}
else
{
courtList
=
courtMapper
.
selectList
(
new
LambdaQueryWrapper
<
Court
>().
isNotNull
(
Court:
:
getIpScope
));
redisService
.
set
(
RedisConstant
.
COURT_LIST
,
courtList
,
1L
,
TimeUnit
.
DAYS
);
}
Page
<
AppAbilityRecord
>
recordByPage
=
elasticSearchService
.
getRecordList
(
recordDto
);
ArrayList
<
AppAbilityRecordVo
>
recordVoList
=
new
ArrayList
<>();
recordByPage
.
getRecords
().
forEach
(
abilityRecord
->
{
AppAbilityRecordVo
recordVo
=
new
AppAbilityRecordVo
();
BeanUtil
.
copyProperties
(
abilityRecord
,
recordVo
);
recordVo
.
setIp
(
abilityRecord
.
getIp
().
split
(
","
)[
0
]);
Optional
<
Court
>
first
=
courtList
.
stream
().
filter
(
court
->
{
String
ipScope
=
court
.
getIpScope
();
String
[]
ipScopes
=
ipScope
.
split
(
";"
);
for
(
String
scope
:
ipScopes
)
{
if
(
recordVo
.
getIp
().
startsWith
(
scope
))
{
return
true
;
}
}
return
false
;
}).
findFirst
();
recordVo
.
setCourtName
(
first
.
isPresent
()
?
first
.
get
().
getName
()
:
"未知"
);
recordVo
.
setBusinessVendors
(
applicationMap
.
get
(
abilityRecord
.
getApplicationId
()).
getDescription
());
recordVo
.
setAppAbilityName
(
abilityMap
.
get
(
abilityRecord
.
getAbilityId
().
toString
()).
getName
());
recordVo
.
setCallCount
(
"1"
);
recordVoList
.
add
(
recordVo
);
});
Page
<
AppAbilityRecordVo
>
page
=
new
Page
<>();
page
.
setTotal
(
recordByPage
.
getTotal
());
page
.
setSize
(
recordByPage
.
getSize
());
page
.
setCurrent
(
recordByPage
.
getCurrent
());
page
.
setRecords
(
recordVoList
);
return
page
;
}
@Override
public
Object
getCourtUseSum
()
{
public
Object
getCourtUseSum
()
{
List
<
Court
>
courtList
;
List
<
Court
>
courtList
;
Object
data
=
redisService
.
getValue
(
"courtList"
);
Object
data
=
redisService
.
getValue
(
RedisConstant
.
COURT_LIST
);
if
(
data
!=
null
)
{
if
(
data
!=
null
)
{
JSONArray
array
=
JSONUtil
.
parseArray
(
data
);
// JSONArray array = JSONUtil.parseArray(data);
courtList
=
new
ArrayList
<>();
// courtList = new ArrayList<>();
for
(
Object
o
:
array
)
{
// for (Object o : array) {
courtList
.
add
(
JSONUtil
.
parseObj
(
o
).
toBean
(
Court
.
class
));
// courtList.add(JSONUtil.parseObj(o).toBean(Court.class));
}
// }
courtList
=
JSONUtil
.
toList
(
data
.
toString
(),
Court
.
class
);
}
else
{
}
else
{
courtList
=
courtMapper
.
selectList
(
new
LambdaQueryWrapper
<
Court
>().
isNotNull
(
Court:
:
getIpScope
));
courtList
=
courtMapper
.
selectList
(
new
LambdaQueryWrapper
<
Court
>().
isNotNull
(
Court:
:
getIpScope
));
redisService
.
set
(
"courtList"
,
courtList
,
5L
,
TimeUnit
.
MINUTE
S
);
redisService
.
set
(
RedisConstant
.
COURT_LIST
,
courtList
,
1L
,
TimeUnit
.
DAY
S
);
}
}
// JSONArray array = new JSONArray();
// JSONArray array = new JSONArray();
// try {
// try {
...
...
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/ConfigAbilityServiceImpl.java
View file @
cd4e8948
package
com
.
gxmailu
.
ocrCloudPlatform
.
service
.
impl
;
package
com
.
gxmailu
.
ocrCloudPlatform
.
service
.
impl
;
import
cn.hutool.core.util.ObjUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.gxmailu.ocrCloudPlatform.constant.RedisConstant
;
import
com.gxmailu.ocrCloudPlatform.entity.ConfigAbility
;
import
com.gxmailu.ocrCloudPlatform.entity.ConfigAbility
;
import
com.gxmailu.ocrCloudPlatform.mapper.ConfigAbilityMapper
;
import
com.gxmailu.ocrCloudPlatform.mapper.ConfigAbilityMapper
;
import
com.gxmailu.ocrCloudPlatform.service.ConfigAbilityService
;
import
com.gxmailu.ocrCloudPlatform.service.ConfigAbilityService
;
...
@@ -8,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -8,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
@Service
@Service
public
class
ConfigAbilityServiceImpl
implements
ConfigAbilityService
{
public
class
ConfigAbilityServiceImpl
implements
ConfigAbilityService
{
...
@@ -15,6 +19,9 @@ public class ConfigAbilityServiceImpl implements ConfigAbilityService {
...
@@ -15,6 +19,9 @@ public class ConfigAbilityServiceImpl implements ConfigAbilityService {
@Autowired
@Autowired
private
ConfigAbilityMapper
configAbilityMapper
;
private
ConfigAbilityMapper
configAbilityMapper
;
@Autowired
private
RedisService
redisService
;
@Override
@Override
public
List
<
ConfigAbility
>
selectConfigAbilityByAppId
(
String
appId
)
{
public
List
<
ConfigAbility
>
selectConfigAbilityByAppId
(
String
appId
)
{
return
this
.
configAbilityMapper
.
selectConfigAbilityByAppId
(
appId
);
return
this
.
configAbilityMapper
.
selectConfigAbilityByAppId
(
appId
);
...
@@ -22,6 +29,13 @@ public class ConfigAbilityServiceImpl implements ConfigAbilityService {
...
@@ -22,6 +29,13 @@ public class ConfigAbilityServiceImpl implements ConfigAbilityService {
@Override
@Override
public
List
<
ConfigAbility
>
selectAll
()
{
public
List
<
ConfigAbility
>
selectAll
()
{
return
configAbilityMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ConfigAbility
.
class
).
isNotNull
(
ConfigAbility:
:
getParentId
));
Object
obj
=
redisService
.
getValue
(
RedisConstant
.
CONFIG_ABILITY_ALL
);
if
(
ObjUtil
.
isNotNull
(
obj
))
{
return
JSONUtil
.
toList
(
obj
.
toString
(),
ConfigAbility
.
class
);
}
else
{
List
<
ConfigAbility
>
list
=
configAbilityMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ConfigAbility
.
class
));
redisService
.
set
(
RedisConstant
.
CONFIG_ABILITY_ALL
,
list
,
1
,
TimeUnit
.
DAYS
);
return
list
;
}
}
}
}
}
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/ConfigApplicationServiceImpl.java
View file @
cd4e8948
package
com
.
gxmailu
.
ocrCloudPlatform
.
service
.
impl
;
package
com
.
gxmailu
.
ocrCloudPlatform
.
service
.
impl
;
import
cn.hutool.core.util.ObjUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.gxmailu.ocrCloudPlatform.constant.RedisConstant
;
import
com.gxmailu.ocrCloudPlatform.entity.ConfigAppAbility
;
import
com.gxmailu.ocrCloudPlatform.entity.ConfigAppAbility
;
import
com.gxmailu.ocrCloudPlatform.entity.ConfigApplication
;
import
com.gxmailu.ocrCloudPlatform.entity.ConfigApplication
;
import
com.gxmailu.ocrCloudPlatform.mapper.ConfigAppAbilityMapper
;
import
com.gxmailu.ocrCloudPlatform.mapper.ConfigAppAbilityMapper
;
...
@@ -21,6 +24,7 @@ import org.thymeleaf.util.ListUtils;
...
@@ -21,6 +24,7 @@ import org.thymeleaf.util.ListUtils;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Service
@Service
...
@@ -33,6 +37,9 @@ public class ConfigApplicationServiceImpl implements ConfigApplicationService {
...
@@ -33,6 +37,9 @@ public class ConfigApplicationServiceImpl implements ConfigApplicationService {
@Autowired
@Autowired
private
ConfigAppAbilityMapper
configAppAbilityMapper
;
private
ConfigAppAbilityMapper
configAppAbilityMapper
;
@Autowired
RedisService
redisService
;
@Override
@Override
public
Result
queryConfigAppById
(
String
id
)
{
public
Result
queryConfigAppById
(
String
id
)
{
try
{
try
{
...
@@ -68,6 +75,8 @@ public class ConfigApplicationServiceImpl implements ConfigApplicationService {
...
@@ -68,6 +75,8 @@ public class ConfigApplicationServiceImpl implements ConfigApplicationService {
try
{
try
{
int
result
=
this
.
configApplicationMapper
.
updateById
(
info
);
int
result
=
this
.
configApplicationMapper
.
updateById
(
info
);
if
(
result
>
0
)
{
if
(
result
>
0
)
{
redisService
.
remove
(
RedisConstant
.
CONFIG_APPLICATION_ALL
);
//直接删掉旧的重新新增
//直接删掉旧的重新新增
//先删除
//先删除
this
.
configAppAbilityMapper
.
delete
(
new
QueryWrapper
<
ConfigAppAbility
>().
eq
(
"application_id"
,
configAppVo
.
getId
()));
this
.
configAppAbilityMapper
.
delete
(
new
QueryWrapper
<
ConfigAppAbility
>().
eq
(
"application_id"
,
configAppVo
.
getId
()));
...
@@ -148,6 +157,7 @@ public class ConfigApplicationServiceImpl implements ConfigApplicationService {
...
@@ -148,6 +157,7 @@ public class ConfigApplicationServiceImpl implements ConfigApplicationService {
try
{
try
{
result
=
this
.
configApplicationMapper
.
insert
(
info
);
result
=
this
.
configApplicationMapper
.
insert
(
info
);
if
(
result
>=
1
)
{
if
(
result
>=
1
)
{
redisService
.
remove
(
RedisConstant
.
CONFIG_APPLICATION_ALL
);
//保存应用功能关联
//保存应用功能关联
this
.
batchSaveConfigAppAbility
(
configAppVo
,
info
.
getId
());
this
.
batchSaveConfigAppAbility
(
configAppVo
,
info
.
getId
());
}
}
...
@@ -158,4 +168,21 @@ public class ConfigApplicationServiceImpl implements ConfigApplicationService {
...
@@ -158,4 +168,21 @@ public class ConfigApplicationServiceImpl implements ConfigApplicationService {
return
result
>=
1
?
Result
.
success
(
"新增成功"
)
:
Result
.
error
(
"新增失败"
);
return
result
>=
1
?
Result
.
success
(
"新增成功"
)
:
Result
.
error
(
"新增失败"
);
}
}
@Override
public
List
<
ConfigApplication
>
getConfigApplicationAll
()
{
try
{
Object
value
=
redisService
.
getValue
(
RedisConstant
.
CONFIG_APPLICATION_ALL
);
if
(
ObjUtil
.
isNotNull
(
value
))
{
return
JSONUtil
.
toList
(
value
.
toString
(),
ConfigApplication
.
class
);
}
else
{
List
<
ConfigApplication
>
list
=
this
.
configApplicationMapper
.
selectList
(
null
);
redisService
.
set
(
RedisConstant
.
CONFIG_APPLICATION_ALL
,
list
,
1
,
TimeUnit
.
DAYS
);
return
list
;
}
}
catch
(
Exception
e
)
{
log
.
error
(
"查询应用信息发生异常!"
,
e
);
return
new
ArrayList
<>();
}
}
}
}
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/CourtServiceImpl.java
View file @
cd4e8948
...
@@ -3,6 +3,7 @@ package com.gxmailu.ocrCloudPlatform.service.impl;
...
@@ -3,6 +3,7 @@ package com.gxmailu.ocrCloudPlatform.service.impl;
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.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.gxmailu.ocrCloudPlatform.constant.RedisConstant
;
import
com.gxmailu.ocrCloudPlatform.entity.Court
;
import
com.gxmailu.ocrCloudPlatform.entity.Court
;
import
com.gxmailu.ocrCloudPlatform.mapper.CourtMapper
;
import
com.gxmailu.ocrCloudPlatform.mapper.CourtMapper
;
import
com.gxmailu.ocrCloudPlatform.service.CourtService
;
import
com.gxmailu.ocrCloudPlatform.service.CourtService
;
...
@@ -22,7 +23,8 @@ public class CourtServiceImpl implements CourtService {
...
@@ -22,7 +23,8 @@ public class CourtServiceImpl implements CourtService {
@Autowired
@Autowired
private
CourtMapper
courtMapper
;
private
CourtMapper
courtMapper
;
@Autowired
private
RedisService
redisService
;
@Override
@Override
public
Result
courtPage
(
CourtVO
courtVO
)
{
public
Result
courtPage
(
CourtVO
courtVO
)
{
//设置分页信息
//设置分页信息
...
@@ -74,6 +76,8 @@ public class CourtServiceImpl implements CourtService {
...
@@ -74,6 +76,8 @@ public class CourtServiceImpl implements CourtService {
try
{
try
{
int
result
=
this
.
courtMapper
.
updateById
(
court
);
int
result
=
this
.
courtMapper
.
updateById
(
court
);
if
(
result
>=
1
)
{
if
(
result
>=
1
)
{
redisService
.
removeByPrefix
(
RedisConstant
.
COURT_INFO_USER_PREFIX
);
redisService
.
removeByPrefix
(
RedisConstant
.
COURT_LIST
);
return
Result
.
success
(
"修改成功"
);
return
Result
.
success
(
"修改成功"
);
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -91,6 +95,7 @@ public class CourtServiceImpl implements CourtService {
...
@@ -91,6 +95,7 @@ public class CourtServiceImpl implements CourtService {
try
{
try
{
int
result
=
this
.
courtMapper
.
insert
(
court
);
int
result
=
this
.
courtMapper
.
insert
(
court
);
if
(
result
>=
1
)
{
if
(
result
>=
1
)
{
redisService
.
removeByPrefix
(
RedisConstant
.
COURT_INFO_USER_PREFIX
);
return
Result
.
success
(
"新增成功"
);
return
Result
.
success
(
"新增成功"
);
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
...
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/ElasticSearchService.java
View file @
cd4e8948
...
@@ -5,10 +5,13 @@ import cn.hutool.core.collection.CollUtil;
...
@@ -5,10 +5,13 @@ import cn.hutool.core.collection.CollUtil;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.ObjUtil
;
import
cn.hutool.core.util.ObjUtil
;
import
cn.hutool.core.util.RandomUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONArray
;
import
cn.hutool.json.JSONArray
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONObject
;
import
co.elastic.clients.elasticsearch.ElasticsearchClient
;
import
co.elastic.clients.elasticsearch.ElasticsearchClient
;
import
co.elastic.clients.elasticsearch._types.FieldValue
;
import
co.elastic.clients.elasticsearch._types.SortOrder
;
import
co.elastic.clients.elasticsearch._types.aggregations.*
;
import
co.elastic.clients.elasticsearch._types.aggregations.*
;
import
co.elastic.clients.elasticsearch.core.*
;
import
co.elastic.clients.elasticsearch.core.*
;
import
co.elastic.clients.elasticsearch.core.bulk.BulkResponseItem
;
import
co.elastic.clients.elasticsearch.core.bulk.BulkResponseItem
;
...
@@ -16,10 +19,15 @@ import co.elastic.clients.elasticsearch.core.search.TotalHits;
...
@@ -16,10 +19,15 @@ import co.elastic.clients.elasticsearch.core.search.TotalHits;
import
co.elastic.clients.elasticsearch.indices.DeleteIndexResponse
;
import
co.elastic.clients.elasticsearch.indices.DeleteIndexResponse
;
import
co.elastic.clients.json.JsonData
;
import
co.elastic.clients.json.JsonData
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.gxmailu.ocrCloudPlatform.dto.RecordDto
;
import
com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecord
;
import
com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecord
;
import
com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecordAll
;
import
com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecordAll
;
import
com.gxmailu.ocrCloudPlatform.entity.Court
;
import
com.gxmailu.ocrCloudPlatform.entity.Court
;
import
com.gxmailu.ocrCloudPlatform.mapper.*
;
import
com.gxmailu.ocrCloudPlatform.entity.ServerInfo
;
import
com.gxmailu.ocrCloudPlatform.mapper.AppAbilityRecordAllMapper
;
import
com.gxmailu.ocrCloudPlatform.mapper.ServerInfoMapper
;
import
com.gxmailu.ocrCloudPlatform.vo.BrokenLineData
;
import
com.gxmailu.ocrCloudPlatform.vo.BrokenLineData
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -27,6 +35,7 @@ import org.springframework.stereotype.Service;
...
@@ -27,6 +35,7 @@ import org.springframework.stereotype.Service;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.lang.reflect.Field
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -50,13 +59,7 @@ public class ElasticSearchService {
...
@@ -50,13 +59,7 @@ public class ElasticSearchService {
@Resource
@Resource
private
AppAbilityRecordAllMapper
recordAllMapper
;
private
AppAbilityRecordAllMapper
recordAllMapper
;
@Resource
@Resource
private
AppAbilityRecord4Mapper
record4Mapper
;
private
ServerInfoMapper
serverInfoMapper
;
@Resource
private
AppAbilityRecord3Mapper
record3Mapper
;
@Resource
private
AppAbilityRecord5Mapper
record5Mapper
;
@Resource
private
AppAbilityRecord7Mapper
record7Mapper
;
static
{
static
{
SPECIAL_CHARACTERS_MAP
.
put
(
'['
,
"\\["
);
SPECIAL_CHARACTERS_MAP
.
put
(
'['
,
"\\["
);
...
@@ -292,4 +295,122 @@ public class ElasticSearchService {
...
@@ -292,4 +295,122 @@ public class ElasticSearchService {
lastIndexTime
=
DateUtil
.
formatDateTime
(
new
Date
());
lastIndexTime
=
DateUtil
.
formatDateTime
(
new
Date
());
log
.
info
(
"app_ability_record索引最后更新时间:{}"
,
lastIndexTime
);
log
.
info
(
"app_ability_record索引最后更新时间:{}"
,
lastIndexTime
);
}
}
public
Page
<
AppAbilityRecord
>
getRecordList
(
RecordDto
recordDto
)
throws
IOException
{
Integer
network
=
recordDto
.
getNetwork
();
// 内网或内网,-1:全部,0:内网,1:外网
// 查询内外网机器的ip
List
<
ServerInfo
>
list
=
serverInfoMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ServerInfo
.
class
)
.
eq
(
network
!=
null
&&
network
!=
-
1
,
ServerInfo:
:
getNetwork
,
network
));
List
<
String
>
serverIpList
=
list
.
stream
().
map
(
ServerInfo:
:
getIp
).
collect
(
Collectors
.
toList
());
// 限制查询数不超过10000,若超过随机查询一页
recordDto
.
setLimit
(
ObjUtil
.
isNull
(
recordDto
.
getLimit
())
?
10
:
recordDto
.
getLimit
());
int
offset
=
(
recordDto
.
getPage
()
-
1
)
*
recordDto
.
getLimit
()
+
recordDto
.
getLimit
()
>
10000
?
RandomUtil
.
randomInt
(
8000
,
9000
)
:
(
recordDto
.
getPage
()
-
1
)
*
recordDto
.
getLimit
();
int
size
=
recordDto
.
getLimit
();
SearchResponse
<
AppAbilityRecord
>
searchResponse
=
client
.
search
(
srBuilder
->
srBuilder
.
index
(
APP_ABILITY_RECORD_INDEX
)
.
query
(
queryBuilder
->
queryBuilder
.
bool
(
boolQuery
->
{
// 时间范围查询
if
(
ObjUtil
.
isNotNull
(
recordDto
.
getStartTime
())
&&
ObjUtil
.
isNotNull
(
recordDto
.
getEndTime
()))
{
String
startTime
=
DateUtil
.
beginOfDay
(
recordDto
.
getStartTime
()).
toString
(
"yyyy-MM-dd HH:mm:ss"
);
String
endTime
=
DateUtil
.
endOfDay
(
recordDto
.
getEndTime
()).
toString
(
"yyyy-MM-dd HH:mm:ss"
);
boolQuery
.
must
(
q
->
q
.
range
(
rangeQueryBuilder
->
rangeQueryBuilder
.
field
(
"callTime"
)
.
gte
(
JsonData
.
of
(
startTime
))
.
lt
(
JsonData
.
of
(
endTime
))));
}
if
(
CollUtil
.
isNotEmpty
(
serverIpList
))
{
List
<
FieldValue
>
collect
=
serverIpList
.
stream
().
map
(
FieldValue:
:
of
).
collect
(
Collectors
.
toList
());
boolQuery
.
filter
(
mustQuery
->
mustQuery
.
terms
(
tq
->
tq
.
field
(
"serverIp"
).
terms
(
tqf
->
tqf
.
value
(
collect
))));
}
// // 多个法院ip前缀过滤
// if (CollUtil.isNotEmpty(recordDto.getIpScopeList())) {
// for (String ipScope : recordDto.getIpScopeList()) {
// if (StrUtil.isNotBlank(ipScope)) {
// boolQuery.filter(q -> q.prefix(pq -> pq.field("ip.keyword").value(ipScope)));
// }
// }
// }
boolQuery
.
must
(
mustQuery
->
mustQuery
.
bool
(
bq
->
{
// 多个法院ip过滤
// if (CollUtil.isNotEmpty(serverIpList)) {
// List<FieldValue> collect = serverIpList.stream().map(FieldValue::of).collect(Collectors.toList());
// bq.should(mq -> mq.terms(tq -> tq.field("serverIp").terms(tqf -> tqf.value(collect))));
// }
// 多个ip前缀过滤
if
(
CollUtil
.
isNotEmpty
(
recordDto
.
getIpScopeList
()))
{
for
(
String
ipScope
:
recordDto
.
getIpScopeList
())
{
if
(
StrUtil
.
isNotBlank
(
ipScope
))
{
bq
.
should
(
q
->
q
.
prefix
(
pq
->
pq
.
field
(
"ip.keyword"
).
value
(
ipScope
)));
}
}
}
return
bq
;
}));
if
(
ObjUtil
.
isNotNull
(
recordDto
.
getApplicationId
()))
{
boolQuery
.
must
(
mustQuery
->
mustQuery
.
match
(
mq
->
mq
.
field
(
"applicationId"
).
query
(
recordDto
.
getApplicationId
().
toString
())));
}
return
boolQuery
;
}))
.
from
(
offset
)
.
size
(
size
)
.
sort
(
s
->
s
.
field
(
fs
->
fs
.
field
(
"callTime.keyword"
).
order
(
SortOrder
.
Desc
)))
.
trackTotalHits
(
tb
->
tb
.
enabled
(
true
)),
AppAbilityRecord
.
class
);
return
handlePageResultWithHighlight
(
searchResponse
,
AppAbilityRecord
.
class
,
recordDto
);
}
/**
* 构建分页对象,包括高亮处理
*
* @param response es响应结果
* @param targetType 目标对象类型
*/
private
<
T
>
Page
<
T
>
handlePageResultWithHighlight
(
SearchResponse
<?>
response
,
Class
<
T
>
targetType
,
RecordDto
dto
)
{
ObjectMapper
objectMapper
=
new
ObjectMapper
();
TotalHits
totalHits
=
response
.
hits
().
total
();
long
total
=
ObjUtil
.
isNull
(
totalHits
)
?
0
:
totalHits
.
value
();
// 这是索引库中的总数
// total = total != 10000 ? total : client.count(req -> req.index(indexName)).count();
List
<
T
>
list
=
response
.
hits
().
hits
().
stream
().
map
(
hit
->
{
// 对象转换
T
obj
=
objectMapper
.
convertValue
(
hit
.
source
(),
targetType
);
// 处理高亮
Map
<
String
,
List
<
String
>>
highlightFields
=
hit
.
highlight
();
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry
:
highlightFields
.
entrySet
())
{
String
fieldName
=
entry
.
getKey
();
List
<
String
>
highlightValues
=
entry
.
getValue
();
if
(
highlightValues
!=
null
&&
!
highlightValues
.
isEmpty
())
{
// 使用反射或其他适当的方式将高亮文本赋值到对象的相应字段上
try
{
Field
field
=
targetType
.
getDeclaredField
(
fieldName
);
field
.
setAccessible
(
true
);
// 如果有多个高亮值,可以将它们连接成一个字符串,然后赋值
String
highlightedText
=
String
.
join
(
""
,
highlightValues
);
// 重新赋值
field
.
set
(
obj
,
highlightedText
);
}
catch
(
NoSuchFieldException
|
IllegalAccessException
e
)
{
log
.
error
(
"构建分页对象出错:"
+
e
);
}
}
}
return
obj
;
}).
collect
(
Collectors
.
toList
());
Page
<
T
>
page
=
new
Page
<>();
page
.
setTotal
(
total
);
page
.
setRecords
(
list
);
page
.
setSize
(
dto
.
getLimit
());
page
.
setCurrent
(
dto
.
getPage
());
return
page
;
// return PageVo.ofReqVo(vo, list, (int) total);
}
}
}
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/RedisService.java
View file @
cd4e8948
package
com
.
gxmailu
.
ocrCloudPlatform
.
service
.
impl
;
package
com
.
gxmailu
.
ocrCloudPlatform
.
service
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.RedisTemplate
;
...
@@ -172,6 +173,17 @@ public class RedisService {
...
@@ -172,6 +173,17 @@ public class RedisService {
}
}
}
}
/**
* 根据前缀删除Redis中的键
* @param keyPrefix 键的前缀
*/
public
void
removeByPrefix
(
String
keyPrefix
)
{
Set
<
Object
>
keys
=
redisTemplate
.
keys
(
keyPrefix
+
"*"
);
if
(
CollUtil
.
isNotEmpty
(
keys
))
{
redisTemplate
.
delete
(
keys
);
}
}
public
boolean
exists
(
String
key
)
{
public
boolean
exists
(
String
key
)
{
return
Boolean
.
TRUE
.
equals
(
redisTemplate
.
hasKey
(
key
));
return
Boolean
.
TRUE
.
equals
(
redisTemplate
.
hasKey
(
key
));
}
}
...
...
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/RetransmissionService.java
View file @
cd4e8948
...
@@ -16,6 +16,7 @@ import com.alibaba.fastjson.JSONArray;
...
@@ -16,6 +16,7 @@ import com.alibaba.fastjson.JSONArray;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.gxmailu.ocrCloudPlatform.config.DistributedRedisLock
;
import
com.gxmailu.ocrCloudPlatform.config.DistributedRedisLock
;
import
com.gxmailu.ocrCloudPlatform.constant.RedisConstant
;
import
com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecord
;
import
com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecord
;
import
com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecordAll
;
import
com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecordAll
;
import
com.gxmailu.ocrCloudPlatform.entity.ServerInfo
;
import
com.gxmailu.ocrCloudPlatform.entity.ServerInfo
;
...
@@ -99,11 +100,7 @@ public class RetransmissionService {
...
@@ -99,11 +100,7 @@ public class RetransmissionService {
private
final
Random
random
=
new
Random
();
private
final
Random
random
=
new
Random
();
private
final
AtomicInteger
counter
=
new
AtomicInteger
(
0
);
private
final
AtomicInteger
counter
=
new
AtomicInteger
(
0
);
/**
* redis key 请求任务量
**/
private
static
final
String
SERVER_REQUEST_TASK
=
"server-request-task-"
;
private
static
final
String
LOCK_NAME
=
"server-task"
;
/**
/**
* 重试次数
* 重试次数
*/
*/
...
@@ -239,11 +236,22 @@ public class RetransmissionService {
...
@@ -239,11 +236,22 @@ public class RetransmissionService {
}
}
public
Map
<
String
,
String
>
getHeaderMap
(
HttpServletRequest
request
)
{
public
Map
<
String
,
String
>
getHeaderMap
(
HttpServletRequest
request
)
{
Map
<
String
,
String
>
headerMap
=
new
HashMap
<>();
// Map<String, String> headerMap = new HashMap<>();
headerMap
.
put
(
"Authorization"
,
request
.
getHeader
(
"Authorization"
));
// headerMap.put("Authorization", request.getHeader("Authorization"));
headerMap
.
put
(
"X-Timestamp"
,
request
.
getHeader
(
"X-Timestamp"
));
// headerMap.put("X-Timestamp", request.getHeader("X-Timestamp"));
headerMap
.
put
(
"X-Checksum"
,
request
.
getHeader
(
"X-Checksum"
));
// headerMap.put("X-Checksum", request.getHeader("X-Checksum"));
return
headerMap
;
// headerMap.put("Accept", request.getHeader("Accept"));
// headerMap.put("User-Agent", request.getHeader("User-Agent"));
// return headerMap;
Map
<
String
,
String
>
map
=
new
HashMap
<>();
Enumeration
<
String
>
headerNames
=
request
.
getHeaderNames
();
while
(
headerNames
.
hasMoreElements
())
{
String
key
=
headerNames
.
nextElement
();
String
value
=
request
.
getHeader
(
key
);
map
.
put
(
key
,
value
);
}
return
map
;
}
}
...
@@ -888,17 +896,17 @@ public class RetransmissionService {
...
@@ -888,17 +896,17 @@ public class RetransmissionService {
@Async
(
"dataPersistThreadPoolTaskExecutor"
)
@Async
(
"dataPersistThreadPoolTaskExecutor"
)
public
void
addServerRequestCount
(
String
ip
,
long
delta
)
{
public
void
addServerRequestCount
(
String
ip
,
long
delta
)
{
// 获取公平锁
// 获取公平锁
distributedRedisLock
.
getFairLock
(
LOCK_NAME
);
distributedRedisLock
.
getFairLock
(
RedisConstant
.
LOCK_NAME
);
try
{
try
{
Long
incr
=
redisService
.
incr
(
SERVER_REQUEST_TASK
+
ip
,
delta
);
Long
incr
=
redisService
.
incr
(
RedisConstant
.
SERVER_REQUEST_TASK
+
ip
,
delta
);
if
(
incr
<
0
)
{
if
(
incr
<
0
)
{
redisService
.
set
(
SERVER_REQUEST_TASK
+
ip
,
0L
,
30
,
TimeUnit
.
SECONDS
);
redisService
.
set
(
RedisConstant
.
SERVER_REQUEST_TASK
+
ip
,
0L
,
30
,
TimeUnit
.
SECONDS
);
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"缓存服务器请求量任务失败"
,
e
);
log
.
error
(
"缓存服务器请求量任务失败"
,
e
);
}
finally
{
}
finally
{
// 释放锁
// 释放锁
distributedRedisLock
.
unlock
(
LOCK_NAME
);
distributedRedisLock
.
unlock
(
RedisConstant
.
LOCK_NAME
);
}
}
}
}
...
@@ -914,7 +922,7 @@ public class RetransmissionService {
...
@@ -914,7 +922,7 @@ public class RetransmissionService {
if
(
ocrServerList
==
null
)
{
if
(
ocrServerList
==
null
)
{
ocrServerList
=
serverInfoMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ServerInfo
.
class
)
ocrServerList
=
serverInfoMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ServerInfo
.
class
)
.
eq
(
ServerInfo:
:
getAccessService
,
true
));
.
eq
(
ServerInfo:
:
getAccessService
,
true
));
redisService
.
set
(
"ocrServerList"
,
ocrServerList
);
redisService
.
set
(
RedisConstant
.
OCR_SERVER_LIST
,
ocrServerList
);
}
}
List
<
ServerInfo
>
notActiveServerList
=
new
ArrayList
<>();
List
<
ServerInfo
>
notActiveServerList
=
new
ArrayList
<>();
for
(
ServerInfo
serverInfo
:
ocrServerList
)
{
for
(
ServerInfo
serverInfo
:
ocrServerList
)
{
...
@@ -948,7 +956,7 @@ public class RetransmissionService {
...
@@ -948,7 +956,7 @@ public class RetransmissionService {
ocrServerList
=
serverInfoService
.
getCacheList
();
ocrServerList
=
serverInfoService
.
getCacheList
();
if
(
CollUtil
.
isEmpty
(
ocrServerList
))
{
if
(
CollUtil
.
isEmpty
(
ocrServerList
))
{
ocrServerList
=
serverInfoMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ServerInfo
.
class
).
eq
(
ServerInfo:
:
getAccessService
,
true
));
ocrServerList
=
serverInfoMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ServerInfo
.
class
).
eq
(
ServerInfo:
:
getAccessService
,
true
));
redisService
.
set
(
"ocrServerList"
,
ocrServerList
,
60
,
TimeUnit
.
MINUTES
);
redisService
.
set
(
RedisConstant
.
OCR_SERVER_LIST
,
ocrServerList
,
60
,
TimeUnit
.
MINUTES
);
}
}
}
}
}
}
...
@@ -956,7 +964,7 @@ public class RetransmissionService {
...
@@ -956,7 +964,7 @@ public class RetransmissionService {
// 获取空闲的服务器列表
// 获取空闲的服务器列表
List
<
ServerInfo
>
notActiveServerList
=
ocrServerList
.
stream
()
List
<
ServerInfo
>
notActiveServerList
=
ocrServerList
.
stream
()
.
filter
(
serverInfo
->
{
.
filter
(
serverInfo
->
{
Object
obj
=
redisService
.
get
(
SERVER_REQUEST_TASK
+
serverInfo
.
getIp
());
Object
obj
=
redisService
.
get
(
RedisConstant
.
SERVER_REQUEST_TASK
+
serverInfo
.
getIp
());
if
(
ObjUtil
.
isNotNull
(
obj
)
&&
obj
instanceof
Number
)
{
if
(
ObjUtil
.
isNotNull
(
obj
)
&&
obj
instanceof
Number
)
{
return
((
Number
)
obj
).
longValue
()
<=
0
;
return
((
Number
)
obj
).
longValue
()
<=
0
;
}
}
...
@@ -971,7 +979,7 @@ public class RetransmissionService {
...
@@ -971,7 +979,7 @@ public class RetransmissionService {
}
else
{
}
else
{
// 如果没有空闲的服务器,则从redis中根据服务器请求量选择一个请求量最少的服务器
// 如果没有空闲的服务器,则从redis中根据服务器请求量选择一个请求量最少的服务器
serverInfo
=
ocrServerList
.
stream
().
min
(
Comparator
.
comparingLong
(
server
->
{
serverInfo
=
ocrServerList
.
stream
().
min
(
Comparator
.
comparingLong
(
server
->
{
Number
value
=
(
Number
)
redisService
.
getValue
(
SERVER_REQUEST_TASK
+
server
.
getIp
());
Number
value
=
(
Number
)
redisService
.
getValue
(
RedisConstant
.
SERVER_REQUEST_TASK
+
server
.
getIp
());
return
(
ObjUtil
.
isNotNull
(
value
)
?
value
.
longValue
()
:
0L
);
return
(
ObjUtil
.
isNotNull
(
value
)
?
value
.
longValue
()
:
0L
);
})).
orElse
(
null
);
})).
orElse
(
null
);
}
}
...
...
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/ServerInfoServiceImpl.java
View file @
cd4e8948
...
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
...
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.core.toolkit.AES
;
import
com.baomidou.mybatisplus.core.toolkit.AES
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.gxmailu.ocrCloudPlatform.constant.RedisConstant
;
import
com.gxmailu.ocrCloudPlatform.entity.ServerInfo
;
import
com.gxmailu.ocrCloudPlatform.entity.ServerInfo
;
import
com.gxmailu.ocrCloudPlatform.mapper.ServerInfoMapper
;
import
com.gxmailu.ocrCloudPlatform.mapper.ServerInfoMapper
;
import
com.gxmailu.ocrCloudPlatform.service.ServerInfoService
;
import
com.gxmailu.ocrCloudPlatform.service.ServerInfoService
;
...
@@ -134,7 +135,7 @@ public class ServerInfoServiceImpl implements ServerInfoService {
...
@@ -134,7 +135,7 @@ public class ServerInfoServiceImpl implements ServerInfoService {
if
(
CollUtil
.
isEmpty
(
serverInfos
))
{
if
(
CollUtil
.
isEmpty
(
serverInfos
))
{
return
Result
.
error
(
"OCR云平台未配置服务器信息"
);
return
Result
.
error
(
"OCR云平台未配置服务器信息"
);
}
}
redisService
.
set
(
"ocrServerList"
,
serverInfos
);
redisService
.
set
(
RedisConstant
.
OCR_SERVER_LIST
,
serverInfos
);
return
Result
.
success
(
"刷新缓存成功"
);
return
Result
.
success
(
"刷新缓存成功"
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"刷新缓存失败"
,
e
);
log
.
error
(
"刷新缓存失败"
,
e
);
...
@@ -145,11 +146,11 @@ public class ServerInfoServiceImpl implements ServerInfoService {
...
@@ -145,11 +146,11 @@ public class ServerInfoServiceImpl implements ServerInfoService {
@Override
@Override
public
List
<
ServerInfo
>
getCacheList
()
{
public
List
<
ServerInfo
>
getCacheList
()
{
// return serverInfoMapper.selectList(new ServerInfo(true));
// return serverInfoMapper.selectList(new ServerInfo(true));
Object
object
=
redisService
.
getValue
(
"ocrServerList"
);
Object
object
=
redisService
.
getValue
(
RedisConstant
.
OCR_SERVER_LIST
);
if
(
object
==
null
)
{
if
(
object
==
null
)
{
List
<
ServerInfo
>
serverInfos
=
serverInfoMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ServerInfo
.
class
)
List
<
ServerInfo
>
serverInfos
=
serverInfoMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ServerInfo
.
class
)
.
eq
(
ServerInfo:
:
getAccessService
,
true
));
.
eq
(
ServerInfo:
:
getAccessService
,
true
));
redisService
.
set
(
"ocrServerList"
,
serverInfos
);
redisService
.
set
(
RedisConstant
.
OCR_SERVER_LIST
,
serverInfos
);
return
serverInfos
;
return
serverInfos
;
}
else
{
}
else
{
return
JSONArray
.
parseArray
(
object
.
toString
(),
ServerInfo
.
class
);
return
JSONArray
.
parseArray
(
object
.
toString
(),
ServerInfo
.
class
);
...
@@ -282,7 +283,7 @@ public class ServerInfoServiceImpl implements ServerInfoService {
...
@@ -282,7 +283,7 @@ public class ServerInfoServiceImpl implements ServerInfoService {
//修改成功后,查询整个列表并设置进redis
//修改成功后,查询整个列表并设置进redis
List
<
ServerInfo
>
serverList
=
serverInfoMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ServerInfo
.
class
)
List
<
ServerInfo
>
serverList
=
serverInfoMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ServerInfo
.
class
)
.
eq
(
ServerInfo:
:
getAccessService
,
true
));
.
eq
(
ServerInfo:
:
getAccessService
,
true
));
redisService
.
set
(
"ocrServerList"
,
serverList
);
redisService
.
set
(
RedisConstant
.
OCR_SERVER_LIST
,
serverList
);
}
}
});
});
newThread
.
start
();
newThread
.
start
();
...
...
src/main/java/com/gxmailu/ocrCloudPlatform/vo/AppAbilityRecordVo.java
0 → 100644
View file @
cd4e8948
package
com
.
gxmailu
.
ocrCloudPlatform
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author Hmb
* @since 2024/1/16 9:46
*/
@Data
public
class
AppAbilityRecordVo
{
private
String
id
;
/**
* 法院名称
*/
private
String
courtName
;
/**
* 业务厂家
*/
private
String
businessVendors
;
private
String
appAbilityName
;
private
String
ip
;
/**
* 文件页数
*/
private
Integer
fileCount
;
/**
* 调用次数
*/
private
String
callCount
;
/**
* 调用时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
callTime
;
/**
* 调用服务器ip
*/
private
String
serverIp
;
}
src/main/resources/application-dev.yml
View file @
cd4e8948
...
@@ -71,3 +71,7 @@ elasticsearch:
...
@@ -71,3 +71,7 @@ elasticsearch:
http
:
http
http
:
http
username
:
elastic
username
:
elastic
password
:
RQuT4eQIdIZ57waX9f87
password
:
RQuT4eQIdIZ57waX9f87
#
#eureka:
# client:
# enabled: false
\ No newline at end of file
src/main/resources/application.yml
View file @
cd4e8948
...
@@ -37,8 +37,8 @@ eureka:
...
@@ -37,8 +37,8 @@ eureka:
instance
:
instance
:
prefer-ip-address
:
true
prefer-ip-address
:
true
instance-id
:
${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}
instance-id
:
${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}
lease-expiration-duration-in-seconds
:
30
lease-expiration-duration-in-seconds
:
6
lease-renewal-interval-in-seconds
:
10
lease-renewal-interval-in-seconds
:
2
logging
:
logging
:
level
:
level
:
...
...
src/test/java/com/gxmailu/ocrCloudPlatform/ESTest.java
View file @
cd4e8948
...
@@ -14,6 +14,10 @@ import co.elastic.clients.elasticsearch.core.SearchResponse;
...
@@ -14,6 +14,10 @@ import co.elastic.clients.elasticsearch.core.SearchResponse;
import
co.elastic.clients.elasticsearch.core.search.TotalHits
;
import
co.elastic.clients.elasticsearch.core.search.TotalHits
;
import
co.elastic.clients.json.JsonData
;
import
co.elastic.clients.json.JsonData
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.gxmailu.ocrCloudPlatform.constant.RedisConstant
;
import
com.gxmailu.ocrCloudPlatform.dto.RecordDto
;
import
com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecord
;
import
com.gxmailu.ocrCloudPlatform.entity.Court
;
import
com.gxmailu.ocrCloudPlatform.entity.Court
;
import
com.gxmailu.ocrCloudPlatform.mapper.AppAbilityRecordAllMapper
;
import
com.gxmailu.ocrCloudPlatform.mapper.AppAbilityRecordAllMapper
;
import
com.gxmailu.ocrCloudPlatform.mapper.CourtMapper
;
import
com.gxmailu.ocrCloudPlatform.mapper.CourtMapper
;
...
@@ -21,7 +25,6 @@ import com.gxmailu.ocrCloudPlatform.service.AppAbilityRecordAllService;
...
@@ -21,7 +25,6 @@ import com.gxmailu.ocrCloudPlatform.service.AppAbilityRecordAllService;
import
com.gxmailu.ocrCloudPlatform.service.impl.ElasticSearchService
;
import
com.gxmailu.ocrCloudPlatform.service.impl.ElasticSearchService
;
import
com.gxmailu.ocrCloudPlatform.service.impl.RedisService
;
import
com.gxmailu.ocrCloudPlatform.service.impl.RedisService
;
import
com.gxmailu.ocrCloudPlatform.vo.BrokenLineData
;
import
com.gxmailu.ocrCloudPlatform.vo.BrokenLineData
;
import
com.gxmailu.ocrCloudPlatform.vo.Result
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runner.RunWith
;
...
@@ -93,7 +96,7 @@ public class ESTest {
...
@@ -93,7 +96,7 @@ public class ESTest {
@Test
@Test
public
void
getCourtUseSum
()
throws
IOException
{
public
void
getCourtUseSum
()
throws
IOException
{
List
<
Court
>
courtList
;
List
<
Court
>
courtList
;
Object
data
=
redisService
.
getValue
(
"courtList"
);
Object
data
=
redisService
.
getValue
(
RedisConstant
.
COURT_LIST
);
if
(
data
!=
null
)
{
if
(
data
!=
null
)
{
JSONArray
array
=
JSONUtil
.
parseArray
(
data
);
JSONArray
array
=
JSONUtil
.
parseArray
(
data
);
courtList
=
new
ArrayList
<>();
courtList
=
new
ArrayList
<>();
...
@@ -102,7 +105,7 @@ public class ESTest {
...
@@ -102,7 +105,7 @@ public class ESTest {
}
}
}
else
{
}
else
{
courtList
=
courtMapper
.
selectList
(
new
LambdaQueryWrapper
<
Court
>().
isNotNull
(
Court:
:
getIpScope
));
courtList
=
courtMapper
.
selectList
(
new
LambdaQueryWrapper
<
Court
>().
isNotNull
(
Court:
:
getIpScope
));
redisService
.
set
(
"courtList"
,
courtList
,
5L
,
TimeUnit
.
MINUTE
S
);
redisService
.
set
(
RedisConstant
.
COURT_LIST
,
courtList
,
1L
,
TimeUnit
.
DAY
S
);
}
}
JSONArray
array
=
new
JSONArray
();
JSONArray
array
=
new
JSONArray
();
SearchResponse
<
Void
>
searchResponse
=
client
.
search
(
srBuilder
->
srBuilder
.
index
(
APP_ABILITY_RECORD_INDEX
).
query
(
queryBuilder
->
queryBuilder
.
bool
(
boolQuery
->
{
SearchResponse
<
Void
>
searchResponse
=
client
.
search
(
srBuilder
->
srBuilder
.
index
(
APP_ABILITY_RECORD_INDEX
).
query
(
queryBuilder
->
queryBuilder
.
bool
(
boolQuery
->
{
...
@@ -147,10 +150,20 @@ public class ESTest {
...
@@ -147,10 +150,20 @@ public class ESTest {
}
}
@Test
@Test
public
void
afds
()
{
public
void
afds
()
throws
IOException
{
Result
brokenLineData
=
appAbilityRecordAllService
.
getCorrelationData
(
"2023-12-10"
,
"2023-12-09"
);
RecordDto
recordDto
=
new
RecordDto
();
Result
brokenLineData1
=
appAbilityRecordAllService
.
getBrokenLineData
(
"2023-12-10"
);
recordDto
.
setPage
(
1
);
System
.
out
.
println
(
brokenLineData
);
recordDto
.
setLimit
(
10
);
// recordDto.setIpScopeList(Arrays.asList("147.4."));
// recordDto.setApplicationId(5L);
// recordDto.setStartTime(DateUtil.parseDate("2023-05-11"));
// recordDto.setEndTime(DateUtil.parseDate("2023-05-11"));
Page
<
AppAbilityRecord
>
recordList
=
elasticSearchService
.
getRecordList
(
recordDto
);
recordList
.
getRecords
().
forEach
(
System
.
out
::
println
);
// Object recordList1 = appAbilityRecordAllService.getRecordList(recordDto);
// System.out.println(recordList1);
}
}
...
...
src/test/java/com/gxmailu/ocrCloudPlatform/RetransmissionServiceTest.java
View file @
cd4e8948
package
com
.
gxmailu
.
ocrCloudPlatform
;
package
com
.
gxmailu
.
ocrCloudPlatform
;
import
com.gxmailu.ocrCloudPlatform.constant.RedisConstant
;
import
com.gxmailu.ocrCloudPlatform.entity.ConfigAbility
;
import
com.gxmailu.ocrCloudPlatform.entity.ConfigAbility
;
import
com.gxmailu.ocrCloudPlatform.entity.ServerInfo
;
import
com.gxmailu.ocrCloudPlatform.entity.ServerInfo
;
import
com.gxmailu.ocrCloudPlatform.mapper.ServerInfoMapper
;
import
com.gxmailu.ocrCloudPlatform.mapper.ServerInfoMapper
;
...
@@ -71,7 +72,7 @@ class RetransmissionServiceTest {
...
@@ -71,7 +72,7 @@ class RetransmissionServiceTest {
ocrServerList
.
add
(
serverInfo8
);
ocrServerList
.
add
(
serverInfo8
);
ocrServerList
.
add
(
serverInfo9
);
ocrServerList
.
add
(
serverInfo9
);
ocrServerList
.
add
(
serverInfo10
);
ocrServerList
.
add
(
serverInfo10
);
redisService
.
set
(
"ocrServerList"
,
ocrServerList
,
30
,
TimeUnit
.
MINUTES
);
redisService
.
set
(
RedisConstant
.
OCR_SERVER_LIST
,
ocrServerList
,
30
,
TimeUnit
.
MINUTES
);
}
}
@Test
@Test
...
...
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