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
46fbbcd6
Commit
46fbbcd6
authored
Sep 03, 2019
by
chuwanshun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加字典映射
parent
e9b1fa47
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
78 additions
and
27 deletions
+78
-27
PatentTypeEnum.java
src/main/java/com/cesgroup/common/utils/PatentTypeEnum.java
+0
-0
TypeEnum.java
src/main/java/com/cesgroup/common/utils/TypeEnum.java
+52
-0
QueryService.java
...java/com/cesgroup/kingkong/service/impl/QueryService.java
+26
-27
No files found.
src/main/java/com/cesgroup/common/utils/PatentTypeEnum.java
0 → 100644
View file @
46fbbcd6
This diff is collapsed.
Click to expand it.
src/main/java/com/cesgroup/common/utils/TypeEnum.java
0 → 100644
View file @
46fbbcd6
package
com
.
cesgroup
.
common
.
utils
;
import
lombok.Getter
;
@Getter
public
enum
TypeEnum
{
AM
(
"AM"
,
"亚美尼亚 "
),
AP
(
"AP"
,
"非洲地区知"
),
AR
(
"AR"
,
"阿根廷 "
),
AU
(
"AU"
,
"澳大利亚 "
),
AT
(
"AT"
,
"奥地利 "
),
BA
(
"BA"
,
"波斯尼亚和"
),
BE
(
"BE"
,
"比利时 "
),
BG
(
"BG"
,
"保加利亚 "
),
BR
(
"BR"
,
"巴西 "
),
BY
(
"BY"
,
"白俄罗斯 "
),
CA
(
"CA"
,
"加拿大 "
),
CL
(
"CL"
,
"智利 "
),
CO
(
"CO"
,
"哥伦比亚 "
),
CR
(
"CR"
,
"哥斯达黎加"
),
CS
(
"CS"
,
"捷克斯洛伐"
),
CU
(
"CU"
,
"古巴 "
),
CY
(
"CY"
,
"塞浦路斯 "
),
CZ
(
"CZ"
,
"捷克共和国"
),
DK
(
"DK"
,
"丹麦 "
),
DO
(
"DO"
,
"多米尼加共"
),
DZ
(
"DZ"
,
"阿尔及利亚"
),
EA
(
"EA"
,
"欧亚专利局"
),
EC
(
"EC"
,
"厄瓜多尔 "
),
EE
(
"EE"
,
"爱沙尼亚 "
),
EG
(
"EG"
,
"埃及 "
),
ES
(
"ES"
,
"西班牙 "
),
FI
(
"FI"
,
"芬兰 "
),
GC
(
"GC"
,
"海湾地区阿员会专利局(GCC)"
),
GE
(
"GE"
,
"格鲁吉 "
),
GR
(
"GR"
,
"希腊 "
),
GT
(
"GT"
,
"危地马拉 "
),
MO
(
"MO"
,
"中国澳门 "
),
HN
(
"HN"
,
"洪都拉斯 "
),
HR
(
"HR"
,
"克罗地亚 "
),
HU
(
"HU"
,
"匈牙利 "
),
ID
(
"ID"
,
"印度尼西亚"
),
IE
(
"IE"
,
"爱尔兰 "
),
IL
(
"IL"
,
"以色列 "
),
IN
(
"IN"
,
"印度 "
),
IS
(
"IS"
,
"冰岛 "
),
IT
(
"IT"
,
"意大利 "
),
JO
(
"JO"
,
"约旦 "
),
KE
(
"KE"
,
"肯尼亚 "
),
KG
(
"KG"
,
"吉尔吉斯斯"
),
KZ
(
"KZ"
,
"哈萨克斯坦"
),
LT
(
"LT"
,
"立陶宛 "
),
LU
(
"LU"
,
"卢森堡 "
),
LV
(
"LV"
,
"拉脱维亚 "
),
MA
(
"MA"
,
"摩洛哥 "
),
MC
(
"MC"
,
"摩纳哥 "
),
MD
(
"MD"
,
"摩尔多瓦共"
),
ME
(
"ME"
,
"黑山 "
),
MN
(
"MN"
,
"蒙古 "
),
MT
(
"MT"
,
"马耳他 "
),
MW
(
"MW"
,
"马拉维墨西"
),
MX
(
"MX"
,
"墨西哥 "
),
MY
(
"MY"
,
"马来西亚 "
),
NI
(
"NI"
,
"尼加拉瓜 "
),
NL
(
"NL"
,
"荷兰 "
),
NO
(
"NO"
,
"挪威 "
),
NZ
(
"NZ"
,
"新西兰 "
),
OA
(
"OA"
,
"非洲知识产"
),
PA
(
"PA"
,
"巴拿马 "
),
PE
(
"PE"
,
"秘鲁 "
),
PH
(
"PH"
,
"菲律宾 "
),
PL
(
"PL"
,
"波兰 "
),
PT
(
"PT"
,
"葡萄牙 "
),
RO
(
"RO"
,
"罗马尼亚 "
),
RS
(
"RS"
,
"塞尔维亚 "
),
SE
(
"SE"
,
"瑞典 "
),
SI
(
"SI"
,
"斯洛文尼亚"
),
SG
(
"SG"
,
"新加坡 "
),
SK
(
"SK"
,
"斯洛伐克 "
),
SM
(
"SM"
,
"圣马力诺 "
),
SU
(
"SU"
,
"前苏联 "
),
SV
(
"SV"
,
"萨尔瓦多 "
),
TH
(
"TH"
,
"泰国 "
),
TJ
(
"TJ"
,
"塔吉克斯坦"
),
TN
(
"TN"
,
"突尼斯 "
),
TR
(
"TR"
,
"土耳其 "
),
TT
(
"TT"
,
"特立尼达和"
),
UA
(
"UA"
,
"乌克兰 "
),
UY
(
"UY"
,
"乌拉圭 "
),
UZ
(
"UZ"
,
"乌兹别克斯"
),
VN
(
"VN"
,
"越南 "
),
YU
(
"YU"
,
"南斯拉夫 "
),
ZA
(
"ZA"
,
"南非 "
),
ZM
(
"ZM"
,
"赞比亚 "
),
ZW
(
"ZW"
,
"津巴布韦 "
),
WO
(
"WO"
,
"世界知识产"
),
CN
(
"CN"
,
"中国 "
),
JP
(
"JP"
,
"日本 "
),
GB
(
"GB"
,
"英国 "
),
DE
(
"DE"
,
"德国 "
),
CH
(
"CH"
,
"瑞士 "
),
US
(
"US"
,
"美国 "
),
KR
(
"KR"
,
"韩国 "
),
FR
(
"FR"
,
"法国 "
),
RU
(
"RU"
,
"俄罗斯 "
),
EP
(
"EP"
,
"欧洲专利局"
),
HK
(
"HK"
,
"中国香港 "
),
TW
(
"TW"
,
"中国台湾 "
);
private
String
code
;
private
String
message
;
TypeEnum
(
String
code
,
String
message
)
{
this
.
code
=
code
;
this
.
message
=
message
;
}
/**
* @param code
* @return
*/
public
static
TypeEnum
parse
(
String
code
)
{
TypeEnum
[]
values
=
values
();
for
(
TypeEnum
value
:
values
)
{
if
(
value
.
getCode
().
equals
(
code
)
)
{
return
value
;
}
}
return
null
;
}
}
src/main/java/com/cesgroup/kingkong/service/impl/QueryService.java
View file @
46fbbcd6
package
com
.
cesgroup
.
kingkong
.
service
.
impl
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.regex.Pattern
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.cesgroup.common.utils.http.HttpClientHelper
;
import
com.cesgroup.common.utils.PatentTypeEnum
;
import
com.cesgroup.common.utils.TypeEnum
;
import
com.cesgroup.kingkong.mapper.EsMapper
;
@Service
public
class
QueryService
{
private
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
HttpClientHelper
.
class
);
@Autowired
private
EsMapper
esMapper
;
/** 根据id查出数据处理后的结果
* @param id
* @return
* Map<String,Object>
/**
* 通过ID获取数据
*
* @param index 索引,类似数据库
* @param type 类型,类似表
* @param id 数据ID
* @param fields 需要显示的字段,逗号分隔(缺省为全部字段)
* @return Map<String,Object>
*/
public
Map
<
String
,
Object
>
getById
(
String
id
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<
String
,
Object
>();
...
...
@@ -58,7 +59,7 @@ public class QueryService {
id
=
id
.
substring
(
0
,
id
.
lastIndexOf
(
"."
));
result
=
queryById
(
id
);
}
LOGGER
.
info
(
"查询id: "
+
id
);
System
.
out
.
println
(
"查询id: "
+
id
);
return
result
;
}
...
...
@@ -82,7 +83,7 @@ public class QueryService {
*/
public
Map
<
String
,
Object
>
queryById
(
String
id
)
{
// 需要返回的字段
String
fields
=
"[\"title\",\"appno\",\"appdate\",\"pubno\",\"pubdate\",\"legal_status\",\"granted_status\",\"patent_type\",\"ipcs\",\"agents\",\"inventors\",\"applicants\",\"owners\",\"abstract\"]"
;
String
fields
=
"[\"title\",\"
legal_status_result\",\"
appno\",\"appdate\",\"pubno\",\"pubdate\",\"legal_status\",\"granted_status\",\"patent_type\",\"ipcs\",\"agents\",\"inventors\",\"applicants\",\"owners\",\"abstract\"]"
;
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<
String
,
Object
>();
JSONObject
sourceJsonObject
=
null
;
String
query
=
new
String
(
"{\"_source\":"
+
fields
...
...
@@ -90,7 +91,6 @@ public class QueryService {
String
resultString
=
esMapper
.
postQuery
(
query
);
JSONObject
hitJsonObject
=
JSONObject
.
parseObject
(
resultString
).
getJSONObject
(
"hits"
);
JSONArray
hitsArray
=
(
JSONArray
)
hitJsonObject
.
get
(
"hits"
);
LOGGER
.
info
(
"查询出的数据有"
+
hitsArray
.
size
()+
"条!"
);
if
(
hitsArray
.
size
()
>
0
)
{
sourceJsonObject
=
hitsArray
.
getJSONObject
(
0
).
getJSONObject
(
"_source"
);
resultMap
=
parseResult
(
sourceJsonObject
);
...
...
@@ -105,7 +105,6 @@ public class QueryService {
resultMap
.
put
(
"title"
,
StringUtils
.
isNotBlank
(
cnTitle
)
?
cnTitle
:
enTitle
);
String
application_number
=
sourceJsonObject
.
getString
(
"appno"
);
resultMap
.
put
(
"application_number"
,
application_number
);
String
application_date1
=
sourceJsonObject
.
getString
(
"appdate"
);
String
application_date
=
""
;
if
(
StringUtils
.
isNotBlank
(
application_date1
))
{
...
...
@@ -123,23 +122,26 @@ public class QueryService {
+
publication_date1
.
substring
(
6
,
8
);
}
resultMap
.
put
(
"publication_date"
,
publication_date
);
String
legal_status
=
sourceJsonObject
.
getString
(
"legal_status"
);
String
legal_status
=
sourceJsonObject
.
getJSONObject
(
"legal_status_result"
).
getString
(
"legalstatus"
);
resultMap
.
put
(
"legal_status"
,
legal_status
);
String
granted_status
=
sourceJsonObject
.
getString
(
"granted_status"
);
String
granted_status
=
sourceJsonObject
.
get
JSONObject
(
"legal_status_result"
).
get
String
(
"granted_status"
);
resultMap
.
put
(
"granted_status"
,
granted_status
);
String
kind_code_desc
=
sourceJsonObject
.
getString
(
"patent_type"
);
resultMap
.
put
(
"kind_code_desc"
,
kind_code_desc
);
resultMap
.
put
(
"kind_code_desc"
,
kind_code_desc
);
JSONArray
IPC_list
=
sourceJsonObject
.
getJSONObject
(
"ipcs"
).
getJSONArray
(
"mainclass"
);
List
<
String
>
ipcNames
=
new
ArrayList
<
String
>();
for
(
int
j
=
0
;
j
<
IPC_list
.
size
();
j
++)
{
String
nameString
=
null
!=
IPC_list
.
getString
(
j
)?
PatentTypeEnum
.
parse
(
IPC_list
.
getString
(
j
)).
getMessage
().
replaceAll
(
" "
,
""
):
""
;
ipcNames
.
add
(
nameString
);
}
resultMap
.
put
(
"IPC_list"
,
IPC_list
);
//目前没有
resultMap
.
put
(
"IPC_desc"
,
""
);
// appno前两位根据另外提供的表进行匹配
resultMap
.
put
(
"IPC_desc"
,
ipcNames
);
String
appcountry
=
StringUtils
.
isNoneBlank
(
sourceJsonObject
.
getString
(
"appno"
))
?
sourceJsonObject
.
getString
(
"appno"
).
substring
(
0
,
2
)
:
""
;
resultMap
.
put
(
"appcountry"
,
appcountry
);
resultMap
.
put
(
"appcountry"
,
null
!=
TypeEnum
.
parse
(
appcountry
)?
TypeEnum
.
parse
(
appcountry
).
getMessage
().
replaceAll
(
" "
,
""
):
""
);
JSONArray
agengtObjectArray
=
sourceJsonObject
.
getJSONArray
(
"agents"
);
List
<
String
>
newAgengts
=
new
ArrayList
<
String
>();
...
...
@@ -149,7 +151,6 @@ public class QueryService {
newAgengts
.
add
(
agency
);
}
resultMap
.
put
(
"agency"
,
newAgengts
);
JSONArray
inventorObjectArray
=
sourceJsonObject
.
getJSONArray
(
"inventors"
);
List
<
String
>
newInventors
=
new
ArrayList
<
String
>();
for
(
int
i
=
0
;
i
<
inventorObjectArray
.
size
();
i
++)
{
...
...
@@ -160,7 +161,6 @@ public class QueryService {
newInventors
.
add
(
nameString
);
}
resultMap
.
put
(
"inventors"
,
newInventors
);
JSONArray
applicantsArray
=
sourceJsonObject
.
getJSONArray
(
"applicants"
);
List
<
Map
<
String
,
Object
>>
newApplicants
=
new
ArrayList
<
Map
<
String
,
Object
>>();
for
(
int
i
=
0
;
i
<
applicantsArray
.
size
();
i
++)
{
...
...
@@ -214,7 +214,6 @@ public class QueryService {
}
else
{
resultMap
.
put
(
"owners"
,
newApplicants
);
}
String
abstract1
=
StringUtils
.
isNotBlank
(
sourceJsonObject
.
getJSONObject
(
"abstract"
).
getString
(
"text_zh"
))
?
sourceJsonObject
.
getJSONObject
(
"abstract"
).
getString
(
"text_zh"
)
:
sourceJsonObject
.
getJSONObject
(
"abstract"
).
getString
(
"text_en"
);
...
...
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