Commit 5b9ee77e authored by 周健威's avatar 周健威

修改实名认证

parent adfbd26c
......@@ -2,6 +2,7 @@ package com.xxfc.platform.universal.service.PictureParsing.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xxfc.platform.universal.entity.IDCardInformation;
......@@ -14,7 +15,13 @@ import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.util.EntityUtils;
import org.springframework.stereotype.Service;
import sun.misc.BASE64Encoder;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
......@@ -28,7 +35,9 @@ import java.util.Map;
public class XCFQPictureParsingImpl implements UserPictureParsing {
// private String appcode = "acea1c8811f748b3a65815f11db357c4";
private String appcode2 = "ee7710ce92054cae9f6c040f6864e6a7";
// private String appcode2 = "ee7710ce92054cae9f6c040f6864e6a7";
//潮惠玩
private String appcode2 = "acea1c8811f748b3a65815f11db357c4";
/**
* 认证相关的数据
......@@ -75,7 +84,7 @@ public class XCFQPictureParsingImpl implements UserPictureParsing {
}
private Map<String,String> judgeAccordingToAnalyticalData(String imageUrl, String type) {
String json = imageParse(imageUrl);
String json = imageParseBase64(imageUrl);
log.info("json:" + json);
if (StringUtils.isBlank(json)) {
......@@ -125,6 +134,22 @@ public class XCFQPictureParsingImpl implements UserPictureParsing {
return null;
}
//身份证照片解析
private String imageParseBase64(String imageUrl) {
Map<String, String> headers = new HashMap<String, String>();
headers.put("Authorization", "APPCODE " + appcode2);
Map<String, String> querys = new HashMap<String, String>();
Map<String, String> bodys = new HashMap<String, String>();
String imgUrlToBase64 = getImgUrlToBase64(imageUrl);
bodys.put("image", "data:image/png;base64,"+ imgUrlToBase64);
try {
return callExternalRequest(headers,querys,bodys,1);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return null;
}
private String callExternalRequest(Map<String, String> headers,
Map<String, String> querys,
......@@ -152,4 +177,64 @@ public class XCFQPictureParsingImpl implements UserPictureParsing {
return null;
}
/**
* 将网络图片转换成Base64编码字符串
*
* @param imgUrl 网络图片Url
* @return
*/
public static String getImgUrlToBase64(String imgUrl) {
InputStream inputStream = null;
ByteArrayOutputStream outputStream = null;
byte[] buffer = null;
try {
// 创建URL
URL url = new URL(imgUrl);
// 创建链接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
inputStream = conn.getInputStream();
outputStream = new ByteArrayOutputStream();
// 将内容读取内存中
buffer = new byte[1024];
int len = -1;
while ((len = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
buffer = outputStream.toByteArray();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (inputStream != null) {
try {
// 关闭inputStream流
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (outputStream != null) {
try {
// 关闭outputStream流
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 对字节数组Base64编码
String str = new BASE64Encoder().encode(buffer);
if(StrUtil.isNotBlank(str)) {
str = str.replaceAll("\n","");
}
return str;
}
public static void main(String[] args) {
String str = getImgUrlToBase64("http://xxtest.upyuns.com/image/app/2020-10-19/3.jpg");
//str = str.replaceAll("\n","");
System.out.println(str);
}
}
......@@ -27,8 +27,10 @@ import java.util.Map;
@Primary
public class XCFQAuthentication implements UserAuthentication {
// private String appcode="acea1c8811f748b3a65815f11db357c4";
private String appcode2 = "ee7710ce92054cae9f6c040f6864e6a7";
// private String appcode="acea1c8811f748b3a65815f11db357c4";
// private String appcode2 = "ee7710ce92054cae9f6c040f6864e6a7";
//潮惠玩
private String appcode2 = "acea1c8811f748b3a65815f11db357c4";
/**
* 认证相关的数据
......
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