generated from dxfeng/secondev-chapanda-feishu
ADD-OCR头像识别
This commit is contained in:
parent
b0663aee2f
commit
279260972c
|
|
@ -150,14 +150,19 @@ public class ResumeRecognitionServiceImpl extends Service implements ResumeRecog
|
|||
if ("fail".equals(status)) {
|
||||
throw new CustomizeRunTimeException("调用千里聆接口失败,失败原因:" + resultall.getString("info"));
|
||||
}
|
||||
baseBean.writeLog("千里聆OCR解析数据:" + resultall);
|
||||
JSONObject result = resultall.getJSONObject("result");
|
||||
baseBean.writeLog("千里聆OCR解析数据:" + result);
|
||||
Map<String, Object> dataMap = parseQllJsonToMapV2(result, isCard);
|
||||
//TODO 解析图片信息
|
||||
// 解析图片信息
|
||||
String faceId = resultall.getString("face_id");
|
||||
if (StringUtils.isNotBlank(faceId)) {
|
||||
String faceUrl = RecruitConstant.OCR_URL.replace("/resume", "/common/get_image");
|
||||
// 请求接口
|
||||
try {
|
||||
String faceUrl = RecruitConstant.OCR_URL.replace("/resume", "/common/get_image") + "?filename=" + faceId;
|
||||
// 请求接口
|
||||
getImageFile(faceUrl, faceId, dataMap);
|
||||
} catch (Exception e) {
|
||||
baseBean.writeLog("千里聆OCR简历照片解析失败:" + e);
|
||||
}
|
||||
}
|
||||
returnMap.put("data", dataMap);
|
||||
}
|
||||
|
|
@ -397,28 +402,33 @@ public class ResumeRecognitionServiceImpl extends Service implements ResumeRecog
|
|||
}
|
||||
}
|
||||
|
||||
private InputStream getImageFile(String faceUrl, String filename) {
|
||||
try {
|
||||
String appId = RecruitConstant.APP_ID;
|
||||
String appSecret = RecruitConstant.APP_SECRET;
|
||||
long currentTime = System.currentTimeMillis();
|
||||
CloseableHttpClient httpClient = HttpClients.createDefault();
|
||||
/**
|
||||
* 解析头像
|
||||
*
|
||||
* @param faceUrl
|
||||
* @param filename
|
||||
* @param dataMap
|
||||
*/
|
||||
private void getImageFile(String faceUrl, String filename, Map<String, Object> dataMap) {
|
||||
String appId = RecruitConstant.APP_ID;
|
||||
String appSecret = RecruitConstant.APP_SECRET;
|
||||
long currentTime = System.currentTimeMillis();
|
||||
CloseableHttpClient httpClient = HttpClients.createDefault();
|
||||
|
||||
HttpGet httpGet = new HttpGet(faceUrl);
|
||||
httpGet.addHeader("sign", getSign(appId, appSecret, currentTime));
|
||||
httpGet.addHeader("appId", appId);
|
||||
httpGet.addHeader("timestamp", String.valueOf(currentTime));
|
||||
HttpGet httpGet = new HttpGet(faceUrl);
|
||||
httpGet.addHeader("sign", getSign(appId, appSecret, currentTime));
|
||||
httpGet.addHeader("appId", appId);
|
||||
httpGet.addHeader("timestamp", String.valueOf(currentTime));
|
||||
|
||||
// 执行请求并获取响应
|
||||
try (CloseableHttpResponse response = httpClient.execute(httpGet)) {
|
||||
// 检查响应状态
|
||||
if (response.getStatusLine().getStatusCode() == 200) {
|
||||
// 获取响应实体
|
||||
return response.getEntity().getContent();
|
||||
} else {
|
||||
throw new CustomizeRunTimeException(String.valueOf(response.getStatusLine().getStatusCode()));
|
||||
//System.out.println("GET request failed. Response Code: " + response.getStatusLine().getStatusCode());
|
||||
}
|
||||
// 执行请求并获取响应
|
||||
try (CloseableHttpResponse response = httpClient.execute(httpGet)) {
|
||||
// 检查响应状态
|
||||
if (response.getStatusLine().getStatusCode() == 200) {
|
||||
// 获取响应实体
|
||||
InputStream inputStream = response.getEntity().getContent();
|
||||
int imageFileId = RecruitModeUtil.generateImageFileId(inputStream, filename + ".png");
|
||||
int docId = RecruitModeUtil.createDocId(Convert.toInt(RecruitConstant.APPLICANTS_RESUMES_CATEGORY), imageFileId, user);
|
||||
dataMap.put("jlzp", docId);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new CustomizeRunTimeException(e);
|
||||
|
|
|
|||
Loading…
Reference in New Issue