提交 28adf5a2 作者: ZhangJingKun

1

上级 10acbf00
......@@ -68,6 +68,12 @@
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>com.mashape.unirest</groupId>
<artifactId>unirest-java</artifactId>
<version>1.4.9</version>
</dependency>
</dependencies>
<build>
......
package com.zzsn.csmfagov.controller;
import com.zzsn.csmfagov.server.QixinServer;
import com.zzsn.csmfagov.vo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* 启信宝接口对外提供服务
*/
@RestController
@RequestMapping("/personInfo/api")
@Slf4j
public class QixinController {
@Autowired
QixinServer qixinServer;
/**
* 59.5 主要人员对外投资任职信息
* @param company
* @param name
* @return
*/
@GetMapping("/getNPInvestAndPositionByName")
public String getNPInvestAndPositionByName(
@RequestParam(name="company") String company,
@RequestParam(name="name") String name){
log.info("查询入参:{}---{}", company, name);
return qixinServer.getNPInvestAndPositionByName(company, name);
}
}
package com.zzsn.csmfagov.server;
import com.zzsn.csmfagov.vo.Result;
public interface QixinServer {
String getNPInvestAndPositionByName(String company, String name);
}
package com.zzsn.csmfagov.server.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.zzsn.csmfagov.server.QixinServer;
import com.zzsn.csmfagov.vo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.security.MessageDigest;
import java.nio.charset.StandardCharsets;
import java.util.*;
import com.mashape.unirest.http.*;
@Service
@Slf4j
public class QixinServerImpl implements QixinServer {
String baseUrl = "https://api.qixin.com/APIService/personInfo/getNPInvestAndPositionByName";
String appkey = "2e46b0d9-7352-43c0-b800-9d7f5e1de8e5";
String secretKey = "b6183639-2045-47fb-9640-90905e7b53b6";
@Override
public String getNPInvestAndPositionByName(String company, String name) {
Calendar calendar = Calendar.getInstance();
Long timestamp = calendar.getTime().getTime();
String sign = getMD5Str(appkey + timestamp + secretKey);
// 设置url参数
Map<String, String> urlParams = new HashMap<String, String>();
urlParams.put("company", company);
urlParams.put("name", name);
List<String> concatParams = new ArrayList<String>();
for (String s : urlParams.keySet()) {
try {
concatParams.add(s + "=" + URLEncoder.encode(urlParams.get(s), "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
Unirest.setTimeouts(0, 2000);
try {
// 发送get请求,得到响应
HttpResponse<String> response = Unirest.get(baseUrl + "?" + String.join("&", concatParams))
.header("Auth-version", "2.0")
.header("appkey", appkey)
.header("timestamp", timestamp + "")
.header("sign", sign)
.header("Content-Type", "application/json")
.asString();
String body = response.getBody();
log.info("body---{}",body);
JSONObject jsonObject = JSON.parseObject(body, JSONObject.class);
String status = jsonObject.getString("status");
Integer i = Integer.valueOf(status);
//响应状态码在200-209时直接返回
if(i >= 200 && i <= 209){
return body;
} else {
JSONObject res = new JSONObject();
res.put("status","500");
res.put("message","操作失败,请联系技术人员");
return JSON.toJSONString(res);
}
} catch (Exception e) {
e.printStackTrace();
}
JSONObject res = new JSONObject();
res.put("status","501");
res.put("message","接口异常,请联系技术人员");
return JSON.toJSONString(res);
}
// 获取字符串的md5值
private String getMD5Str(String str) {
byte[] digest = null;
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes(StandardCharsets.UTF_8));
digest = md.digest();
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
String s = String.format("%02x", b);
sb.append(s);
}
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
......@@ -5,21 +5,21 @@ spring:
elasticsearch:
rest:
uris: ["114.115.215.250:9700"]
uris: ["1.95.38.69:9700"]
username: elastic
password: zzsn9988
redis:
database: 0
host: 114.116.90.53
password: clbzzsn
password: RPHZgkDQ4zGJ
port: 6380
es1:
endpoint1: 114.115.215.250
endpoint1: 1.95.38.69
endpoint1port: 9700
endpoint2: 114.116.19.92
endpoint2: 1.95.87.177
endpoint2port: 9700
endpoint3: 114.116.54.108
endpoint3: 1.95.3.121
endpoint3port: 9200
username: elastic
password: zzsn9988
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论