获取人脸识别结果接口对接

beta
kk 2 years ago
parent e9182ee36d
commit 988689a2bf
  1. 41
      jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoiceall/v1/InvoiceAllController.java
  2. 2
      jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/IInvoiceAll.java
  3. 31
      jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java

@ -344,6 +344,47 @@ public class InvoiceAllController {
return incomeResponseService.response(result, companyservice, "");
}
@ApiOperation("获取人脸识别结果")
@ApiImplicitParams({
@ApiImplicitParam(name = "identity", value = "身份认证", dataType = "java.lang.Void", example = "1130", required = true),
@ApiImplicitParam(name = "order", value = "请求体",dataType = "java.lang.Void", required = true)})
@PostMapping({"/api/invoice_all/v1/qrcodeResult/{identity}", "/api/invoice_all/v1/qrcodeResult"})
public Object qrcodeResult(HttpServletRequest request, String identity) throws Exception {
if (StringUtils.isEmpty(identity)) {
return AjaxResult.error(ErrorCode.EMPTY_IDENTITY);
}
Companyservice companyservice = iCompanyserviceService.selectCompanyserviceByIdentity(identity);
if (companyservice == null) {
return AjaxResult.error(ErrorCode.COMPANY_NOT_FOUND);
}
// 获得入口报文适配器
String requestAdapterKey = serviceManageService.getRequestAdapterKey(SERVICE_KEY, companyservice.getCompanyid());
IInvoiceAllRequestService incomeRequestService = invoiceAllRequestFactory.getService(requestAdapterKey);
JSONObject requestBody = incomeRequestService.decrypt(request, companyservice);
// 获得请求实例,并且进行扣费
String serviceKey = serviceManageService.getCompanyServiceSupplier(SERVICE_KEY, companyservice.getCompanyid());
IInvoiceAll invoiceAllService = iInvoceiAllServiceFactory.getService(serviceKey);
AjaxResult result = invoiceAllService.qrcodeResult(companyservice, requestBody);
//返回处理 增加调用次数
if (result.isSuccess()) {
serviceManageService.companyConsume(SERVICE_KEY, companyservice.getCompanyid());
}
//返回报文处理器
String responseAdapterKey = serviceManageService.getResponseAdapterKey(SERVICE_KEY, companyservice.getCompanyid());
IInvoiceAllResponseService incomeResponseService = invoiceAllResponseFactory.getService(responseAdapterKey);
return incomeResponseService.response(result, companyservice, "");
}
@ApiOperation("发票查询")
@ApiImplicitParams({
@ApiImplicitParam(name = "identity", value = "身份认证", dataType = "java.lang.Void", example = "1130", required = true),

@ -152,4 +152,6 @@ public interface IInvoiceAll {
/** 查询蓝字发票可红冲金额*/
AjaxResult queryInvoiceBeRed(Companyservice companyservice, InvoiceAllCanRedDTO invoiceAllCanRedDTO);
/** 获取人脸识别结果*/
AjaxResult qrcodeResult(Companyservice companyservice, JSONObject requestBody);
}

@ -1265,5 +1265,36 @@ public class InvoiceAllImpl implements IInvoiceAll {
return AjaxResult.success(result);
}
/** 获取人脸识别结果接口 */
@Override
public AjaxResult qrcodeResult(Companyservice companyservice, com.alibaba.fastjson.JSONObject requestBody) {
JSONObject result = null;
try {
result = ApiHttp.request(WebServiceConstant.HQRLSBJG, WebServiceConstant.URL, requestBody, companyservice);
String code = result.get("code") != null ? result.get("code").toString() : "";
String msg = result.get("msg") != null ? result.get("msg").toString() : "";
String data = result.get("data") != null ? result.get("data").toString() : "";
if ("0000".equals(code) && StrUtil.isNotEmpty(data)) {
JSONObject json = JSONUtil.parseObj(data);
String requestId = json.getOrDefault("requestId", "").toString();
if (StrUtil.isEmpty(requestId)) {
return AjaxResult.error(msg);
}
return AjaxResult.success(json);
} else {
return AjaxResult.error(msg);
}
} catch (Exception e) {
e.printStackTrace();
log.error("【金四服务类】【金财数科】【获取人脸识别结果接口】API请求异常,外部报文返回code非0000。错误信息:{}", e.getMessage());
return AjaxResult.error(ErrorCode.INCOME_ERROR);
}
}
}

Loading…
Cancel
Save