diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/sd/GetRpaAuthStatusDTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/sd/GetRpaAuthStatusDTO.java index 706129a..727882b 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/sd/GetRpaAuthStatusDTO.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/sd/GetRpaAuthStatusDTO.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; diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/vo/InvoiceAllQycodeResultElEVO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/vo/InvoiceAllQycodeResultElEVO.java new file mode 100644 index 0000000..05bbbf9 --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/vo/InvoiceAllQycodeResultElEVO.java @@ -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; + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ServiceImpl.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ServiceImpl.java index 70cb184..84162f9 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ServiceImpl.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ServiceImpl.java @@ -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 { diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/JcskInvoiceApiServiceImpl.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/JcskInvoiceApiServiceImpl.java index 7d20b69..783e5a5 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/JcskInvoiceApiServiceImpl.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/JcskInvoiceApiServiceImpl.java @@ -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 { diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/JsonCaseUtils.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/JsonCaseUtils.java new file mode 100644 index 0000000..328733c --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/JsonCaseUtils.java @@ -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; + } + +}