人脸识别结果获取接口

beta
kk 2 years ago
parent 88138d36dd
commit c6489bd069
  1. 4
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/sd/GetRpaAuthStatusDTO.java
  2. 26
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/vo/InvoiceAllQycodeResultElEVO.java
  3. 21
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ServiceImpl.java
  4. 11
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/JcskInvoiceApiServiceImpl.java
  5. 29
      jianshui-invoice/src/main/java/com/jianshui/invoice/utils/JsonCaseUtils.java

@ -1,5 +1,6 @@
package com.jianshui.invoice.domain.dto.api.elephant.sd;
import cn.hutool.core.annotation.Alias;
import com.jianshui.invoice.domain.dto.api.jcsk.QycodeResultJsonDataTWODTO;
import lombok.Data;
@ -12,12 +13,15 @@ import lombok.Data;
public class GetRpaAuthStatusDTO {
@Alias("NSRSBH")
/** *地区编码(参考码表)*/
private String nsrsbh;
@Alias("RZID")
/** 认证id*/
private String rzid;
@Alias("YHM")
/** 电局登录用户名*/
private String yhm;

@ -0,0 +1,26 @@
package com.jianshui.invoice.domain.vo;
import cn.hutool.core.annotation.Alias;
import lombok.Data;
/**
* @author kk
* @date 2023年10月30日 19:05
* 获取人脸识别结果
*/
@Data
public class InvoiceAllQycodeResultElEVO {
/** 扫脸状态*/
@Alias("SLZT")
private String slzt;
@Alias("RZID")
/** 认证id*/
private String rzid;
@Alias("YHM")
/** 电局登录用户名*/
private String yhm;
}

@ -5,6 +5,8 @@ import cn.hutool.core.codec.Base64;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONConfig;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@ -37,6 +39,7 @@ import com.jianshui.invoice.domain.dto.api.elephant.sd.RedUpload;
import com.jianshui.invoice.domain.ele.EleNewMessage;
import com.jianshui.invoice.domain.ele.EleOuterMessage;
import com.jianshui.invoice.domain.ele.HZSQDMessage;
import com.jianshui.invoice.domain.vo.InvoiceAllQycodeResultElEVO;
import com.jianshui.invoice.domain.vo.jcsk.*;
import com.jianshui.invoice.mapper.BillInfoMapper;
import com.jianshui.invoice.mapper.InvoiceMapper;
@ -45,6 +48,7 @@ import com.jianshui.invoice.service.IBillInfoService;
import com.jianshui.invoice.service.IInvoiceApiService;
import com.jianshui.invoice.task.QueryInvoiceTask;
import com.jianshui.invoice.utils.BillInfoUtils;
import com.jianshui.invoice.utils.JsonCaseUtils;
import com.jianshui.invoice.utils.elephant.ElephantUtils;
import com.jianshui.queue.utils.RedisQueueUtil;
import com.jianshui.storage.domain.StorageUrlDTO;
@ -846,13 +850,24 @@ public class ElephantInvoiceApiV6ServiceImpl implements IInvoiceApiService {
try {
dxhyInterfaceResponse = ElephantUtils.sendRequestWithoutTokenV6
(ElephantConstantsV6.GET_RPA_AUTH_STATUS_LOCALHOST, ElephantConstantsV6.GET_RPA_AUTH_STATUS_METHOD, JSONUtil.parse(getRpaAuthStatusDTO), companyservice);
} catch (UnsupportedEncodingException | InvalidKeyException | NoSuchAlgorithmException e) {
log.error("【销项发票】【大象接口】【数电】【获取人脸识别结果】发票请求异常,请求报文{},销方信息{}", decryptResult, JSONObject.toJSONString(companyservice));
e.printStackTrace();
return new HXResponse("009999", "系统异常!");
}
return parseResult(dxhyInterfaceResponse);
// 返回结果处理
HXResponse hxResponseT = parseResult(dxhyInterfaceResponse);
if("000000".equals(hxResponseT.get("code")) && hxResponseT.get("data") != null && !"".equals(hxResponseT.get("data"))){
InvoiceAllQycodeResultElEVO qycodeResultVO = BeanUtil.copyProperties(JSONUtil.parse(hxResponseT.get("data")),InvoiceAllQycodeResultElEVO.class);
HXResponse response = new HXResponse("0000", "请求成功", qycodeResultVO);
return response;
} else {
return new HXResponse(hxResponseT.getMessage() != null ? hxResponseT.getMessage():"");
}
}
/**
@ -1028,9 +1043,9 @@ public class ElephantInvoiceApiV6ServiceImpl implements IInvoiceApiService {
if ("000000".equals(ztdm)) {
if (StrUtil.isNotEmpty(dataTemp)) {
return new HXResponse(code, "", dataTemp, true);
return new HXResponse(code, "", JSONUtil.parse(dataTemp), true);
} else {
return new HXResponse(code, "", data, true);
return new HXResponse(code, "", JSONUtil.parse(data), true);
}
} else {

@ -32,6 +32,7 @@ import com.jianshui.invoice.domain.dto.api.jcsk.add.InvoiceAllAddTwoDTO;
import com.jianshui.invoice.domain.dto.api.jcsk.add.InvoiceAllAddmxListTwoDTO;
import com.jianshui.invoice.domain.dto.api.jcsk.red.AddRedInvoiceTwoDTO;
import com.jianshui.invoice.domain.ele.EleNewMessage;
import com.jianshui.invoice.domain.vo.InvoiceAllQycodeResultElEVO;
import com.jianshui.invoice.domain.vo.jcsk.*;
import com.jianshui.invoice.mapper.*;
import com.jianshui.invoice.service.IInvoiceApiService;
@ -1604,7 +1605,7 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService {
cn.hutool.json.JSONObject result = null;
try {
// 同步
InvoiceAllQycodeResultDTO qycodeResultDTO = BeanUtil.copyProperties(decryptResult,InvoiceAllQycodeResultDTO.class);
if(BeanUtil.isEmpty(qycodeResultDTO)){
return new HXResponse("参数为空!");
@ -1618,21 +1619,23 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService {
// 组装报文
QycodeResultTWODTO qycodeResultTWODTO = new QycodeResultTWODTO();
qycodeResultTWODTO.setAsync("true");
qycodeResultTWODTO.setAsync("false");
qycodeResultTWODTO.setBsrysfzjhm(yhdj.getBsrysfzjhm());
qycodeResultTWODTO.setDqbm(yhdj.getDqbm());
qycodeResultTWODTO.setNsrsbh(yhdj.getNsrsbh());
QycodeResultJsonDataTWODTO qycodeResultJsonDataTWODTO = BeanUtil.copyProperties(qycodeResultDTO,QycodeResultJsonDataTWODTO.class);
qycodeResultTWODTO.setJsonData(qycodeResultJsonDataTWODTO);
result = ApiHttp.request(WebServiceConstant.HQRLSBJG, WebServiceConstant.URL, qycodeResultDTO, companyservice);
result = ApiHttp.request(WebServiceConstant.HQRLSBJG, WebServiceConstant.URL, qycodeResultTWODTO, 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)) {
InvoiceAllQycodeResultVO qycodeResultVO = BeanUtil.copyProperties(data,InvoiceAllQycodeResultVO.class);
InvoiceAllQycodeResultVO qycodeResultVO = BeanUtil.copyProperties(JSONUtil.parse(data), InvoiceAllQycodeResultVO.class);
qycodeResultVO.setRzid(qycodeResultJsonDataTWODTO.getRzid());
qycodeResultVO.setYhm(qycodeResultJsonDataTWODTO.getYhm());
HXResponse response = new HXResponse("0000", "请求成功", qycodeResultVO);
return response;
} else {

@ -0,0 +1,29 @@
package com.jianshui.invoice.utils;
import cn.hutool.core.lang.Dict;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import java.util.Iterator;
/**
* @author kk
* @date 2023年10月31日 13:50
* json转小写字段
*/
public class JsonCaseUtils {
public static JSONObject toLowerCase(String json) {
JSONObject jsonObject = JSONUtil.parseObj(json);
jsonObject.keySet().forEach(key -> {
String upperKey = key.toUpperCase();
jsonObject.put(upperKey, jsonObject.get(key));
jsonObject.remove(key);
});
return jsonObject;
}
}
Loading…
Cancel
Save