Commit 8b653a1d by panaichi

查询科通接口对外提供

parent 98afdbc6
......@@ -115,7 +115,47 @@
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<version>3.1.11</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>3.1.11</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-extension-providers</artifactId>
<version>3.1.11</version>
</dependency>
<!--zhangsh add by 2021-01-11 benin 全国请求服务专用jar-->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<version>3.1.11</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.11</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-rt-frontend-jaxrs -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>3.1.11</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-rt-rs-extension-providers -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-extension-providers</artifactId>
<version>3.1.11</version>
</dependency>
</dependencies>
......
package com.founder.controller;
import cn.hutool.core.date.DateUtil;
import com.founder.common.IpADdress;
import com.founder.common.IpADressLock;
import com.founder.common.LogsUtil;
......@@ -9,6 +10,7 @@ import com.founder.service.XxcxService;
import com.founder.util.QgryckUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -16,9 +18,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.*;
@RestController
@RequestMapping(value="/xxcx",produces = "application/json; charset=utf-8")
......@@ -258,4 +258,379 @@ public class XxcxController {
}
return reslt;
}
//航班出行查询
@RequestMapping("/hbcxxxcx")
public Result hbcxcx(HttpServletRequest requestIp, Params params){
Result result = new Result();
String xxscPdbz = "1";
try{
HttpServletRequest request = IpADdress.getRequest();
String header = request.getHeader("founder.authorization");
if(StringUtils.isEmpty(header) || !hmAuthor.equals(header)){
result.setData(new ArrayList<>());
result.setMsg("没有授权码或者授权码验证未通过,不能查询!");
result.setStatus("fail");
return result;
}
String sfzh = params.getSfzh();
if (StringUtils.isEmpty(sfzh)){
result.setStatus("error");
result.setMsg("请输入身份证号");
}
Date startDate = params.getStartDate();
Date endDate = params.getEndDate();
if (endDate == null || startDate == null){
result.setStatus("error");
result.setMsg("请输入起始日期和结束日期");
}
int days = (int) ((endDate.getTime() - startDate.getTime()) / (1000));
if (days > 183 * 24 * 3600) {
result.setStatus("error");
result.setMsg("日期间隔过大,日期最大只能相差183天");
}
String dateStr = DateUtil.format(startDate, "yyyyMMddHHmmss") + "," + DateUtil.format(endDate, "yyyyMMddHHmmss");
String data = xxcxService.getHbcxxxBySfzh(params.getSfzh(), dateStr);
result.setData(data);
result.setMsg("航班出行信息查询成功");
result.setStatus("success");
xxscPdbz = "0";
}catch (Exception e){
result.setData(params);
result.setMsg("航班出行信息查询失败\n"+e.getMessage());
result.setStatus("error");
e.printStackTrace();
}finally {
sysGnsyrzOpenApiService.insertGNSYRZOPENAPI("454","信息查询-航班出行信息查询",
LogsUtil.getNotEmptyFiled(params).toString(),"","","460000000000","海南刑专电诈骗","",
ipADressLock.getAddressIp(requestIp),"1", xxscPdbz);
}
return result;
}
//航班订票查询
@RequestMapping("/hbdpxxcx")
public Result hbdpcx(HttpServletRequest requestIp, Params params){
Result result = new Result();
String xxscPdbz = "1";
try{
HttpServletRequest request = IpADdress.getRequest();
String header = request.getHeader("founder.authorization");
if(StringUtils.isEmpty(header) || !hmAuthor.equals(header)){
result.setData(new ArrayList<>());
result.setMsg("没有授权码或者授权码验证未通过,不能查询!");
result.setStatus("fail");
return result;
}
String sfzh = params.getSfzh();
if (StringUtils.isEmpty(sfzh)){
result.setStatus("error");
result.setMsg("请输入身份证号");
}
Date startDate = params.getStartDate();
Date endDate = params.getEndDate();
if (endDate == null || startDate == null){
result.setStatus("error");
result.setMsg("请输入起始日期和结束日期");
}
int days = (int) ((endDate.getTime() - startDate.getTime()) / (1000));
if (days > 183 * 24 * 3600) {
result.setStatus("error");
result.setMsg("日期间隔过大,日期最大只能相差183天");
}
String dateStr = DateUtil.format(startDate, "yyyyMMddHHmmss") + "," + DateUtil.format(endDate, "yyyyMMddHHmmss");
String data = xxcxService.getHbdpxxBySfzh(params.getSfzh(), dateStr);
result.setData(data);
result.setMsg("航班订票信息查询成功");
result.setStatus("success");
xxscPdbz = "0";
}catch (Exception e){
result.setData(params);
result.setMsg("航班订票信息查询失败\n"+e.getMessage());
result.setStatus("error");
e.printStackTrace();
}finally {
sysGnsyrzOpenApiService.insertGNSYRZOPENAPI("455","信息查询-航班订票信息查询",
LogsUtil.getNotEmptyFiled(params).toString(),"","","460000000000","海南刑专电诈骗","",
ipADressLock.getAddressIp(requestIp),"1", xxscPdbz);
}
return result;
}
//火车订票查询
@RequestMapping("/hcdpxxcx")
public Result hcdpcx(HttpServletRequest requestIp, Params params){
Result result = new Result();
String xxscPdbz = "1";
try{
HttpServletRequest request = IpADdress.getRequest();
String header = request.getHeader("founder.authorization");
if(StringUtils.isEmpty(header) || !hmAuthor.equals(header)){
result.setData(new ArrayList<>());
result.setMsg("没有授权码或者授权码验证未通过,不能查询!");
result.setStatus("fail");
return result;
}
String sfzh = params.getSfzh();
if (StringUtils.isEmpty(sfzh)){
result.setStatus("error");
result.setMsg("请输入身份证号");
}
Date startDate = params.getStartDate();
Date endDate = params.getEndDate();
if (endDate == null || startDate == null){
result.setStatus("error");
result.setMsg("请输入起始日期和结束日期");
}
int days = (int) ((endDate.getTime() - startDate.getTime()) / (1000));
if (days > 183 * 24 * 3600) {
result.setStatus("error");
result.setMsg("日期间隔过大,日期最大只能相差183天");
}
String dateStr = DateUtil.format(startDate, "yyyyMMddHHmmss") + "," + DateUtil.format(endDate, "yyyyMMddHHmmss");
String data = xxcxService.getHcdpxxBySfzh(params.getSfzh(), dateStr);
result.setData(data);
result.setMsg("火车订票信息查询成功");
result.setStatus("success");
xxscPdbz = "0";
}catch (Exception e){
result.setData(params);
result.setMsg("火车订票信息查询失败\n"+e.getMessage());
result.setStatus("error");
e.printStackTrace();
}finally {
sysGnsyrzOpenApiService.insertGNSYRZOPENAPI("456","信息查询-火车订票信息查询",
LogsUtil.getNotEmptyFiled(params).toString(),"","","460000000000","海南刑专电诈骗","",
ipADressLock.getAddressIp(requestIp),"1", xxscPdbz);
}
return result;
}
//港口出行查询
@RequestMapping("/gkcxxxcx")
public Result gkcxcx(HttpServletRequest requestIp, Params params){
Result result = new Result();
String xxscPdbz = "1";
try{
HttpServletRequest request = IpADdress.getRequest();
String header = request.getHeader("founder.authorization");
if(StringUtils.isEmpty(header) || !hmAuthor.equals(header)){
result.setData(new ArrayList<>());
result.setMsg("没有授权码或者授权码验证未通过,不能查询!");
result.setStatus("fail");
return result;
}
String sfzh = params.getSfzh();
if (StringUtils.isEmpty(sfzh)){
result.setStatus("error");
result.setMsg("请输入身份证号");
}
Date startDate = params.getStartDate();
Date endDate = params.getEndDate();
if (endDate == null || startDate == null){
result.setStatus("error");
result.setMsg("请输入起始日期和结束日期");
}
int days = (int) ((endDate.getTime() - startDate.getTime()) / (1000));
if (days > 183 * 24 * 3600) {
result.setStatus("error");
result.setMsg("日期间隔过大,日期最大只能相差183天");
}
String dateStr = DateUtil.format(startDate, "yyyyMMddHHmmss") + "," + DateUtil.format(endDate, "yyyyMMddHHmmss");
String data = xxcxService.getGkxxBySfzh(params.getSfzh(), dateStr);
result.setData(data);
result.setMsg("港口出行信息查询成功");
result.setStatus("success");
xxscPdbz = "0";
}catch (Exception e){
result.setData(params);
result.setMsg("港口出行信息查询失败\n"+e.getMessage());
result.setStatus("error");
e.printStackTrace();
}finally {
sysGnsyrzOpenApiService.insertGNSYRZOPENAPI("457","信息查询-港口出行信息查询",
LogsUtil.getNotEmptyFiled(params).toString(),"","","460000000000","海南刑专电诈骗","",
ipADressLock.getAddressIp(requestIp),"1", xxscPdbz);
}
return result;
}
//客运出行查询
@RequestMapping("/kycxxxcx")
public Result kycxcx(HttpServletRequest requestIp, Params params){
Result result = new Result();
String xxscPdbz = "1";
try{
HttpServletRequest request = IpADdress.getRequest();
String header = request.getHeader("founder.authorization");
if(StringUtils.isEmpty(header) || !hmAuthor.equals(header)){
result.setData(new ArrayList<>());
result.setMsg("没有授权码或者授权码验证未通过,不能查询!");
result.setStatus("fail");
return result;
}
Date startDate = params.getStartDate();
Date endDate = params.getEndDate();
if (endDate == null || startDate == null){
result.setStatus("error");
result.setMsg("请输入起始日期和结束日期");
}
int days = (int) ((endDate.getTime() - startDate.getTime()) / (1000));
if (days > 183 * 24 * 3600) {
result.setStatus("error");
result.setMsg("日期间隔过大,日期最大只能相差183天");
}
String dateStr = DateUtil.format(startDate, "yyyyMMddHHmmss") + "," + DateUtil.format(endDate, "yyyyMMddHHmmss");
String data = xxcxService.getKyxxBySfzh(params.getCcrSfzh(), params.getDprSfzh(), dateStr);
result.setData(data);
result.setMsg("客运出行信息查询成功");
result.setStatus("success");
xxscPdbz = "0";
}catch (Exception e){
result.setData(params);
result.setMsg("客运出行信息查询失败\n"+e.getMessage());
result.setStatus("error");
e.printStackTrace();
}finally {
sysGnsyrzOpenApiService.insertGNSYRZOPENAPI("458","信息查询-客运出行信息查询",
LogsUtil.getNotEmptyFiled(params).toString(),"","","460000000000","海南刑专电诈骗","",
ipADressLock.getAddressIp(requestIp),"1", xxscPdbz);
}
return result;
}
//车辆经过卡口过车信息查询
@RequestMapping("/cljgkkgcxxcx")
public Result cljgkkgcxxcx(HttpServletRequest requestIp, Params params){
Result result = new Result();
String xxscPdbz = "1";
try{
HttpServletRequest request = IpADdress.getRequest();
String header = request.getHeader("founder.authorization");
if(StringUtils.isEmpty(header) || !hmAuthor.equals(header)){
result.setData(new ArrayList<>());
result.setMsg("没有授权码或者授权码验证未通过,不能查询!");
result.setStatus("fail");
return result;
}
String cph = params.getCph();
if (StringUtils.isEmpty(cph)){
result.setStatus("error");
result.setMsg("请输入车牌号");
}
Date startDate = params.getStartDate();
Date endDate = params.getEndDate();
if (endDate == null || startDate == null){
result.setStatus("error");
result.setMsg("请输入起始日期和结束日期");
}
int hours = (int) ((endDate.getTime() - startDate.getTime()) / (1000));
if (hours > 2 * 3600) {
result.setStatus("error");
result.setMsg("时间间隔过大,时间最大只能相差2小时");
}
String dateStr = DateUtil.format(startDate, "yyyyMMddHHmmss") + "," + DateUtil.format(endDate, "yyyyMMddHHmmss");
String data = xxcxService.getGcxx(params.getCph(), dateStr);
result.setData(data);
result.setMsg("车辆经过卡口过车信息查询成功");
result.setStatus("success");
xxscPdbz = "0";
}catch (Exception e){
result.setData(params);
result.setMsg("车辆经过卡口过车信息查询失败\n"+e.getMessage());
result.setStatus("error");
e.printStackTrace();
}finally {
sysGnsyrzOpenApiService.insertGNSYRZOPENAPI("463","信息查询-车辆经过卡口过车信息查询",
LogsUtil.getNotEmptyFiled(params).toString(),"","","460000000000","海南刑专电诈骗","",
ipADressLock.getAddressIp(requestIp),"1", xxscPdbz);
}
return result;
}
//车辆经卡口最后过车信息查询
@RequestMapping("/cljkkzhgcxxcx")
public Result cljkkzhgcxxcx(HttpServletRequest requestIp, Params params){
Result result = new Result();
String xxscPdbz = "1";
try{
HttpServletRequest request = IpADdress.getRequest();
String header = request.getHeader("founder.authorization");
if(StringUtils.isEmpty(header) || !hmAuthor.equals(header)){
result.setData(new ArrayList<>());
result.setMsg("没有授权码或者授权码验证未通过,不能查询!");
result.setStatus("fail");
return result;
}
String cph = params.getCph();
if (StringUtils.isEmpty(cph)){
result.setStatus("error");
result.setMsg("请输入车牌号");
}
String data = xxcxService.getZhgcxx(params.getCph());
result.setData(data);
result.setMsg("车辆经卡口最后过车信息查询成功");
result.setStatus("success");
xxscPdbz = "0";
}catch (Exception e){
result.setData(params);
result.setMsg("车辆经卡口最后过车信息查询失败\n"+e.getMessage());
result.setStatus("error");
e.printStackTrace();
}finally {
sysGnsyrzOpenApiService.insertGNSYRZOPENAPI("464","信息查询-车辆经卡口最后过车信息查询",
LogsUtil.getNotEmptyFiled(params).toString(),"","","460000000000","海南刑专电诈骗","",
ipADressLock.getAddressIp(requestIp),"1", xxscPdbz);
}
return result;
}
//卡口编号过车信息查询
@RequestMapping("/kkbhgcxxcx")
public Result kkbhgcxxcx(HttpServletRequest requestIp, Params params){
Result result = new Result();
String xxscPdbz = "1";
try{
HttpServletRequest request = IpADdress.getRequest();
String header = request.getHeader("founder.authorization");
if(StringUtils.isEmpty(header) || !hmAuthor.equals(header)){
result.setData(new ArrayList<>());
result.setMsg("没有授权码或者授权码验证未通过,不能查询!");
result.setStatus("fail");
return result;
}
String kkbh = params.getKkbh();
if (StringUtils.isEmpty(kkbh)){
result.setStatus("error");
result.setMsg("请输入卡口编号");
}
Date startDate = params.getStartDate();
Date endDate = params.getEndDate();
if (endDate == null || startDate == null){
result.setStatus("error");
result.setMsg("请输入起始日期和结束日期");
}
int hours = (int) ((endDate.getTime() - startDate.getTime()) / (1000));
if (hours > 2 * 3600) {
result.setStatus("error");
result.setMsg("时间间隔过大,时间最大只能相差2小时");
}
String dateStr = DateUtil.format(startDate, "yyyyMMddHHmmss") + "," + DateUtil.format(endDate, "yyyyMMddHHmmss");
String data = xxcxService.getKkxx(params.getKkbh(), dateStr);
result.setData(data);
result.setMsg("卡口编号过车信息查询成功");
result.setStatus("success");
xxscPdbz = "0";
}catch (Exception e){
result.setData(params);
result.setMsg("卡口编号过车信息查询失败\n"+e.getMessage());
result.setStatus("error");
e.printStackTrace();
}finally {
sysGnsyrzOpenApiService.insertGNSYRZOPENAPI("465","信息查询-卡口编号过车信息查询",
LogsUtil.getNotEmptyFiled(params).toString(),"","","460000000000","海南刑专电诈骗","",
ipADressLock.getAddressIp(requestIp),"1", xxscPdbz);
}
return result;
}
}
package com.founder.model;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @autohor liuyx
* @date 2021年07月07日17:04
*/
public class Params implements Serializable{
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date startDate;
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date endDate;
private String sfzh;
private String ccrSfzh; //乘车人身份证号
private String dprSfzh; //订票人身份证号
private String cph; //车牌号
private String kkbh; //卡口编号
public Date getStartDate() {
return startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public Date getEndDate() {
return endDate;
}
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
public String getSfzh() {
return sfzh;
}
public void setSfzh(String sfzh) {
this.sfzh = sfzh;
}
public String getCcrSfzh() {
return ccrSfzh;
}
public void setCcrSfzh(String ccrSfzh) {
this.ccrSfzh = ccrSfzh;
}
public String getDprSfzh() {
return dprSfzh;
}
public void setDprSfzh(String dprSfzh) {
this.dprSfzh = dprSfzh;
}
public String getCph() {
return cph;
}
public void setCph(String cph) {
this.cph = cph;
}
public String getKkbh() {
return kkbh;
}
public void setKkbh(String kkbh) {
this.kkbh = kkbh;
}
}
......@@ -3,6 +3,7 @@ package com.founder.service;
import com.founder.model.*;
import java.util.List;
import java.util.Map;
public interface XxcxService {
......@@ -18,4 +19,22 @@ public interface XxcxService {
List<TbZhzxJjxxView> queryJjxx(TbZhzxJjxxView param);
List<TbZhzxCjxxView> queryCjxx(TbZhzxCjxxView param);
//航班出行信息查询
String getHbcxxxBySfzh(String sfzh, String dateStr) throws Exception;
//航班订票信息查询
String getHbdpxxBySfzh(String sfzh, String dateStr) throws Exception;
//火车订票信息查询
String getHcdpxxBySfzh(String sfzh, String dateStr) throws Exception;
//港口出行信息查询
String getGkxxBySfzh(String sfzh, String dateStr) throws Exception;
//客运出行信息查询
String getKyxxBySfzh(String ccrSfzh, String dprSfzh, String dateStr) throws Exception;
//车辆经过卡口过车信息查询
String getGcxx(String cph, String dateStr) throws Exception;
//车辆经卡口最后过车信息查询
String getZhgcxx(String cph) throws Exception;
//卡口编号过车信息查询
String getKkxx(String kkbh, String dateStr) throws Exception;
}
package com.founder.service.impl;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.founder.dao.XxcxDao;
import com.founder.model.*;
import com.founder.service.XxcxService;
import com.founder.util.KtInterfaceUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
@Service
public class XxcxServiceImpl implements XxcxService {
......@@ -202,4 +204,112 @@ public class XxcxServiceImpl implements XxcxService {
}
return result;
}
@Override
public String getHbcxxxBySfzh(String sfzh, String dateStr) throws Exception {
JSONObject param = new JSONObject();
param.put("expr", "FORM_ZJHM='" + sfzh + "'");
param.put("btw", dateStr);
String resultJson = KtInterfaceUtils.getDateByJsonParam(KtInterfaceUtils.HBCX, param.toString());
return resultJson;
}
@Override
public String getHbdpxxBySfzh(String sfzh, String dateStr) throws Exception {
JSONObject param = new JSONObject();
param.put("expr", "FORM_ZJHM='" + sfzh + "'");
param.put("btw", dateStr);
String resultJson = KtInterfaceUtils.getDateByJsonParam(KtInterfaceUtils.HBDP, param.toString());
return resultJson;
}
@Override
public String getHcdpxxBySfzh(String sfzh, String dateStr) throws Exception {
JSONObject param = new JSONObject();
param.put("expr", "FORM_ID_NO='" + sfzh + "'");
param.put("btw", dateStr);
String resultJson = KtInterfaceUtils.getDateByJsonParam(KtInterfaceUtils.HCDP, param.toString());
return resultJson;
}
@Override
public String getGkxxBySfzh(String sfzh, String dateStr) throws Exception {
JSONObject param = new JSONObject();
param.put("expr", "FORM_ZJHM='" + sfzh + "'");
param.put("btw", dateStr);
String resultJson = KtInterfaceUtils.getDateByJsonParam(KtInterfaceUtils.GKCX, param.toString());
return resultJson;
}
@Override
public String getKyxxBySfzh(String ccrSfzh, String dprSfzh, String dateStr) throws Exception {
JSONObject param = new JSONObject();
int flag = 0;
if (!StringUtils.isEmpty(ccrSfzh)) {
param.put("expr", "FORM_ZJHM='" + ccrSfzh + "'");
flag++;
}
if (!StringUtils.isEmpty(dprSfzh)) {
param.put("expr", "FORM_O_ZJHM='" + ccrSfzh + "'");
flag++;
}
if (flag == 0) {
throw new Exception("请输入订票人或乘车人身份证号");
} else if (flag == 2) {
throw new Exception("订票人和乘车人身份证号不能同时存在");
}
param.put("btw", dateStr);
String resultJson = KtInterfaceUtils.getDateByJsonParam(KtInterfaceUtils.KYCX, param.toString());
return resultJson;
}
/**
* 车辆经过卡口过车信息
* 车牌号码+时间段(THROUGH_TIME+2小时)
* PLATE_NUMBER='琼B56556'
FORM_THROUGH_TIME
*/
@Override
public String getGcxx(String cph, String dateStr) throws Exception {
JSONObject ret=new JSONObject();
try {
ret.put("expr", "PLATE_NUMBER=" + cph);
ret.put("btw", dateStr);
} catch (JSONException e) {
e.printStackTrace();
}
String resultJson = KtInterfaceUtils.getDateByJsonParam(KtInterfaceUtils.CLJGKKXX,ret.toString());
return resultJson;
}
@Override
public String getZhgcxx(String cph) throws Exception {
JSONObject ret=new JSONObject();
try {
ret.put("expr", "PLATE_NUMBER=" + cph);
} catch (JSONException e) {
e.printStackTrace();
}
String resultJson = KtInterfaceUtils.getDateByJsonParam(KtInterfaceUtils.CLJGKKZHGCXX,ret.toString());
return resultJson;
}
/**
* 卡口过车信息
* 卡口编号(POINT_ID)+时间段(THROUGH_TIME+2小时)
* POINT_ID='469007140000515759'
*/
@Override
public String getKkxx(String kkbh, String dateStr) throws Exception {
JSONObject ret=new JSONObject();
try {
ret.put("expr", "POINT_ID=" + kkbh);
ret.put("btw", dateStr);
} catch (JSONException e) {
e.printStackTrace();
}
String resultJson = KtInterfaceUtils.getDateByJsonParam(KtInterfaceUtils.KKXX,ret.toString());
return resultJson;
}
}
package com.founder.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.apache.cxf.jaxrs.client.WebClient;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 科信接口查询工具类
*/
@Slf4j
@Service
public class KtInterfaceUtils {
public static final String HBCX = "00454";//航班出行查询
public static final String HBDP = "00455";//航班订票查询
public static final String HCDP = "00456";//火车订票查询
public static final String GKCX = "00457";//港口出行查询
public static final String KYCX = "00458";//客运出行查询
public static final String CLJGKKXX = "00463";//车辆经过卡口过车信息查询
public static final String CLJGKKZHGCXX = "00464";//车辆经卡口最后过车信息查询
public static final String KKXX = "00465";//卡口编号过车信息查询
private static String ktUrl;
@Value("${ktUrl}")
private void setKtUrl(String ktUrl) {
KtInterfaceUtils.ktUrl = ktUrl;
}
public static String getDateByJsonParam(String pathNum, String param) {
try {
System.out.println(param);
WebClient client = WebClient.create(ktUrl); //请求地址
client.header("apikey", "AZNB46000000000000032"); //刑总三期APIKEY
client.accept(String.valueOf(MediaType.APPLICATION_JSON)).path("S-460000000000-ZNB-22-" + pathNum).query("param", param);
String rets = client.get(String.class);
System.out.println(rets);
client.close();
return rets;
} catch (Exception e) {
JSONObject json = new JSONObject();
json.put("result", "fail");
json.put("errorcode", "201");
json.put("errordescription", e.getMessage());
return json.toString();
}
}
public static List<Map<String, String>> getMapByJson(String json) throws Exception {
List<Map<String, String>> resultList = new ArrayList<>();
JSONObject jsonObject = JSON.parseObject(json);
Object result = jsonObject.get("result");
if ("fail".equals(result.toString())) {
throw new Exception(jsonObject.get("errordescription").toString());
}
JSONArray datas = jsonObject.getJSONArray("datas");
JSONArray fields = jsonObject.getJSONArray("fields");
if (datas == null || datas.size() == 0) {
return null;
}
for (int i = 0; i < datas.size(); i++) {
JSONArray data = datas.getJSONArray(i);
HashMap<String, String> resultMap = new HashMap<>();
for (int j = 0; j < fields.size(); j++) {
resultMap.put(fields.get(j).toString(), data.get(j).toString());
}
resultList.add(resultMap);
}
return resultList;
}
public static List<Map<String, String>> getMapByJson2(String json) throws Exception {
List<Map<String, String>> resultList = new ArrayList<>();
JSONObject jsonObject = JSON.parseObject(json);
Object result = jsonObject.get("result");
if ("fail".equals(result.toString())) {
throw new Exception(jsonObject.get("errordescription").toString());
}
JSONArray datas = jsonObject.getJSONArray("datas");
JSONArray fields = jsonObject.getJSONArray("fields");
if (datas == null || datas.size() == 0) {
return null;
}
HashMap<String, String> resultMap = new HashMap<>();
for (int i = 0; i < fields.size(); i++) {
resultMap.put(fields.get(i).toString(), datas.get(i).toString());
}
resultList.add(resultMap);
return resultList;
}
}
......@@ -73,3 +73,4 @@ codemsg:
- code: "010104"
name: "用户身份证信息有误"
ktUrl: http://74.6.57.208:30030/
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