Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nnjcy-data-model
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
梁家彪
nnjcy-data-model
Commits
b87f6c8a
Commit
b87f6c8a
authored
Nov 28, 2023
by
梁家彪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
演示
parent
4d210969
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
469 additions
and
3 deletions
+469
-3
data-collect-server/pom.xml
+3
-3
doc-server/pom.xml
+82
-0
doc-server/src/main/java/com/zq/doc/DocApplication.java
+13
-0
doc-server/src/main/java/com/zq/doc/controller/DocController.java
+131
-0
doc-server/src/main/java/com/zq/doc/entity/AjxxFile.java
+59
-0
doc-server/src/main/java/com/zq/doc/mapper/AjxxFileMapper.java
+10
-0
doc-server/src/main/java/com/zq/doc/vo/AplhaDocVo.java
+49
-0
doc-server/src/main/java/com/zq/doc/vo/SolrDocumentPage.java
+34
-0
doc-server/src/main/resources/application.yml
+64
-0
doc-server/src/main/resources/bootstrap.yml
+19
-0
gateway-server/src/main/resources/application.yml
+4
-0
pom.xml
+1
-0
No files found.
data-collect-server/pom.xml
View file @
b87f6c8a
...
...
@@ -93,9 +93,9 @@
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<!-- <configuration>--
>
<!-- <skip>true</skip>--
>
<!-- </configuration>--
>
<configuration
>
<skip>
true
</skip
>
</configuration
>
</plugin>
</plugins>
...
...
doc-server/pom.xml
0 → 100644
View file @
b87f6c8a
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
nnjcy-data-model
</artifactId>
<groupId>
com.zq
</groupId>
<version>
1.0.0
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
doc-server
</artifactId>
<properties>
<maven.compiler.source>
8
</maven.compiler.source>
<maven.compiler.target>
8
</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-netflix-eureka-client
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-config
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-solr
</artifactId>
</dependency>
<dependency>
<groupId>
com.zq
</groupId>
<artifactId>
common-client
</artifactId>
<version>
1.0.0
</version>
</dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-boot-starter
</artifactId>
<version>
${mybatis.plus.version}
</version>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
druid-spring-boot-starter
</artifactId>
<version>
${druid.version}
</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
</plugins>
<!-- 使用@profiles.active@需要添加以下内容 -->
<resources>
<resource>
<directory>
src/main/resources
</directory>
<filtering>
true
</filtering>
</resource>
</resources>
</build>
</project>
\ No newline at end of file
doc-server/src/main/java/com/zq/doc/DocApplication.java
0 → 100644
View file @
b87f6c8a
package
com
.
zq
.
doc
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
@SpringBootApplication
public
class
DocApplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
DocApplication
.
class
,
args
);
}
}
\ No newline at end of file
doc-server/src/main/java/com/zq/doc/controller/DocController.java
0 → 100644
View file @
b87f6c8a
package
com
.
zq
.
doc
.
controller
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.zq.common.vo.ResultVo
;
import
com.zq.doc.mapper.AjxxFileMapper
;
import
com.zq.doc.vo.AplhaDocVo
;
import
com.zq.doc.vo.SolrDocumentPage
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.solr.client.solrj.SolrClient
;
import
org.apache.solr.client.solrj.SolrQuery
;
import
org.apache.solr.client.solrj.SolrServerException
;
import
org.apache.solr.client.solrj.response.QueryResponse
;
import
org.apache.solr.common.SolrDocument
;
import
org.apache.solr.common.SolrDocumentList
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author zhoudong
* @version 0.1
* @date 2018/12/01 15:35
*/
@RestController
@RequestMapping
(
"/solr/alpha/doc"
)
public
class
DocController
{
private
final
String
core
=
"alpha_doc_core"
;
@Autowired
private
SolrClient
client
;
@Resource
private
AjxxFileMapper
ajxxFileMapper
;
/**
* 综合查询: 在综合查询中, 有按条件查询, 条件过滤, 排序, 分页, 高亮显示, 获取部分域信息
*
* @return
*/
@GetMapping
(
"/db/search"
)
@ApiOperation
(
"数据库综合查询: 在综合查询中, 有按条件查询, 条件过滤, 排序, 分页, 高亮显示, 获取部分域信息"
)
public
SolrDocumentPage
dbSearch
(
@ApiParam
(
"页码"
)
@RequestParam
(
defaultValue
=
"1"
)
Integer
pageNum
,
@ApiParam
(
"每页记录数"
)
@RequestParam
(
defaultValue
=
"10"
)
Integer
pageSize
,
@ApiParam
(
"查询条件"
)
AplhaDocVo
aplhaDocVo
)
throws
SolrServerException
,
IOException
{
SolrQuery
params
=
new
SolrQuery
();
//查询条件, 这里的 q 对应 下面图片标红的地方
if
(
StringUtils
.
isBlank
(
aplhaDocVo
.
getAjnr
()))
{
params
.
set
(
"q"
,
"*"
);
}
else
{
params
.
set
(
"q"
,
aplhaDocVo
.
getAjnr
());
}
if
(
StringUtils
.
isNotEmpty
(
aplhaDocVo
.
getAh
()))
{
params
.
addFilterQuery
(
"ah:*"
+
aplhaDocVo
.
getAh
()
+
"*"
);
}
if
(
ObjectUtil
.
isNotNull
(
aplhaDocVo
.
getAjmc
()))
{
params
.
addFilterQuery
(
"ajmc:*"
+
aplhaDocVo
.
getAjmc
()
+
"*"
);
}
if
(
StringUtils
.
isNotBlank
(
aplhaDocVo
.
getFymc
()))
{
params
.
addFilterQuery
(
"fymc:*"
+
aplhaDocVo
.
getFymc
()
+
"*"
);
}
if
(
StringUtils
.
isNotBlank
(
aplhaDocVo
.
getAy
()))
{
params
.
addFilterQuery
(
"ay:*"
+
aplhaDocVo
.
getAy
()
+
"*"
);
}
if
(
ObjectUtil
.
isNotNull
(
aplhaDocVo
.
getAjnr
()))
{
params
.
addFilterQuery
(
"ajnr:*"
+
aplhaDocVo
.
getAjnr
()
+
"*"
);
}
//排序
params
.
addSort
(
"id"
,
SolrQuery
.
ORDER
.
desc
);
//分页
params
.
setStart
((
pageNum
-
1
)
*
pageSize
);
params
.
setRows
(
pageSize
);
//默认域
params
.
set
(
"df"
,
"keyword"
);
//高亮打开开关
params
.
setHighlight
(
true
);
//指定高亮域
params
.
addHighlightField
(
"ajnr"
);
//设置前缀
params
.
setHighlightSimplePre
(
"<span style='color:red'>"
);
//设置后缀
params
.
setHighlightSimplePost
(
"</span>"
);
QueryResponse
queryResponse
=
client
.
query
(
core
,
params
);
SolrDocumentList
results
=
queryResponse
.
getResults
();
long
numFound
=
results
.
getNumFound
();
// 查询到的结果
//获取高亮显示的结果, 高亮显示的结果和查询结果是分开放的
Map
<
String
,
Map
<
String
,
List
<
String
>>>
highlight
=
queryResponse
.
getHighlighting
();
for
(
SolrDocument
result
:
results
)
{
// 将高亮结果合并到查询结果中
result
.
remove
(
"keyword"
);
highlight
.
forEach
((
k
,
v
)
->
{
if
(
result
.
get
(
"id"
).
equals
(
k
))
{
v
.
forEach
((
k1
,
v1
)
->
{
if
(!
k1
.
equals
(
"keyword"
))
result
.
setField
(
k1
,
v1
);
// 高亮列合并如结果
});
}
});
}
return
new
SolrDocumentPage
(
pageNum
,
pageSize
,
numFound
,
results
);
}
@GetMapping
(
"/ay"
)
public
ResultVo
ay
(){
return
ResultVo
.
success
(
new
ArrayList
<>());
}
@GetMapping
(
"/fy"
)
public
ResultVo
fy
(){
return
ResultVo
.
success
(
new
ArrayList
<>());
}
@GetMapping
(
"/{id}"
)
public
ResultVo
getById
(
@PathVariable
(
"id"
)
Long
id
){
return
ResultVo
.
success
(
ajxxFileMapper
.
selectById
(
id
));
}
}
\ No newline at end of file
doc-server/src/main/java/com/zq/doc/entity/AjxxFile.java
0 → 100644
View file @
b87f6c8a
package
com
.
zq
.
doc
.
entity
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
AjxxFile
{
/**
* id
*/
private
Long
id
;
/**
* 案号
*/
private
String
ah
;
/**
* 案件名称
*/
private
String
ajmc
;
/**
* 法院名称
*/
private
String
fymc
;
/**
* 案由
*/
private
String
ay
;
/**
* 文书内容
*/
private
String
ajnr
;
/**
* 裁判时间
*/
private
Date
time
;
/**
* 所在压缩包
*/
private
String
zip
;
/**
* 文件名
*/
private
String
filename
;
}
\ No newline at end of file
doc-server/src/main/java/com/zq/doc/mapper/AjxxFileMapper.java
0 → 100644
View file @
b87f6c8a
package
com
.
zq
.
doc
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zq.doc.entity.AjxxFile
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
public
interface
AjxxFileMapper
extends
BaseMapper
<
AjxxFile
>
{
}
\ No newline at end of file
doc-server/src/main/java/com/zq/doc/vo/AplhaDocVo.java
0 → 100644
View file @
b87f6c8a
package
com
.
zq
.
doc
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
AplhaDocVo
{
/**
* id
*/
private
Long
id
;
/**
* 案号
*/
private
String
ah
;
/**
* 案件名称
*/
private
String
ajmc
;
/**
* 法院名称
*/
private
String
fymc
;
/**
* 案由
*/
private
String
ay
;
/**
* 案件内容
*/
private
String
ajnr
;
/**
* 裁判时间
*/
private
Date
time
;
}
\ No newline at end of file
doc-server/src/main/java/com/zq/doc/vo/SolrDocumentPage.java
0 → 100644
View file @
b87f6c8a
package
com
.
zq
.
doc
.
vo
;
import
com.fasterxml.jackson.annotation.JsonPropertyOrder
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.apache.solr.common.SolrDocumentList
;
/**
* @author CodeAnyWay
* @since 2019-03-14
*/
@ApiModel
(
"分页查询结果"
)
@JsonPropertyOrder
({
"start"
,
"size"
,
"total"
,
"rows"
})
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
SolrDocumentPage
{
@ApiModelProperty
(
"本页记录在所有记录中的起始位置"
)
private
int
start
;
@ApiModelProperty
(
"每页记录条数"
)
private
int
size
;
@ApiModelProperty
(
"总记录条数"
)
private
Long
total
;
@ApiModelProperty
(
"当前页数据"
)
private
SolrDocumentList
rows
;
}
doc-server/src/main/resources/application.yml
0 → 100644
View file @
b87f6c8a
server
:
port
:
9633
#配置数据源
spring
:
application
:
name
:
DOC-SERVER
servlet
:
#上传文件限制
multipart
:
#单个文件大小
max-file-size
:
20MB
#设置总上传的数据大小
max-request-size
:
50MB
jackson
:
date-format
:
yyyy-MM-dd HH:mm:ss
time-zone
:
GMT+8
datasource
:
druid
:
db-type
:
com.alibaba.druid.pool.DruidDataSource
driver-class-name
:
${jdbc.driver-class-name}
username
:
${jdbc.username}
password
:
${jdbc.password}
url
:
jdbc:mysql://119.45.183.210:13308/nnjcy_alpha?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true
# 初始连接数
initial-size
:
5
# 最小连接数
min-idle
:
10
# 最大连接数
max-active
:
20
# 获取连接超时时间
max-wait
:
5000
# 连接有效性检测时间
time-between-eviction-runs-millis
:
60000
# 连接在池中最小生存的时间
min-evictable-idle-time-millis
:
300000
# 连接在池中最大生存的时间
max-evictable-idle-time-millis
:
900000
test-while-idle
:
true
test-on-borrow
:
false
test-on-return
:
false
# 检测连接是否有效
validation-query
:
SELECT 1 FROM DUAL
# 配置监控统计
webStatFilter
:
enabled
:
true
stat-view-servlet
:
enabled
:
true
url-pattern
:
/druid/*
reset-enable
:
false
allow
:
"
"
filter
:
stat
:
enabled
:
true
# 记录慢SQL
log-slow-sql
:
true
slow-sql-millis
:
1000
merge-sql
:
true
wall
:
config
:
multi-statement-allow
:
true
data
:
solr
:
host
:
http://116.205.237.76:8983/solr/
\ No newline at end of file
doc-server/src/main/resources/bootstrap.yml
0 → 100644
View file @
b87f6c8a
spring
:
cloud
:
config
:
name
:
config
profile
:
@
profiles.active@
discovery
:
enabled
:
true
service-id
:
CONFIG-SERVER
uri
:
http://127.0.0.1:8300/
eureka
:
instance
:
prefer-ip-address
:
true
lease-renewal-interval-in-seconds
:
2
#每间隔1s,向服务端发送一次心跳,证明自己依然"存活"
lease-expiration-duration-in-seconds
:
6
#告诉服务端,如果我2s之内没有给你发心跳,就代表我"死"了,将我踢出掉。
instance-id
:
${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}
client
:
service-url
:
defaultZone
:
http://admin:123456@127.0.0.1:8800/eureka/
gateway-server/src/main/resources/application.yml
View file @
b87f6c8a
...
...
@@ -50,6 +50,10 @@ spring:
uri
:
lb://${data.name}
predicates
:
-
Path=/data/**
-
id
:
solr
uri
:
lb://DOC-SERVER
predicates
:
-
Path=/solr/**
#eureka:
# client:
# service-url:
...
...
pom.xml
View file @
b87f6c8a
...
...
@@ -116,6 +116,7 @@
<module>
data-collect-server
</module>
<module>
dataoperation-server
</module>
<module>
flow-component
</module>
<module>
doc-server
</module>
</modules>
<profiles>
...
...
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