From c5223aa0837f44410042e83d3bb17895715794de Mon Sep 17 00:00:00 2001 From: kk <1910333201@qq.com> Date: Mon, 22 Jan 2024 15:31:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=BF=AB=E6=8D=B7=E5=86=B2?= =?UTF-8?q?=E7=BA=A2=E7=BB=93=E6=9E=9C=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../http/invoice/v1/InvoiceController.java | 39 ++++++++++++++++++- .../framework/config/SecurityConfig.java | 2 + .../elephant/ElephantConstantsV6.java | 4 ++ .../invoice/service/IInvoiceApiService.java | 3 ++ .../AisinoConsoleInvoiceApiServiceImpl.java | 5 +++ ...noConsoleInvoiceApiZhongQiServiceImpl.java | 5 +++ .../api/ElephantInvoiceApiServiceImpl.java | 5 +++ .../api/ElephantInvoiceApiV6ServiceImpl.java | 19 +++++++++ .../impl/api/JcskInvoiceApiServiceImpl.java | 5 +++ 9 files changed, 86 insertions(+), 1 deletion(-) diff --git a/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java b/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java index 889179e..621371e 100644 --- a/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java +++ b/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java @@ -1994,7 +1994,7 @@ public class InvoiceController { /** - * 2.29.查询快捷冲红结果接口(数电专用接口) + * 查询快捷冲红结果接口(数电专用接口) */ @ApiImplicitParams({ @ApiImplicitParam(name = "identity", value = "身份认证", dataType = "java.lang.Void", example = "1130", required = true), @@ -2030,5 +2030,42 @@ public class InvoiceController { } + /** + * 数电获取发票文件接口(数电专用接口) + */ + @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/v1/QuerySdInvoiceFile/{identity}", "/api/invoice/v1/QuerySdInvoiceFile","/invoice/QuerySdInvoiceFile"}) + public Object QuerySdInvoiceFile(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("invoice", companyservice.getCompanyid()); + IInvoiceRequestService invoiceRequestService = invoiceRequestFactory.getService(requestAdapterKey); + JSONObject decryptResult = invoiceRequestService.decrypt(request, companyservice, ""); + + // 获得请求实例,并且进行扣费 + String serviceKey = serviceManageService.getCompanyServiceSupplier("invoice", companyservice.getCompanyid()); + serviceManageService.companyConsume("invoice", companyservice.getCompanyid()); + + IInvoiceApiService invoiceService = invoiceServiceFactory.getService(serviceKey); + HXResponse result = invoiceService.QuerySdInvoiceFile(decryptResult, companyservice); + + String responseAdapterKey = serviceManageService.getResponseAdapterKey("invoice", companyservice.getCompanyid()); + IInvoiceResponseService invoiceResponseService = invoiceResponseFactory.getService(responseAdapterKey); + + return invoiceResponseService.response(result, companyservice, ""); + + } + } diff --git a/jianshui-framework/src/main/java/com/jianshui/framework/config/SecurityConfig.java b/jianshui-framework/src/main/java/com/jianshui/framework/config/SecurityConfig.java index 5a47af0..011ab28 100644 --- a/jianshui-framework/src/main/java/com/jianshui/framework/config/SecurityConfig.java +++ b/jianshui-framework/src/main/java/com/jianshui/framework/config/SecurityConfig.java @@ -129,6 +129,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { "/invoice/qrcode", "/invoice/qrcodeResult", "/invoice/mailDelivery", + "/invoice/QuerySdInvoiceFile", + "/invoice/QueryFastRedInvoiceResult", "/invoice/fastRedInvoice" ) .permitAll() // 所有原有发票 diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstantsV6.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstantsV6.java index b485c22..75c8a44 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstantsV6.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstantsV6.java @@ -78,6 +78,10 @@ public class ElephantConstantsV6 { public static String QUERY_FAST_RED_INVOICE_RESULT_LOCALHOST = "/invoice/api/v6/QueryFastRedInvoiceResult"; public static String QUERY_FAST_RED_INVOICE_RESULT_METHOD = "QueryFastRedInvoiceResult"; + // 查询快捷冲红结果接口(数电专用接口) + public static String QUERY_INVOICE_FILE_LOCALHOST = "/invoice/api/v6/QuerySdInvoiceFile"; + public static String QUERY_INVOICE_FILE_METHOD = "QuerySdInvoiceFile"; + // 数电-红字确认单明细查询 public static String QUERY_RED_CONFIRMATION_ITEM_LIST_LOCALHOST = "/invoice/api/v6/QueryRedConfirmationItemList"; public static String QUERY_RED_CONFIRMATION_ITEM_LIST_METHOD = "QueryRedConfirmationItemList"; diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/IInvoiceApiService.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/IInvoiceApiService.java index 8572793..a463886 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/IInvoiceApiService.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/IInvoiceApiService.java @@ -360,4 +360,7 @@ public interface IInvoiceApiService { /** 查询快捷冲红结果接口(数电专用接口) */ HXResponse QueryFastRedInvoiceResult(JSONObject decryptResult, Companyservice companyservice); + + /** 数电获取发票文件接口(数电专用接口) */ + HXResponse QuerySdInvoiceFile(JSONObject decryptResult, Companyservice companyservice); } \ No newline at end of file diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiServiceImpl.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiServiceImpl.java index 71f1177..e5a7400 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiServiceImpl.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiServiceImpl.java @@ -1061,6 +1061,11 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService { return null; } + @Override + public HXResponse QuerySdInvoiceFile(JSONObject decryptResult, Companyservice companyservice) { + return null; + } + @Override public AjaxResult syncStockInfo(Companyservice companyservice) { diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiZhongQiServiceImpl.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiZhongQiServiceImpl.java index 0664ffd..a8135db 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiZhongQiServiceImpl.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiZhongQiServiceImpl.java @@ -547,6 +547,11 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer return null; } + @Override + public HXResponse QuerySdInvoiceFile(JSONObject decryptResult, Companyservice companyservice) { + return null; + } + /** * 发票打印 diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiServiceImpl.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiServiceImpl.java index afa2e12..2a1a2a7 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiServiceImpl.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiServiceImpl.java @@ -884,6 +884,11 @@ public class ElephantInvoiceApiServiceImpl implements IInvoiceApiService { return null; } + @Override + public HXResponse QuerySdInvoiceFile(JSONObject decryptResult, Companyservice companyservice) { + return null; + } + /** * 申请/上传 红字发票 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 a6b9148..40b33e0 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 @@ -1045,6 +1045,25 @@ public class ElephantInvoiceApiV6ServiceImpl implements IInvoiceApiService { return parseResult(dxhyInterfaceResponse); } + /* 数电获取发票文件接口(数电专用接口)*/ + @Override + public HXResponse QuerySdInvoiceFile(JSONObject decryptResult, Companyservice companyservice) { + decryptResult = JsonKeyCase.JsonKeyCase(decryptResult); + log.info("调用大象V6接口报文key转大写后的报文为{}",decryptResult); + DxhyInterfaceResponse dxhyInterfaceResponse = null; + try { + dxhyInterfaceResponse = ElephantUtils.sendRequestWithoutTokenV6(ElephantConstantsV6.QUERY_INVOICE_FILE_LOCALHOST, + ElephantConstantsV6.QUERY_INVOICE_FILE_METHOD, JSONUtil.parse(decryptResult), companyservice); + } catch (UnsupportedEncodingException | InvalidKeyException | NoSuchAlgorithmException e) { + log.error("【销项发票】【大象接口】【数电】【数电获取发票文件接口】发票请求异常,请求报文{},销方信息{}", decryptResult, JSONObject.toJSONString(companyservice)); + e.printStackTrace(); + return new HXResponse("009999", "系统异常!"); + } + + return parseResult(dxhyInterfaceResponse); + } + + /** * 红字确认单列表查询(数电专用) */ 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 d28882c..7412259 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 @@ -1669,6 +1669,11 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { return null; } + @Override + public HXResponse QuerySdInvoiceFile(JSONObject decryptResult, Companyservice companyservice) { + return null; + } + /** * 简税和金财数科 发票类型互换 *