Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
kyb-search
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
万建斌
kyb-search
Commits
e3ca0ad0
Commit
e3ca0ad0
authored
Sep 25, 2019
by
万建斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2019-09-25 作者+机构检索论文
parent
9ffcd2dc
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
84 additions
and
9 deletions
+84
-9
EsMapper.java
src/main/java/com/cesgroup/kingkong/mapper/EsMapper.java
+10
-1
QueryService.java
...java/com/cesgroup/kingkong/service/impl/QueryService.java
+63
-2
SearchContrllor.java
src/main/java/com/cesgroup/kingkong/web/SearchContrllor.java
+11
-6
No files found.
src/main/java/com/cesgroup/kingkong/mapper/EsMapper.java
View file @
e3ca0ad0
...
...
@@ -2,7 +2,6 @@ package com.cesgroup.kingkong.mapper;
import
java.util.HashMap
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
...
...
@@ -37,4 +36,14 @@ public class EsMapper {
String
result
=
httpClientHelper
.
get
(
uriString
,
paramMap
,
header
);
return
result
;
}
public
String
getArticleInfo
(
HashMap
<
String
,
Object
>
paramMap
){
String
uriString
=
"https://api.elsevier.com/content/search/scopus"
;
HashMap
<
String
,
Object
>
header
=
new
HashMap
<
String
,
Object
>();
header
.
put
(
"X-ELS-APIKey"
,
"d7513bc36ec90aa7662c0cfb28b3dd3b"
);
header
.
put
(
"Content-Type"
,
"application/json"
);
header
.
put
(
"Accept"
,
"application/json"
);
String
result
=
httpClientHelper
.
get
(
uriString
,
paramMap
,
header
);
return
result
;
}
}
src/main/java/com/cesgroup/kingkong/service/impl/QueryService.java
View file @
e3ca0ad0
...
...
@@ -6,6 +6,9 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.Map
;
import
java.util.regex.Pattern
;
import
com.alibaba.fastjson.parser.ParserConfig
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -81,14 +84,72 @@ public class QueryService {
}
/**
* @Description: 查询论文信息
* @Param: [params]
* @return: java.util.Map<java.lang.String,java.lang.Object>
* @Author: Wanjianbin
* @Date: 2019/9/25
*/
public
Map
<
String
,
Object
>
queryArticleInfo
(
Map
<
String
,
Object
>
params
)
{
int
start
=
0
;
int
count
=
10
;
StringBuilder
queryStr
=
new
StringBuilder
();
// 分页参数
Integer
current
=
MapUtils
.
getInteger
(
params
,
"current"
);
if
(
current
!=
null
){
start
=
(
current
-
1
)
*
10
;
}
// 组合查询条件字符串
String
authorName
=
MapUtils
.
getString
(
params
,
"authorName"
);
if
(
StringUtils
.
isNotEmpty
(
authorName
)){
queryStr
.
append
(
"AUTHOR-NAME("
);
queryStr
.
append
(
authorName
);
queryStr
.
append
(
")"
);
}
String
affilorg
=
MapUtils
.
getString
(
params
,
"affilorg"
);
if
(
StringUtils
.
isNotEmpty
(
affilorg
)){
if
(
StringUtils
.
isNotEmpty
(
authorName
)){
queryStr
.
append
(
" AND "
);
}
queryStr
.
append
(
"AFFILORG("
);
queryStr
.
append
(
affilorg
);
queryStr
.
append
(
")"
);
}
HashMap
<
String
,
Object
>
paramMap
=
new
HashMap
<
String
,
Object
>();
paramMap
.
put
(
"start"
,
start
);
paramMap
.
put
(
"count"
,
count
);
paramMap
.
put
(
"query"
,
queryStr
.
toString
());
String
resultJsonString
=
esMapper
.
getArticleInfo
(
paramMap
);
System
.
out
.
println
(
"查询出的字符串: "
+
resultJsonString
);
Map
<
String
,
Object
>
result
=
parseArticleInfo
(
resultJsonString
);
if
(
result
!=
null
){
List
<
Map
>
list
=
(
List
<
Map
>)
result
.
get
(
"entry"
);
if
(
list
.
get
(
0
).
get
(
"error"
)
!=
null
){
return
null
;
}
return
result
;
}
return
null
;
}
/**
* 解析论文信息
* @param articleInfo
* @return
* Map<String,Object>
*/
private
Map
<
String
,
Object
>
parseArticleInfo
(
String
articleInfo
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<
String
,
Object
>();
return
result
;
if
(
StringUtils
.
isNotEmpty
(
articleInfo
))
{
ParserConfig
.
getGlobalInstance
().
setAutoTypeSupport
(
true
);
Map
<
String
,
Object
>
result
=
(
Map
<
String
,
Object
>)
JSONObject
.
parse
(
articleInfo
);
return
(
Map
<
String
,
Object
>)
result
.
get
(
"search-results"
);
}
return
null
;
}
/**
...
...
src/main/java/com/cesgroup/kingkong/web/SearchContrllor.java
View file @
e3ca0ad0
...
...
@@ -4,9 +4,7 @@ import java.util.Map;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
com.cesgroup.common.utils.RestAPIResult
;
import
com.cesgroup.kingkong.interceptor.RequiredPermission
;
...
...
@@ -57,16 +55,23 @@ public class SearchContrllor {
}
return
panResult
;
}
/**查询论文接口(待完成)
* @return
* RestAPIResult<Object>
*/
@RequiredPermission
@RequestMapping
(
value
=
"queryArticleInfo"
,
method
=
{
RequestMethod
.
POST
})
public
RestAPIResult
<
Object
>
queryArticleInfo
()
{
public
RestAPIResult
<
Object
>
queryArticleInfo
(
@RequestParam
Map
<
String
,
Object
>
params
)
{
RestAPIResult
<
Object
>
panResult
=
new
RestAPIResult
<
Object
>();
Map
<
String
,
Object
>
result
=
null
;
result
=
queryService
.
queryArticleInfo
();
Map
<
String
,
Object
>
result
=
queryService
.
queryArticleInfo
(
params
);
if
(
result
==
null
||
result
.
size
()
<=
0
){
// 未查出数据时,去掉机构名后重新查询
params
.
remove
(
"affilorg"
);
result
=
queryService
.
queryArticleInfo
(
params
);
}
panResult
.
setRespData
(
result
);
return
panResult
;
}
...
...
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