From a0821edd05c375f843e19768f41a8eaa253f24bf Mon Sep 17 00:00:00 2001 From: kk <1910333201@qq.com> Date: Mon, 20 Nov 2023 11:23:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E4=BA=91=E9=82=AE=E7=AE=B1?= =?UTF-8?q?=E4=BA=A4=E4=BB=98=E6=8E=A5=E5=8F=A3=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../http/invoice/v1/InvoiceController.java | 40 +++++++++++++++++++ .../elephant/ElephantConstantsV6.java | 4 ++ .../dto/api/InvoiceMailDeliveryDTO.java | 28 +++++++++++++ .../invoice/service/IInvoiceApiService.java | 3 ++ .../AisinoConsoleInvoiceApiServiceImpl.java | 5 +++ ...noConsoleInvoiceApiZhongQiServiceImpl.java | 5 +++ .../api/ElephantInvoiceApiServiceImpl.java | 5 +++ .../api/ElephantInvoiceApiV6ServiceImpl.java | 22 ++++++++++ .../impl/api/JcskInvoiceApiServiceImpl.java | 5 +++ 9 files changed, 117 insertions(+) create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceMailDeliveryDTO.java 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 9c4a069..2d55b66 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 @@ -1857,4 +1857,44 @@ 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/mailDelivery/{identity}", "/api/invoice/v1/mailDelivery"}) + public Object mailDelivery(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()); + + InvoiceMailDeliveryDTO mailDeliveryDTO = decryptResult.toJavaObject(InvoiceMailDeliveryDTO.class); + IInvoiceApiService invoiceService = invoiceServiceFactory.getService(serviceKey); + HXResponse result = invoiceService.mailDelivery(mailDeliveryDTO, companyservice); + + String responseAdapterKey = serviceManageService.getResponseAdapterKey("invoice", companyservice.getCompanyid()); + IInvoiceResponseService invoiceResponseService = invoiceResponseFactory.getService(responseAdapterKey); + + return invoiceResponseService.response(result, companyservice, ""); + + } + + + } 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 5d94e56..765515c 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 @@ -94,6 +94,10 @@ public class ElephantConstantsV6 { public static String GET_RPA_AUTH_STATUS_LOCALHOST = "/invoice/api/v6/GetRpaAuthStatus"; public static String GET_RPA_AUTH_STATUS_METHOD = "GetRpaAuthStatus"; + // V6-邮箱交付接口,京东云 + public static String MAIL_DELIVERY_LOCALHOST = "/invoice/api/v6/MailDelivery"; + public static String MAIL_DELIVERY_METHOD = "MailDelivery"; + // 数电-发票平台电子税局账号查询接口(数电专用接口) public static String QUERY_RPA_TAX_ACCOUNT_LOCALHOST = "/invoice/api/v6/QueryRpaTaxAccount"; public static String QUERY_RPA_TAX_ACCOUNT_METHOD = "QueryRpaTaxAccount"; diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceMailDeliveryDTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceMailDeliveryDTO.java new file mode 100644 index 0000000..87e1308 --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceMailDeliveryDTO.java @@ -0,0 +1,28 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 短信交付 + */ +@Data +public class InvoiceMailDeliveryDTO { + + @ApiModelProperty(value = "邮件地址") + @NotEmpty + private String emailAddress; + + @ApiModelProperty(value = "发票请求流水号") + @NotEmpty + private String fpqqlsh; + + @ApiModelProperty(value = "税号") + @NotEmpty + private String taxNo; + + + +} 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 4e24e0a..e23bd7c 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 @@ -351,4 +351,7 @@ public interface IInvoiceApiService { /** 回调方法*/ void callBackAisino(InvoiceBack invoiceBack, String callBackUrl, String identity,Long id); + + /** 邮箱交付*/ + HXResponse mailDelivery(InvoiceMailDeliveryDTO mailDeliveryDTO, 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 15fbcb4..985da5a 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 @@ -1044,6 +1044,11 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService { } + @Override + public HXResponse mailDelivery(InvoiceMailDeliveryDTO mailDeliveryDTO, 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 15e4eaf..9c52432 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 @@ -533,6 +533,11 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer } + @Override + public HXResponse mailDelivery(InvoiceMailDeliveryDTO mailDeliveryDTO, 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 b3d4236..69c6dfc 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 @@ -868,6 +868,11 @@ public class ElephantInvoiceApiServiceImpl implements IInvoiceApiService { } + @Override + public HXResponse mailDelivery(InvoiceMailDeliveryDTO mailDeliveryDTO, 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 3dbfbbf..4670b99 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 @@ -28,6 +28,7 @@ import com.jianshui.common.exception.jianshui.JianshuiServiceException; import com.jianshui.common.utils.DateUtils; import com.jianshui.common.utils.StringUtils; import com.jianshui.common.utils.TimeUtil; +import com.jianshui.common.utils.ValidateUtils; import com.jianshui.common.utils.http.HttpHelper; import com.jianshui.common.utils.uuid.IdUtils; import com.jianshui.framework.manager.AsyncManager; @@ -890,6 +891,27 @@ public class ElephantInvoiceApiV6ServiceImpl implements IInvoiceApiService { } + /** 邮箱交付 */ + @Override + public HXResponse mailDelivery(InvoiceMailDeliveryDTO mailDeliveryDTO, Companyservice companyservice) { + + ValidateUtils.validate(mailDeliveryDTO, "发票请求参数不能为空!"); + + DxhyInterfaceResponse dxhyInterfaceResponse = null; + try { + dxhyInterfaceResponse = ElephantUtils.sendRequestWithoutTokenV6( + ElephantConstantsV6.MAIL_DELIVERY_LOCALHOST, ElephantConstantsV6.MAIL_DELIVERY_METHOD, JSONUtil.parse(mailDeliveryDTO) + , companyservice); + } catch (UnsupportedEncodingException | InvalidKeyException | NoSuchAlgorithmException e) { + log.error("【销项发票】【大象接口】【数电】【邮箱交付接口】请求异常,请求报文{},销方信息{}", JSONUtil.parse(mailDeliveryDTO), 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 1de2672..1739c9a 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 @@ -1654,6 +1654,11 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { } + @Override + public HXResponse mailDelivery(InvoiceMailDeliveryDTO mailDeliveryDTO, Companyservice companyservice) { + return null; + } + /** * 简税和金财数科 发票类型互换 *