企查查接口full的实现
第一次写可能会有错误也可能不好,不喜勿喷
package net.atrunning.framework.qichacha;
import static java.lang.System.out;
import java.io.IOException;
import java.util.List;
import java.util.regex.Pattern;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.http.client.methods.HttpHead;
import org.json.JSONException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import net.atrunning.framework.qichacha.entity.Qichacha;
import net.atrunning.framework.qichacha.full.entity.QichachaFull;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
* 获取企查查平台接口中的数据
* @author Administrator
*
*/
public class QueryToQichachaFullUtil {
// 请登录http://yjapi.com/DataCenter/MyData
// 查看我的秘钥 我的Key
private static final String appkey = "4ccb4a60ba9f46fb8d460565d1ad418c";
private static final String seckey = "91C75AAA1F89D6E4435EE11F4B9246CD";
public static QichachaFull Company(String reqInterNme,String keyWord) throws Exception {
out.println("开始连接企查查接口平台!!");
String status = "";
// auth header setting
HttpHead reqHeader = new HttpHead();
String[] autherHeader = RandomAuthentHeader();
reqHeader.setHeader("Token", autherHeader[0]);
reqHeader.setHeader("Timespan", autherHeader[1]);
final String reqUri = reqInterNme.concat("?key=").concat(appkey).concat("&").concat(keyWord);
String tokenJson ="";
tokenJson = HttpClientUtil.httpGet(reqUri, reqHeader.getAllHeaders());
QichachaFull qichachaFull = new QichachaFull();
status = FormartJson(tokenJson, "Status");
if(!StringUtils.equals(status, "200")) {
return null;
}
StringBuilder sbBuilder = new StringBuilder();
//将从企查查接口获取到的json字符串转换为JSONObject
JSONObject jObject = JSONObject.fromObject(tokenJson);
//获得结果集(多层嵌套有JsonArray ,JsonObject, String)
JSONObject resultJsonObject = (JSONObject) jObject.get("Result");
//存放json数组中的数据
JSONObject arrayObject = null;
//提前准备用于存放JSONObject中的字符串
String arrayObjectStr= "";
out.println( "result:"+resultJsonObject.toString());
//获得结果集中的行政许可信息
JSONArray permissionInfoArry = (JSONArray) resultJsonObject.get("PermissionInfo");
for(int i = 0 ; i<permissionInfoArry.size();i++) {
arrayObject = (JSONObject) permissionInfoArry.get(i);
//项目名称
arrayObjectStr = parsejson(arrayObject, "Name");
sbBuilder.append("项目名称:"+arrayObjectStr);
//地域
arrayObjectStr = parsejson(arrayObject, "Province");
sbBuilder.append(",地域:"+arrayObjectStr);
//决定日期
arrayObjectStr = parsejson(arrayObject, "Liandate");
sbBuilder.append(",决定日期:"+arrayObjectStr);
//决定文书号
arrayObjectStr = parsejson(arrayObject, "CaseNo");
sbBuilder.append(",决定文书号:"+arrayObjectStr+";");
}
out.println("行政许可信息:"+sbBuilder.toString());
qichachaFull.setQccPermissioninfo(sbBuilder.toString());
sbBuilder.setLength(0);//清空sbBuilder到的内容下次使用
//获得结果集中的行政处罚信息
JSONArray penaltyArry = (JSONArray) resultJsonObject.get("Penalty");
if(penaltyArry.size()>0) {
for(int i = 0 ; i<penaltyArry.size();i++) {
arrayObject = (JSONObject) penaltyArry.get(i);
//行政处罚决定书文号
arrayObjectStr = parsejson(arrayObject, "DocNo");
sbBuilder.append("行政处罚决定书文号:"+arrayObjectStr);
//违法行为类型
arrayObjectStr = parsejson(arrayObject, "PenaltyType");
sbBuilder.append(",违法行为类型:"+arrayObjectStr);
//行政处罚决定机关名称
arrayObjectStr = parsejson(arrayObject, "OfficeName");
sbBuilder.append(",行政处罚决定机关名称:"+arrayObjectStr);
//行政处罚内容
arrayObjectStr = parsejson(arrayObject, "Content");
sbBuilder.append(",行政处罚内容:"+arrayObjectStr);
//作出行政处罚决定日期
arrayObjectStr = parsejson(arrayObject, "PenaltyDate");
sbBuilder.append(",行政处罚决定日期:"+arrayObjectStr);
//作出行政公示日期
arrayObjectStr = parsejson(arrayObject, "PublicDate");
sbBuilder.append(",行政公示日期:"+arrayObjectStr);
//备注
String Remark = parsejson(arrayObject, "Remark");
sbBuilder.append(",备注:"+Remark+";");
}
out.println("行政处罚:"+sbBuilder.toString());
qichachaFull.setQccPenalty(sbBuilder.toString());
sbBuilder.setLength(0);//清空
}
//获得结果集中的经营异常信息
JSONArray exceptionsyArry = (JSONArray) resultJsonObject.get("Exceptions");
if(exceptionsyArry.size()>0) {
for (int i = 0; i < exceptionsyArry.size(); i++) {
arrayObject = (JSONObject) penaltyArry.get(i);
//列入经营异常名录原因
arrayObjectStr = parsejson(arrayObject, "AddReason");
sbBuilder.append("列入经营异常名录原因:"+arrayObjectStr);
//列入日期
arrayObjectStr = parsejson(arrayObject, "AddDate");
sbBuilder.append(",列入日期:"+arrayObjectStr);
//移出经营异常名录原因
arrayObjectStr = parsejson(arrayObject, "RomoveReason");
sbBuilder.append(",移出经营异常名录原因:"+arrayObjectStr);
//移出日期
arrayObjectStr = parsejson(arrayObject, "RemoveDate");
sbBuilder.append(",移出日期:"+arrayObjectStr);
//作出决定机关
arrayObjectStr = parsejson(arrayObject, "DecisionOffice");
sbBuilder.append(",决定机关:"+arrayObjectStr);
//移除决定机关
arrayObjectStr = parsejson(arrayObject, "RemoveDecisionOffice");
sbBuilder.append(",移除决定机关:"+arrayObjectStr+";");
}
qichachaFull.setQccExceptions(sbBuilder.toString());
sbBuilder.setLength(0);
}
//获得结果集中的失信信息
JSONArray shiXinItemsArry = (JSONArray) resultJsonObject.get("ShiXinItems");
if(shiXinItemsArry.size()>0) {
for (int i = 0; i < shiXinItemsArry.size(); i++) {
arrayObject = (JSONObject) shiXinItemsArry.get(i);
//公司名
arrayObjectStr = parsejson(arrayObject, "AddDate");
sbBuilder.append("公司名:"+arrayObjectStr);
//立案日期
arrayObjectStr = parsejson(arrayObject, "Liandate");
sbBuilder.append(",立案日期:"+arrayObjectStr);
//立案文书号
arrayObjectStr = parsejson(arrayObject, "Anno");
sbBuilder.append(",立案文书号:"+arrayObjectStr);
//组织机构代码
arrayObjectStr = parsejson(arrayObject, "Orgno");
sbBuilder.append(",组织机构代码:"+arrayObjectStr);
//执行依据文号
arrayObjectStr = parsejson(arrayObject, "Executeno");
sbBuilder.append(",执行依据文号:"+arrayObjectStr);
//发布时间
arrayObjectStr = parsejson(arrayObject, "Publicdate");
sbBuilder.append(",发布时间:"+arrayObjectStr);
//被执行人的履行情况
arrayObjectStr = parsejson(arrayObject, "Executestatus");
sbBuilder.append(",被执行人的履行情况:"+arrayObjectStr);
//行为备注
arrayObjectStr = parsejson(arrayObject, "Actionremark");
sbBuilder.append(",行为备注:"+arrayObjectStr);
//执行法院
arrayObjectStr = parsejson(arrayObject, "Executegov");
sbBuilder.append(",执行法院:"+arrayObjectStr+";");
}
qichachaFull.setQccShixinitems(sbBuilder.toString());
sbBuilder.setLength(0);
}
//获得结果集中的执行信息
JSONArray zhiXingItemsArry = (JSONArray) resultJsonObject.get("ZhiXingItems");
if(zhiXingItemsArry.size()>0) {
for<