From 226e62e50861e6085bd3873c7eb61841cab7fdb5 Mon Sep 17 00:00:00 2001 From: dongxiaoke <1910333201@qq.com> Date: Fri, 7 Apr 2023 18:24:57 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=90=88=E5=B9=B6=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=8E=A5=E5=8F=A3=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../http/invoice/v1/InvoiceController.java | 32 +- .../invoiceall/v1/InvoiceAllController.java | 12 +- .../dto/api/InvoiceAllCxhzJsonDataTWODTO.java | 51 +++ .../domain/dto/api/InvoiceAllCxhzTWODTO.java | 36 +++ .../domain/dto/api/InvoiceAllEntityTWO.java | 30 ++ ...InvoiceAllFileAcquisitionDetailTWODTO.java | 30 ++ ...voiceAllFileAcquisitionOnDetailTWODTO.java | 31 ++ .../InvoiceAllFileAcquisitionOnTWODTO.java | 37 +++ .../api/InvoiceAllFileAcquisitionTWODTO.java | 43 +++ .../dto/api/InvoiceAllKshcJsonDataTWODTO.java | 28 ++ .../domain/dto/api/InvoiceAllKshcTWODTO.java | 37 +++ .../domain/dto/api/InvoiceAllQueryTWODTO.java | 45 +++ .../dto/api/InvoiceAllShhzJsonDataTWODTO.java | 30 ++ .../domain/dto/api/InvoiceAllShhzTWODTO.java | 35 +++ .../InvoiceAllSqhzJsonDataDetailTWODTO.java | 57 ++++ .../dto/api/InvoiceAllSqhzJsonDataTWODTO.java | 64 ++++ .../domain/dto/api/InvoiceAllSqhzTWODTO.java | 36 +++ .../invoice/service/IInvoiceApiService.java | 12 +- .../AisinoConsoleInvoiceApiServiceImpl.java | 22 +- .../api/ElephantInvoiceApiServiceImpl.java | 14 +- .../impl/api/JcskInvoiceApiServiceImpl.java | 296 +++++++++++++++++- 21 files changed, 932 insertions(+), 46 deletions(-) create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllCxhzJsonDataTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllCxhzTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllEntityTWO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionDetailTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionOnDetailTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionOnTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllKshcJsonDataTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllKshcTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllQueryTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllShhzJsonDataTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllShhzTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllSqhzJsonDataDetailTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllSqhzJsonDataTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllSqhzTWODTO.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 0e0d879..2357329 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 @@ -10,6 +10,10 @@ import com.jianshui.common.utils.http.HttpHelper; import com.jianshui.invoice.domain.BillInfo; import com.jianshui.invoice.domain.Redinfo; import com.jianshui.invoice.domain.dto.*; +import com.jianshui.invoice.domain.dto.api.InvoiceAllFileAcquisitionOnTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllFileAcquisitionTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllKshcTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllShhzTWODTO; import com.jianshui.invoice.service.IInvoiceApiService; import com.jianshui.invoice.service.IInvoiceRequestService; import com.jianshui.invoice.factory.IInvoiceRequestFactory; @@ -860,7 +864,7 @@ public class InvoiceController { @ApiImplicitParams({ @ApiImplicitParam(name = "", value = "身份认证", dataType = "string", example = "1130", required = true), @ApiImplicitParam(name = "order", value = "请求体", required = true)}) - @PostMapping({"/api/invoice_all/v1/getFileUrl/{identity}", "/api/invoice_all/v1/getFileUrl"}) + @PostMapping({"/api/invoice_all/v2/getFileUrl/{identity}", "/api/invoice_all/v2/getFileUrl"}) public Object getFileUrl(HttpServletRequest request, String identity) throws Exception { if (StringUtils.isEmpty(identity)) { return AjaxResult.error(ErrorCode.EMPTY_IDENTITY); @@ -880,8 +884,9 @@ public class InvoiceController { String serviceKey = serviceManageService.getCompanyServiceSupplier("invoice", companyservice.getCompanyid()); serviceManageService.companyConsume("invoice", companyservice.getCompanyid()); + InvoiceAllFileAcquisitionTWODTO invoiceAllFileAcquisitionTWODTO= decryptResult.toJavaObject(InvoiceAllFileAcquisitionTWODTO.class); IInvoiceApiService invoiceService = invoiceServiceFactory.getService(serviceKey); - HXResponse result = invoiceService.getFileUrl(decryptResult, companyservice); + HXResponse result = invoiceService.getFileUrl(invoiceAllFileAcquisitionTWODTO, companyservice); String responseAdapterKey = serviceManageService.getResponseAdapterKey("invoice", companyservice.getCompanyid()); IInvoiceResponseService invoiceResponseService = invoiceResponseFactory.getService(responseAdapterKey); @@ -894,7 +899,7 @@ public class InvoiceController { @ApiImplicitParams({ @ApiImplicitParam(name = "", value = "身份认证", dataType = "string", example = "1130", required = true), @ApiImplicitParam(name = "order", value = "请求体", required = true)}) - @PostMapping({"/api/invoice_all/v1/getFileAcquisition/{identity}", "/api/invoice_all/v1/getFileAcquisition"}) + @PostMapping({"/api/invoice_all/v2/getFileAcquisition/{identity}", "/api/invoice_all/v2/getFileAcquisition"}) public Object getFileAcquisition(HttpServletRequest request, String identity) throws Exception { // TODO: 2023/4/6 getFileAcquisitionOn @@ -916,8 +921,9 @@ public class InvoiceController { String serviceKey = serviceManageService.getCompanyServiceSupplier("invoice", companyservice.getCompanyid()); serviceManageService.companyConsume("invoice", companyservice.getCompanyid()); + InvoiceAllFileAcquisitionOnTWODTO invoiceAllFileAcquisitionDTO= decryptResult.toJavaObject(InvoiceAllFileAcquisitionOnTWODTO.class); IInvoiceApiService invoiceService = invoiceServiceFactory.getService(serviceKey); - HXResponse result = invoiceService.getFileAcquisitionOn(decryptResult, companyservice); + HXResponse result = invoiceService.getFileAcquisitionOn(invoiceAllFileAcquisitionDTO, companyservice); String responseAdapterKey = serviceManageService.getResponseAdapterKey("invoice", companyservice.getCompanyid()); IInvoiceResponseService invoiceResponseService = invoiceResponseFactory.getService(responseAdapterKey); @@ -931,7 +937,7 @@ public class InvoiceController { @ApiImplicitParams({ @ApiImplicitParam(name = "", value = "身份认证", dataType = "string", example = "1130", required = true), @ApiImplicitParam(name = "order", value = "请求体", required = true)}) - @PostMapping({"/api/invoice_all/v1/qrcode/{identity}", "/api/invoice_all/v1/qrcode"}) + @PostMapping({"/api/invoice_all/v2/qrcode/{identity}", "/api/invoice_all/v2/qrcode"}) public Object qrcode(HttpServletRequest request, String identity) throws Exception { // qrcode @@ -967,7 +973,7 @@ public class InvoiceController { @ApiImplicitParams({ @ApiImplicitParam(name = "", value = "身份认证", dataType = "string", example = "1130", required = true), @ApiImplicitParam(name = "order", value = "请求体", required = true)}) - @PostMapping({"/api/invoice_all/v1/query/{identity}", "/api/invoice_all/v1/query"}) + @PostMapping({"/api/invoice_all/v2/query/{identity}", "/api/invoice_all/v2/query"}) public Object query(HttpServletRequest request, String identity) throws Exception { // query @@ -1003,7 +1009,7 @@ public class InvoiceController { @ApiImplicitParams({ @ApiImplicitParam(name = "", value = "身份认证", dataType = "string", example = "1130", required = true), @ApiImplicitParam(name = "order", value = "请求体", required = true)}) - @PostMapping({"/api/invoice_all/v1/print_xml/{identity}", "/api/invoice_all/v1/print_xml"}) + @PostMapping({"/api/invoice_all/v2/print_xml/{identity}", "/api/invoice_all/v2/print_xml"}) public Object printXmlml(HttpServletRequest request, String identity) throws Exception { // getPrintXML @@ -1039,7 +1045,7 @@ public class InvoiceController { @ApiImplicitParams({ @ApiImplicitParam(name = "", value = "身份认证", dataType = "string", example = "1130", required = true), @ApiImplicitParam(name = "order", value = "请求体", required = true)}) - @PostMapping({"/api/invoice_all/v1/issueFastRedInvoice/{identity}", "/api/invoice_all/v1/issueFastRedInvoice"}) + @PostMapping({"/api/invoice_all/v2/issueFastRedInvoice/{identity}", "/api/invoice_all/v2/issueFastRedInvoice"}) public Object issueFastRedInvoice(HttpServletRequest request, String identity) throws Exception { // issueFastRedInvoice @@ -1061,8 +1067,9 @@ public class InvoiceController { String serviceKey = serviceManageService.getCompanyServiceSupplier("invoice", companyservice.getCompanyid()); serviceManageService.companyConsume("invoice", companyservice.getCompanyid()); + InvoiceAllKshcTWODTO invoiceAllKshcDTO= decryptResult.toJavaObject(InvoiceAllKshcTWODTO.class); IInvoiceApiService invoiceService = invoiceServiceFactory.getService(serviceKey); - HXResponse result = invoiceService.issueFastRedInvoice(decryptResult, companyservice); + HXResponse result = invoiceService.issueFastRedInvoice(invoiceAllKshcDTO, companyservice); String responseAdapterKey = serviceManageService.getResponseAdapterKey("invoice", companyservice.getCompanyid()); IInvoiceResponseService invoiceResponseService = invoiceResponseFactory.getService(responseAdapterKey); @@ -1076,7 +1083,7 @@ public class InvoiceController { @ApiImplicitParams({ @ApiImplicitParam(name = "", value = "身份认证", dataType = "string", example = "1130", required = true), @ApiImplicitParam(name = "order", value = "请求体", required = true)}) - @PostMapping({"/api/invoice_all/v1/invoice_statistics/{identity}", "/api/invoice_all/v1/invoice_statistics"}) + @PostMapping({"/api/invoice_all/v2/invoice_statistics/{identity}", "/api/invoice_all/v2/invoice_statistics"}) public Object invoiceStatistics(HttpServletRequest request, String identity) throws Exception { // invoiceStatic @@ -1112,7 +1119,7 @@ public class InvoiceController { @ApiImplicitParams({ @ApiImplicitParam(name = "", value = "身份认证", dataType = "string", example = "1130", required = true), @ApiImplicitParam(name = "order", value = "请求体", required = true)}) - @PostMapping({"/api/invoice_all/v1/auditRedInfo/{identity}", "/api/invoice_all/v1/auditRedInfo"}) + @PostMapping({"/api/invoice_all/v2/auditRedInfo/{identity}", "/api/invoice_all/v2/auditRedInfo"}) public Object auditRedInfo(HttpServletRequest request, String identity) throws Exception { // auditRedInfo @@ -1134,8 +1141,9 @@ public class InvoiceController { String serviceKey = serviceManageService.getCompanyServiceSupplier("invoice", companyservice.getCompanyid()); serviceManageService.companyConsume("invoice", companyservice.getCompanyid()); + InvoiceAllShhzTWODTO invoiceAllShhzDTO= decryptResult.toJavaObject(InvoiceAllShhzTWODTO.class); IInvoiceApiService invoiceService = invoiceServiceFactory.getService(serviceKey); - HXResponse result = invoiceService.auditRedInfo(decryptResult, companyservice); + HXResponse result = invoiceService.auditRedInfo(invoiceAllShhzDTO, companyservice); String responseAdapterKey = serviceManageService.getResponseAdapterKey("invoice", companyservice.getCompanyid()); IInvoiceResponseService invoiceResponseService = invoiceResponseFactory.getService(responseAdapterKey); diff --git a/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoiceall/v1/InvoiceAllController.java b/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoiceall/v1/InvoiceAllController.java index dfd714a..1ecbacb 100644 --- a/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoiceall/v1/InvoiceAllController.java +++ b/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoiceall/v1/InvoiceAllController.java @@ -241,7 +241,7 @@ public class InvoiceAllController { String serviceKey = serviceManageService.getCompanyServiceSupplier(SERVICE_KEY, companyservice.getCompanyid()); IInvoiceAll invoiceAllService = iInvoceiAllServiceFactory.getService(serviceKey); - // TODO-dxk: 2022/12/11 开票报文忒多了,外层用json,里面的再接入别的方便定义报文 + AjaxResult result = invoiceAllService.addInvoice(companyservice, requestBody); //返回处理 增加调用次数 @@ -282,7 +282,7 @@ public class InvoiceAllController { String serviceKey = serviceManageService.getCompanyServiceSupplier(SERVICE_KEY, companyservice.getCompanyid()); IInvoiceAll invoiceAllService = iInvoceiAllServiceFactory.getService(serviceKey); - // TODO-dxk: 2022/12/11 开票报文忒多了,外层用json,里面的再接入别的方便定义报文 + AjaxResult result = invoiceAllService.qrcode(companyservice, requestBody); //返回处理 增加调用次数 @@ -321,7 +321,7 @@ public class InvoiceAllController { String serviceKey = serviceManageService.getCompanyServiceSupplier(SERVICE_KEY, companyservice.getCompanyid()); IInvoiceAll invoiceAllService = iInvoceiAllServiceFactory.getService(serviceKey); - // TODO-dxk: 2022/12/11 开票报文忒多了,外层用json,里面的再接入别的方便定义报文 + AjaxResult result = invoiceAllService.query(companyservice, requestBody); //返回处理 增加调用次数 @@ -360,7 +360,7 @@ public class InvoiceAllController { String serviceKey = serviceManageService.getCompanyServiceSupplier(SERVICE_KEY, companyservice.getCompanyid()); IInvoiceAll invoiceAllService = iInvoceiAllServiceFactory.getService(serviceKey); - // TODO-dxk: 2022/12/11 开票报文忒多了,外层用json,里面的再接入别的方便定义报文 + AjaxResult result = invoiceAllService.getPrintXML(companyservice, requestBody); //返回处理 增加调用次数 @@ -399,7 +399,7 @@ public class InvoiceAllController { String serviceKey = serviceManageService.getCompanyServiceSupplier(SERVICE_KEY, companyservice.getCompanyid()); IInvoiceAll invoiceAllService = iInvoceiAllServiceFactory.getService(serviceKey); - // TODO-dxk: 2022/12/11 开票报文忒多了,外层用json,里面的再接入别的方便定义报文 + AjaxResult result = invoiceAllService.addRedInvoice(companyservice, requestBody); //返回处理 增加调用次数 @@ -481,7 +481,7 @@ public class InvoiceAllController { String serviceKey = serviceManageService.getCompanyServiceSupplier(SERVICE_KEY, companyservice.getCompanyid()); IInvoiceAll invoiceAllService = iInvoceiAllServiceFactory.getService(serviceKey); - // TODO-dxk: 2022/12/11 开票报文忒多了,外层用json,里面的再接入别的方便定义报文 + AjaxResult result = invoiceAllService.invoiceStatic(companyservice, requestBody); //返回处理 增加调用次数 diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllCxhzJsonDataTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllCxhzJsonDataTWODTO.java new file mode 100644 index 0000000..edef77d --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllCxhzJsonDataTWODTO.java @@ -0,0 +1,51 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 查询红字信息表 + * @author dxk + * @date 2022年12月09日 17:16 + */ +@Data +public class InvoiceAllCxhzJsonDataTWODTO { + + @NotEmpty + @ApiModelProperty(value = "申请来源") + private String sqly; + + @NotEmpty + @ApiModelProperty(value = "开票日期起") + private String kprqq; + + @NotEmpty + @ApiModelProperty(value = "开票日期止") + private String kprqz; + + @NotEmpty + @ApiModelProperty(value = "红字发票信息确认单id") + private String hzfpxxqrdid; + + @NotEmpty + @ApiModelProperty(value = "红字发票信息确认单编号") + private String hzfpxxqrdbh; + + @NotEmpty + @ApiModelProperty(value = "蓝字发票号码") + private String lzfphm; + + @NotEmpty + @ApiModelProperty(value = "每页条数") + private String pageSize; + + @NotEmpty + @ApiModelProperty(value = "页数") + private String pageNumber; + + + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllCxhzTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllCxhzTWODTO.java new file mode 100644 index 0000000..ab3559d --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllCxhzTWODTO.java @@ -0,0 +1,36 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 查询红字信息表 + * @author dxk + * @date 2022年12月09日 17:16 + */ +@Data +public class InvoiceAllCxhzTWODTO { + + @NotEmpty + @ApiModelProperty(value = "true") + private String async; + + @NotEmpty + @ApiModelProperty(value = "办税人身份证号") + private String bsrysfzjhm; + + @NotEmpty + @ApiModelProperty(value = "地区编码(参考码表)") + private String dqbm; + + @NotEmpty + @ApiModelProperty(value = "纳税人识别号") + private String nsrsbh; + + + private InvoiceAllCxhzJsonDataTWODTO jsonData; + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllEntityTWO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllEntityTWO.java new file mode 100644 index 0000000..698946a --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllEntityTWO.java @@ -0,0 +1,30 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 公共参数统一类 + * @author kk + * @date 2022年12月09日 17:16 + */ +@Data +public class InvoiceAllEntityTWO { + + @ApiModelProperty(value = "渠道标识") + @NotEmpty + private String dqbm; + + @ApiModelProperty(value = "false") + @NotEmpty + private String nsrsbh; + + @ApiModelProperty(value = "yhdj") + @NotEmpty + private String bsrysfzjhm; + + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionDetailTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionDetailTWODTO.java new file mode 100644 index 0000000..1e89004 --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionDetailTWODTO.java @@ -0,0 +1,30 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 通用查询接口DTO + * + * @author kk + * @date 2022年12月09日 17:16 + */ +@Data +public class InvoiceAllFileAcquisitionDetailTWODTO { + + @NotEmpty + @ApiModelProperty(value = "全电发票号码") + private String fphm; + + @NotEmpty + @ApiModelProperty(value = "开票日期") + private String kprq; + + @NotEmpty + @ApiModelProperty(value = "文件格式") + private String wjgs; + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionOnDetailTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionOnDetailTWODTO.java new file mode 100644 index 0000000..443cfac --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionOnDetailTWODTO.java @@ -0,0 +1,31 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 全电发票文件获取 + * @author kk + * @date 2022年12月09日 17:16 + */ +@Data +public class InvoiceAllFileAcquisitionOnDetailTWODTO { + + + @NotEmpty + @ApiModelProperty(value = "发票号码") + private String fphm; + + @NotEmpty + @ApiModelProperty(value = "开票日期") + private String kprq; + + @NotEmpty + @ApiModelProperty(value = "文件格式") + private String wjgs; + + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionOnTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionOnTWODTO.java new file mode 100644 index 0000000..f4b1901 --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionOnTWODTO.java @@ -0,0 +1,37 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 全电发票文件获取 + * @author kk + * @date 2022年12月09日 17:16 + */ +@Data +public class InvoiceAllFileAcquisitionOnTWODTO { + + + + @NotEmpty + @ApiModelProperty(value = "true") + private String async; + + @NotEmpty + @ApiModelProperty(value = "办税人身份证号") + private String bsrysfzjhm; + + @NotEmpty + @ApiModelProperty(value = "*地区编码(参考码表)") + private String dqbm; + + @NotEmpty + @ApiModelProperty(value = "*纳税人识别号") + private String nsrsbh; + + + private InvoiceAllFileAcquisitionOnDetailTWODTO jsonData; + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionTWODTO.java new file mode 100644 index 0000000..398decb --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllFileAcquisitionTWODTO.java @@ -0,0 +1,43 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 通用查询接口DTO + * + * @author kk + * @date 2022年12月09日 17:16 + */ +@Data +public class InvoiceAllFileAcquisitionTWODTO { + + + + @NotEmpty + @ApiModelProperty(value = "true") + private String async; + + @NotEmpty + @ApiModelProperty(value = "办税人身份证号") + private String bsrysfzjhm; + + @NotEmpty + @ApiModelProperty(value = "*地区编码(参考码表)") + private String dqbm; + + @NotEmpty + @ApiModelProperty(value = "*纳税人识别号") + private String nsrsbh; + + @NotEmpty + @ApiModelProperty(value = "全电发票号码") + private String fphm; + + @NotEmpty + @ApiModelProperty(value = "开票日期,格式:yyyyMMddHHmmss\t") + private String kprq; + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllKshcJsonDataTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllKshcJsonDataTWODTO.java new file mode 100644 index 0000000..8e22c6d --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllKshcJsonDataTWODTO.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 InvoiceAllKshcJsonDataTWODTO { + + + @ApiModelProperty(value = "冲红原因代码") + @NotEmpty + private String chyydm; + + + @NotEmpty + @ApiModelProperty(value = "原发票号码") + private String yfphm; + + + + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllKshcTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllKshcTWODTO.java new file mode 100644 index 0000000..30f387e --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllKshcTWODTO.java @@ -0,0 +1,37 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +/** + * 快速红冲 + */ +@Data +public class InvoiceAllKshcTWODTO { + + + @NotEmpty + @ApiModelProperty(value = "办税人身份证号") + private String bsrysfzjhm; + + @NotEmpty + @ApiModelProperty(value = "地区编码(参考码表)") + private String dqbm; + + @ApiModelProperty(value = "true本接口不支持同步") + @NotNull + private Boolean async; + + @NotEmpty + @ApiModelProperty(value = "纳税人识别号") + private String nsrsbh; + + @NotEmpty + private InvoiceAllKshcJsonDataTWODTO jsonData; + + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllQueryTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllQueryTWODTO.java new file mode 100644 index 0000000..1785605 --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllQueryTWODTO.java @@ -0,0 +1,45 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 通用查询接口DTO + * @author kk + * @date 2022年12月09日 17:16 + */ +@Data +public class InvoiceAllQueryTWODTO { + + @NotEmpty + @ApiModelProperty(value = "渠道标识") + private String appkey; + + @NotEmpty + @ApiModelProperty(value = "地区编码") + private String dqbm; + + @NotEmpty + @ApiModelProperty(value = "false") + private String async; + + @NotEmpty + @ApiModelProperty(value = "办税人身份证号") + private String bsrysfzjhm; + + @NotEmpty + @ApiModelProperty(value = "纳税人识别号") + private String nsrsbh; + + @NotEmpty + @ApiModelProperty(value = "任务id") + private String requestId; + + @NotEmpty + @ApiModelProperty(value = "tycxjk") + private String serviceId; + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllShhzJsonDataTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllShhzJsonDataTWODTO.java new file mode 100644 index 0000000..f1eb5c7 --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllShhzJsonDataTWODTO.java @@ -0,0 +1,30 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 审核红字信息表 + * @author dxk + * @date 2022年12月09日 17:16 + */ +@Data +public class InvoiceAllShhzJsonDataTWODTO { + + @NotEmpty + @ApiModelProperty(value = "确认类型") + private String qrlx; + + @NotEmpty + @ApiModelProperty(value = "红字发票信息确认单id") + private String hzfpxxqrdid; + + @NotEmpty + @ApiModelProperty(value = "销方纳税人识别号") + private String xsfnsrsbh; + + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllShhzTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllShhzTWODTO.java new file mode 100644 index 0000000..4329c68 --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllShhzTWODTO.java @@ -0,0 +1,35 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 审核红字信息表 + * @author dxk + * @date 2022年12月09日 17:16 + */ +@Data +public class InvoiceAllShhzTWODTO { + + @NotEmpty + @ApiModelProperty(value = "true") + private String async; + + @NotEmpty + @ApiModelProperty(value = "办税人身份证号") + private String bsrysfzjhm; + + @NotEmpty + @ApiModelProperty(value = "*地区编码(参考码表)") + private String dqbm; + + @NotEmpty + @ApiModelProperty(value = "*纳税人识别号") + private String nsrsbh; + + private InvoiceAllShhzJsonDataTWODTO jsonData; + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllSqhzJsonDataDetailTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllSqhzJsonDataDetailTWODTO.java new file mode 100644 index 0000000..6d520e0 --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllSqhzJsonDataDetailTWODTO.java @@ -0,0 +1,57 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 申请红字信息表 + * @author dxk + * @date 2022年12月09日 17:16 + */ +@Data +public class InvoiceAllSqhzJsonDataDetailTWODTO { + + @NotEmpty + @ApiModelProperty(value = "单价") + private String dj; + + @NotEmpty + @ApiModelProperty(value = "单位") + private String dw; + + @NotEmpty + @ApiModelProperty(value = "规格型号") + private String ggxh; + + @NotEmpty + @ApiModelProperty(value = "金额") + private String je; + + @NotEmpty + @ApiModelProperty(value = "蓝字明细序号") + private String lzmxxh; + + @NotEmpty + @ApiModelProperty(value = "税额") + private String se; + + @NotEmpty + @ApiModelProperty(value = "数量") + private String sl; + + @NotEmpty + @ApiModelProperty(value = "税率") + private String slv; + + @NotEmpty + @ApiModelProperty(value = "商品编码") + private String spbm; + + @NotEmpty + @ApiModelProperty(value = "商品名称") + private String xmmc; + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllSqhzJsonDataTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllSqhzJsonDataTWODTO.java new file mode 100644 index 0000000..85c1643 --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllSqhzJsonDataTWODTO.java @@ -0,0 +1,64 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.util.List; + +/** + * 申请红字信息表 + * @author dxk + * @date 2022年12月09日 17:16 + */ +@Data +public class InvoiceAllSqhzJsonDataTWODTO { + + @NotEmpty + @ApiModelProperty(value = "冲红原因代码") + private String chyydm; + + @NotEmpty + @ApiModelProperty(value = "购买方纳税人识别号") + private String gmfnsrsbh; + + @NotEmpty + @ApiModelProperty(value = "红字合计金额") + private String hzcxje; + + @NotEmpty + @ApiModelProperty(value = "红字合计税额") + private String hzcxse; + + @NotEmpty + @ApiModelProperty(value = "申请来源") + private String sqly; + + @NotEmpty + @ApiModelProperty(value = "特定要素类型代码(参考码表)") + private String tdyslxdm; + + @NotEmpty + @ApiModelProperty(value = "销售方纳税人识别号") + private String xsfnsrsbh; + + @NotEmpty + @ApiModelProperty(value = "原发票号码") + private String yfphm; + + @NotEmpty + @ApiModelProperty(value = "原开票日期") + private String ykprq; + + @NotEmpty + @ApiModelProperty(value = "原纸质发票代码") + private String yzzfpdm; + + @NotEmpty + @ApiModelProperty(value = "原纸质发票号码") + private String yzzfphm; + + private List hzqrxxmxlist; + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllSqhzTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllSqhzTWODTO.java new file mode 100644 index 0000000..a465acb --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllSqhzTWODTO.java @@ -0,0 +1,36 @@ +package com.jianshui.invoice.domain.dto.api; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 申请红字信息表 + * @author dxk + * @date 2022年12月09日 17:16 + */ +@Data +public class InvoiceAllSqhzTWODTO { + + @NotEmpty + @ApiModelProperty(value = "true") + private String async; + + @NotEmpty + @ApiModelProperty(value = "办税人身份证号") + private String bsrysfzjhm; + + @NotEmpty + @ApiModelProperty(value = "*地区编码(参考码表)") + private String dqbm; + + @NotEmpty + @ApiModelProperty(value = "纳税人识别号") + private String nsrsbh; + + private InvoiceAllSqhzJsonDataTWODTO jsonData; + + + +} 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 31c7473..90dbb2b 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 @@ -7,6 +7,10 @@ import com.jianshui.invoice.domain.BillInfo; import com.jianshui.invoice.domain.Invoice; import com.jianshui.invoice.domain.Redinfo; import com.jianshui.invoice.domain.dto.*; +import com.jianshui.invoice.domain.dto.api.InvoiceAllFileAcquisitionOnTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllFileAcquisitionTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllKshcTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllShhzTWODTO; import javax.servlet.http.HttpServletRequest; @@ -195,7 +199,7 @@ public interface IInvoiceApiService { * @param companyservice * @return */ - HXResponse getFileUrl(JSONObject decryptResult, Companyservice companyservice); + HXResponse getFileUrl(InvoiceAllFileAcquisitionTWODTO invoiceAllFileAcquisitionTWODTO, Companyservice companyservice); /** * 全电发票文件获取 @@ -203,7 +207,7 @@ public interface IInvoiceApiService { * @param companyservice * @return */ - HXResponse getFileAcquisitionOn(JSONObject decryptResult, Companyservice companyservice); + HXResponse getFileAcquisitionOn(InvoiceAllFileAcquisitionOnTWODTO invoiceAllFileAcquisitionOnTWODTO, Companyservice companyservice); /** *获取人脸二维码 @@ -235,7 +239,7 @@ public interface IInvoiceApiService { * @param companyservice * @return */ - HXResponse issueFastRedInvoice(JSONObject decryptResult, Companyservice companyservice); + HXResponse issueFastRedInvoice(InvoiceAllKshcTWODTO invoiceAllKshcTWODTO, Companyservice companyservice); /** *蓝字发票统计 @@ -251,7 +255,7 @@ public interface IInvoiceApiService { * @param companyservice * @return */ - HXResponse auditRedInfo(JSONObject decryptResult, Companyservice companyservice); + HXResponse auditRedInfo(InvoiceAllShhzTWODTO invoiceAllShhzTWODTO, Companyservice companyservice); 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 cd9de95..81e825d 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 @@ -18,6 +18,10 @@ import com.jianshui.common.utils.uuid.IdUtils; import com.jianshui.invoice.constant.aisino.console.AisinoConsoleConstants; import com.jianshui.invoice.domain.*; import com.jianshui.invoice.domain.dto.*; +import com.jianshui.invoice.domain.dto.api.InvoiceAllFileAcquisitionOnTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllFileAcquisitionTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllKshcTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllShhzTWODTO; import com.jianshui.invoice.domain.dto.api.aisino.console.*; import com.jianshui.invoice.domain.vo.api.aisino.console.AisinoConsoleInvoiceAddVO; import com.jianshui.invoice.mapper.BillInfoMapper; @@ -99,13 +103,13 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService { aisinoConsoleInvoiceAddDTO.setInvoiceType(invoceTypeTemp); //购方地址电话 - String buyerAddress = billInfo.getBuyerAddress(); - String buyerTelPhone = billInfo.getBuyerTelephone(); + String buyerAddress = billInfo.getBuyerAddress() != null ? billInfo.getBuyerAddress(): ""; + String buyerTelPhone = billInfo.getBuyerTelephone() !=null ? billInfo.getBuyerTelephone(): ""; aisinoConsoleInvoiceAddDTO.setCustomerAddressTel(buyerAddress + buyerTelPhone); //购方银行账户 - String buyerBank = billInfo.getBuyerBank(); - String buyerAccount = billInfo.getBuyerAccount(); + String buyerBank = billInfo.getBuyerBank() != null ? billInfo.getBuyerBank():""; + String buyerAccount = billInfo.getBuyerAccount() !=null ? billInfo.getBuyerAccount():""; aisinoConsoleInvoiceAddDTO.setCustomerBankAccountNr(buyerBank + buyerAccount); //销方银行账户 @@ -933,12 +937,12 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService { } @Override - public HXResponse getFileUrl(JSONObject decryptResult, Companyservice companyservice) { + public HXResponse getFileUrl(InvoiceAllFileAcquisitionTWODTO invoiceAllFileAcquisitionTWODTO, Companyservice companyservice) { return null; } @Override - public HXResponse getFileAcquisitionOn(JSONObject decryptResult, Companyservice companyservice) { + public HXResponse getFileAcquisitionOn(InvoiceAllFileAcquisitionOnTWODTO invoiceAllFileAcquisitionOnTWODTO, Companyservice companyservice) { return null; } @@ -958,7 +962,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService { } @Override - public HXResponse issueFastRedInvoice(JSONObject decryptResult, Companyservice companyservice) { + public HXResponse issueFastRedInvoice(InvoiceAllKshcTWODTO invoiceAllKshcDTO, Companyservice companyservice) { return null; } @@ -968,7 +972,9 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService { } @Override - public HXResponse auditRedInfo(JSONObject decryptResult, Companyservice companyservice) { + public HXResponse auditRedInfo(InvoiceAllShhzTWODTO invoiceAllShhzTWODTO, 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 01fedb4..c4741f9 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 @@ -26,6 +26,10 @@ import com.jianshui.invoice.domain.dto.*; import com.jianshui.invoice.domain.dto.adapter.request.nuonuo2.QueryInvoiceDTO; import com.jianshui.invoice.domain.dto.adapter.response.RedInfoDTO; import com.jianshui.invoice.domain.dto.adapter.response.RedInfoDetailDTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllFileAcquisitionOnTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllFileAcquisitionTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllKshcTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllShhzTWODTO; import com.jianshui.invoice.domain.dto.api.elephant.*; import com.jianshui.invoice.mapper.BillInfoMapper; import com.jianshui.invoice.mapper.InvoiceMapper; @@ -1739,12 +1743,12 @@ public class ElephantInvoiceApiServiceImpl implements IInvoiceApiService { } @Override - public HXResponse getFileUrl(JSONObject decryptResult, Companyservice companyservice) { + public HXResponse getFileUrl(InvoiceAllFileAcquisitionTWODTO invoiceAllFileAcquisitionTWODTO, Companyservice companyservice) { return null; } @Override - public HXResponse getFileAcquisitionOn(JSONObject decryptResult, Companyservice companyservice) { + public HXResponse getFileAcquisitionOn(InvoiceAllFileAcquisitionOnTWODTO invoiceAllFileAcquisitionOnTWODTO, Companyservice companyservice) { return null; } @@ -1764,7 +1768,7 @@ public class ElephantInvoiceApiServiceImpl implements IInvoiceApiService { } @Override - public HXResponse issueFastRedInvoice(JSONObject decryptResult, Companyservice companyservice) { + public HXResponse issueFastRedInvoice(InvoiceAllKshcTWODTO invoiceAllKshcDTO, Companyservice companyservice) { return null; } @@ -1774,7 +1778,9 @@ public class ElephantInvoiceApiServiceImpl implements IInvoiceApiService { } @Override - public HXResponse auditRedInfo(JSONObject decryptResult, Companyservice companyservice) { + public HXResponse auditRedInfo(InvoiceAllShhzTWODTO invoiceAllShhzTWODTO, Companyservice companyservice) { return null; } + + } 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 00ad2f2..d8486d8 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 @@ -1,5 +1,10 @@ package com.jianshui.invoice.service.impl.api; import java.util.Date; + +import com.jianshui.invoice.domain.dto.api.InvoiceAllFileAcquisitionOnTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllFileAcquisitionTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllKshcTWODTO; +import com.jianshui.invoice.domain.dto.api.InvoiceAllShhzTWODTO; import com.jianshui.invoice.domain.dto.api.jcsk.*; import cn.hutool.core.bean.BeanUtil; @@ -899,6 +904,10 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { } + + + /** 金财数科新增接口 **/ + @Override public Object addCallback(HttpServletRequest request) { return null; @@ -909,47 +918,310 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { return null; } + + + @Override - public HXResponse getFileUrl(JSONObject decryptResult, Companyservice companyservice) { - return null; + public HXResponse getFileUrl(InvoiceAllFileAcquisitionTWODTO invoiceAllFileAcquisitionTWODTO, Companyservice companyservice) { + + FileAcquisitionTwoDTO fileAcquisitionDTO = BeanUtil.copyProperties(invoiceAllFileAcquisitionTWODTO, FileAcquisitionTwoDTO.class); + ValidateUtils.validate(fileAcquisitionDTO); + + cn.hutool.json.JSONObject result = null; + try { + result = ApiHttp.request(WebServiceConstant.FPEWMXZ, WebServiceConstant.URL, fileAcquisitionDTO, 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)) { + cn.hutool.json.JSONObject json = JSONUtil.parseObj(data); + String requestId = json.getOrDefault("requestId", "").toString(); + if (StrUtil.isEmpty(requestId)) { + return new HXResponse(msg); + } + InvoiceAllApiLog allApiLog = new InvoiceAllApiLog(); + allApiLog.setUrl(WebServiceConstant.FPEWMXZ); + allApiLog.setSendMsg(fileAcquisitionDTO.toString()); + allApiLog.setResultMsg(JSONUtil.toJsonStr(result)); + allApiLog.setCompany(companyservice.getSellertax()); + allApiLog.setIdentityId(companyservice.getIdentity()); + allApiLog.setRequestId(requestId); + allApiLog.setCreateTime(new Date()); + allApiLogMapper.insertInvoiceAllApiLog(allApiLog); + + } else { + return new HXResponse(msg); + } + } catch (Exception e) { + e.printStackTrace(); + log.error("【金四服务类】【金财数科】【获取发票下载地址】API请求异常,外部报文返回code非0000。错误信息:{}", e.getMessage()); + return new HXResponse("获取发票下载地址错误!"); + + } + + HXResponse response = new HXResponse("0000", "同步成功",result); + return response; } @Override - public HXResponse getFileAcquisitionOn(JSONObject decryptResult, Companyservice companyservice) { - return null; + public HXResponse getFileAcquisitionOn(InvoiceAllFileAcquisitionOnTWODTO invoiceAllFileAcquisitionOnTWODTO, Companyservice companyservice) { + FileAcquisitionOnTwoDTO fileAcquisitionOnDTO = BeanUtil.copyProperties(invoiceAllFileAcquisitionOnTWODTO, FileAcquisitionOnTwoDTO.class); + FileAcquisitionOnDetailTwoDTO fileAcquisitionOnDetailDTO = BeanUtil.copyProperties(invoiceAllFileAcquisitionOnTWODTO.getJsonData(),FileAcquisitionOnDetailTwoDTO.class); + fileAcquisitionOnDTO.setJsonData(fileAcquisitionOnDetailDTO); + ValidateUtils.validate(fileAcquisitionOnDTO); + ValidateUtils.validate(fileAcquisitionOnDetailDTO); + + cn.hutool.json.JSONObject result = null; + try { + result = ApiHttp.request(WebServiceConstant.QDFPWJHQ, WebServiceConstant.URL, fileAcquisitionOnDTO, 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)) { + cn.hutool.json.JSONObject json = JSONUtil.parseObj(data); + String requestId = json.getOrDefault("requestId", "").toString(); + if (StrUtil.isEmpty(requestId)) { + return new HXResponse(msg); + } + InvoiceAllApiLog allApiLog = new InvoiceAllApiLog(); + allApiLog.setUrl(WebServiceConstant.QDFPWJHQ); + allApiLog.setSendMsg(fileAcquisitionOnDTO.toString()); + allApiLog.setResultMsg(JSONUtil.toJsonStr(result)); + allApiLog.setCompany(companyservice.getSellertax()); + allApiLog.setIdentityId(companyservice.getIdentity()); + allApiLog.setRequestId(requestId); + allApiLog.setCreateTime(new Date()); + allApiLogMapper.insertInvoiceAllApiLog(allApiLog); + + } else { + return new HXResponse(msg); + } + } catch (Exception e) { + e.printStackTrace(); + log.error("【金四服务类】【金财数科】【全电安排文件获取】API请求异常,外部报文返回code非0000。错误信息:{}", e.getMessage()); + return new HXResponse("全电发票文件获取错误!"); + + } + + HXResponse response = new HXResponse("0000", "同步成功",result); + return response; } @Override public HXResponse qrcode(JSONObject decryptResult, Companyservice companyservice) { - return null; + cn.hutool.json.JSONObject result = null; + try { + result = ApiHttp.request(WebServiceConstant.QRCODE, WebServiceConstant.URL, decryptResult, companyservice); + // TODO: 2022/12/11 返回处理 VO整理,数据存储。 + + 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() : ""; + + // TODO-kk: 2023/1/16 数据存储再整下 + if ("0000".equals(code) && StrUtil.isNotEmpty(data)) { + cn.hutool.json.JSONObject json = JSONUtil.parseObj(data); + String requestId = json.getOrDefault("requestId", "").toString(); + if (StrUtil.isEmpty(requestId)) { + return new HXResponse(msg); + } + + HXResponse response = new HXResponse("0000", "同步成功",json); + return response; + } else { + return new HXResponse(msg); + } + } catch (Exception e) { + e.printStackTrace(); + log.error("【金四服务类】【金财数科】【获取二维码】API请求异常,外部报文返回code非0000。错误信息:{}", e.getMessage()); + return new HXResponse("获取二维码错误!"); + + } + + // TODO 处理日志 +// log.info("【金四服务类】【金财数科】【获取二维码】API请求成功,外部报文返回code。返回信息:{}", result); + +// return AjaxResult.success(result); } @Override public HXResponse query(JSONObject decryptResult, Companyservice companyservice) { - return null; + cn.hutool.json.JSONObject result = null; + try { + result = ApiHttp.request(WebServiceConstant.QUERY, WebServiceConstant.URL, decryptResult, companyservice); + // TODO: 2022/12/11 返回处理 VO整理,数据存储。 + } catch (Exception e) { + e.printStackTrace(); + log.error("【金四服务类】【金财数科】【获取二维码】API请求异常,外部报文返回code非0000。错误信息:{}", e.getMessage()); + return new HXResponse("发票查询错误"); + + } + + // TODO 处理日志 + + HXResponse response = new HXResponse("0000", "同步成功",result); + return response; } @Override public HXResponse getPrintXML(JSONObject decryptResult, Companyservice companyservice) { - return null; + cn.hutool.json.JSONObject result = null; + try { + result = ApiHttp.request(WebServiceConstant.GET_PRINT_XML, WebServiceConstant.URL, decryptResult, companyservice); + // TODO: 2022/12/11 返回处理 VO整理,数据存储。 + } catch (Exception e) { + e.printStackTrace(); + log.error("【金四服务类】【金财数科】【获取二维码】API请求异常,外部报文返回code非0000。错误信息:{}", e.getMessage()); + return new HXResponse("获取二维码错误!"); + + } + + // TODO 处理日志 + + HXResponse response = new HXResponse("0000", "同步成功",result); + return response; } @Override - public HXResponse issueFastRedInvoice(JSONObject decryptResult, Companyservice companyservice) { - return null; + public HXResponse issueFastRedInvoice(InvoiceAllKshcTWODTO invoiceAllKshcDTO, Companyservice companyservice) { + KshcTwoDTO kshcDTO = BeanUtil.copyProperties(invoiceAllKshcDTO, KshcTwoDTO.class); + ValidateUtils.validate(kshcDTO); + ValidateUtils.validate(kshcDTO.getJsonData()); + + cn.hutool.json.JSONObject result = null; + try { + result = ApiHttp.request(WebServiceConstant.KSHC, WebServiceConstant.URL, kshcDTO, 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)) { + cn.hutool.json.JSONObject json = JSONUtil.parseObj(data); + String requestId = json.getOrDefault("requestId", "").toString(); + if (StrUtil.isEmpty(requestId)) { + return new HXResponse(msg); + } + InvoiceAllApiLog allApiLog = new InvoiceAllApiLog(); + allApiLog.setUrl(WebServiceConstant.KSHC); + allApiLog.setSendMsg(kshcDTO.toString()); + allApiLog.setResultMsg(JSONUtil.toJsonStr(result)); + allApiLog.setCompany(companyservice.getSellertax()); + allApiLog.setIdentityId(companyservice.getIdentity()); + allApiLog.setRequestId(requestId); + allApiLog.setCreateTime(new Date()); + allApiLogMapper.insertInvoiceAllApiLog(allApiLog); + + } else { + return new HXResponse(msg); + } + } catch (Exception e) { + e.printStackTrace(); + log.error("【金四服务类】【金财数科】【快速红冲】API请求异常,外部报文返回code非0000。错误信息:{}", e.getMessage()); + return new HXResponse("快速红冲错误!"); + + } + + HXResponse response = new HXResponse("0000", "同步成功",result); + return response; } @Override public HXResponse invoiceStatic(JSONObject decryptResult, Companyservice companyservice) { - return null; + // com.alibaba.fastjson.JSONObject jsonObj = requestBody.getJSONObject("jsonData"); + // if (jsonObj == null) { + // return AjaxResult.error(ErrorCode.INVOICE_NOT_EXISTS); + // } + + cn.hutool.json.JSONObject result = null; + try { + result = ApiHttp.request(WebServiceConstant.INVOICE_STATIC, WebServiceConstant.URL, decryptResult, companyservice); + } catch (Exception e) { + e.printStackTrace(); + log.error("【金四服务类】【金财数科】【获取二维码】API请求异常,外部报文返回code非0000。错误信息:{}", e.getMessage()); + return new HXResponse("发票统计错误!"); + } + + // 处理请求 + if (!StringUtils.equals("0000", result.getStr("code"))) { + log.error("【金四服务类】【金财数科】【获取二维码】API请求异常,外部报文返回code非0000。返回信息:{}", result); + return new HXResponse(result.getStr("message")); + } + + cn.hutool.json.JSONObject data = result.getJSONObject("data"); + if (data == null) { + return new HXResponse("发票统计错误!"); + } + + log.info("【金四服务类】【金财数科】【蓝字统计】API请求成功,返回信息:{}", result); + + // String requestId = data.getStr("requestId"); + + HXResponse response = new HXResponse("0000", "同步成功",data); + return response; } @Override - public HXResponse auditRedInfo(JSONObject decryptResult, Companyservice companyservice) { - return null; + public HXResponse auditRedInfo(InvoiceAllShhzTWODTO invoiceAllShhzTWODTO, Companyservice companyservice) { + // TODO: 2023/3/16 外部报文转数科校验 + + ShhzTwoDTO shhzDTO = BeanUtil.copyProperties(invoiceAllShhzTWODTO,ShhzTwoDTO.class); + ValidateUtils.validate(shhzDTO); + + ShhzJsonDataTwoDTO shhzJsonDataDTO = BeanUtil.copyProperties(shhzDTO.getJsonData(),ShhzJsonDataTwoDTO.class); + ValidateUtils.validate(shhzJsonDataDTO); + + shhzDTO.setJsonData(shhzJsonDataDTO); + + + cn.hutool.json.JSONObject result = null; + try { + result = ApiHttp.request(WebServiceConstant.SHHZFPXXQRD, WebServiceConstant.URL, shhzDTO, 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)) { + cn.hutool.json.JSONObject json = JSONUtil.parseObj(data); + String requestId = json.getOrDefault("requestId", "").toString(); + if (StrUtil.isEmpty(requestId)) { + return new HXResponse(msg); + } + InvoiceAllApiLog allApiLog = new InvoiceAllApiLog(); + allApiLog.setUrl(WebServiceConstant.SHHZFPXXQRD); + allApiLog.setSendMsg(shhzDTO.toString()); + allApiLog.setResultMsg(JSONUtil.toJsonStr(result)); + allApiLog.setCompany(companyservice.getSellertax()); + allApiLog.setIdentityId(companyservice.getIdentity()); + allApiLog.setRequestId(requestId); + allApiLog.setCreateTime(new Date()); + allApiLogMapper.insertInvoiceAllApiLog(allApiLog); + + } else { + return new HXResponse(msg); + } + } catch (Exception e) { + e.printStackTrace(); + log.error("【金四服务类】【金财数科】【审核红字信息表】API请求异常,外部报文返回code非0000。错误信息:{}", e.getMessage()); + return new HXResponse("审核红字信息表错误!"); + + } + + HXResponse response = new HXResponse("0000", "同步成功",result); + return response; } + + + + + /** * 简税和金财数科 发票类型互换 *