Commit 46fbbcd6 authored by chuwanshun's avatar chuwanshun

增加字典映射

parent e9b1fa47
This diff is collapsed.
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;
}
}
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.getJSONObject("legal_status_result").getString("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");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment