From 9b94fb1ea8cdf8ff810a5544fe5502107cfa72de Mon Sep 17 00:00:00 2001 From: dongxiaoke <1910333201@qq.com> Date: Thu, 13 Apr 2023 13:42:01 +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 | 47 +++++++++++++--- .../invoiceall/v1/InvoiceAllController.java | 41 ++++++++++++++ .../common/constant/WebServiceConstant.java | 5 ++ .../domain/dto/jcsk/RedInvoiceDetailDTO.java | 37 +++++++++++++ .../dto/jcsk/RedInvoiceDetailJsonDataDTO.java | 25 +++++++++ .../invoiceall/service/IInvoiceAll.java | 11 ++-- .../service/impl/InvoiceAllImpl.java | 53 +++++++++++++++++++ ...oiceAllRedInvoiceDetailJsonDataTWODTO.java | 25 +++++++++ .../api/InvoiceAllRedInvoiceDetailTWODTO.java | 36 +++++++++++++ .../jcsk/RedInvoiceDetailJsonDataTWODTO.java | 25 +++++++++ .../dto/api/jcsk/RedInvoiceDetailTWODTO.java | 37 +++++++++++++ .../invoice/service/IInvoiceApiService.java | 14 ++--- .../AisinoConsoleInvoiceApiServiceImpl.java | 10 ++-- .../api/ElephantInvoiceApiServiceImpl.java | 10 ++-- .../impl/api/JcskInvoiceApiServiceImpl.java | 52 ++++++++++++++++-- 15 files changed, 398 insertions(+), 30 deletions(-) create mode 100644 jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/RedInvoiceDetailDTO.java create mode 100644 jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/RedInvoiceDetailJsonDataDTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllRedInvoiceDetailJsonDataTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllRedInvoiceDetailTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/RedInvoiceDetailJsonDataTWODTO.java create mode 100644 jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/RedInvoiceDetailTWODTO.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 2357329..fce173a 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,10 +10,7 @@ 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.domain.dto.api.*; import com.jianshui.invoice.service.IInvoiceApiService; import com.jianshui.invoice.service.IInvoiceRequestService; import com.jianshui.invoice.factory.IInvoiceRequestFactory; @@ -21,10 +18,7 @@ import com.jianshui.invoice.factory.IInvoiceResponseFactory; import com.jianshui.invoice.factory.IInvoiceServiceFactory; import com.jianshui.invoice.service.IInvoiceResponseService; import com.jianshui.invoice.utils.ApiRequestUtils; -import com.jianshui.invoiceall.domain.dto.InvoiceAllFileAcquisitionDTO; -import com.jianshui.invoiceall.domain.dto.InvoiceAllFileAcquisitionOnDTO; -import com.jianshui.invoiceall.domain.dto.InvoiceAllKshcDTO; -import com.jianshui.invoiceall.domain.dto.InvoiceAllShhzDTO; +import com.jianshui.invoiceall.domain.dto.*; import com.jianshui.invoiceall.service.IInvoiceAll; import com.jianshui.invoiceall.service.IInvoiceAllRequestService; import com.jianshui.invoiceall.service.IInvoiceAllResponseService; @@ -1153,6 +1147,43 @@ public class InvoiceController { } + @ApiOperation("查询红字信息表明细") + @ApiImplicitParams({ + @ApiImplicitParam(name = "", value = "身份认证", dataType = "string", example = "1130", required = true), + @ApiImplicitParam(name = "order", value = "请求体", required = true)}) + @PostMapping({"/api/invoice_all/v2/queryRedInfoDetail/{identity}", "/api/invoice_all/v2/queryRedInfoDetail"}) + public Object queryRedInfoDetail(HttpServletRequest request, String identity) throws Exception { +// auditRedInfo + + 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()); + + InvoiceAllRedInvoiceDetailTWODTO invoiceAllRedInvoiceDetailDTO= decryptResult.toJavaObject(InvoiceAllRedInvoiceDetailTWODTO.class); + IInvoiceApiService invoiceService = invoiceServiceFactory.getService(serviceKey); + HXResponse result = invoiceService.queryRedInfoDetail(invoiceAllRedInvoiceDetailDTO, companyservice); + + String responseAdapterKey = serviceManageService.getResponseAdapterKey("invoice", companyservice.getCompanyid()); + IInvoiceResponseService invoiceResponseService = invoiceResponseFactory.getService(responseAdapterKey); + + return invoiceResponseService.response(result, companyservice, ""); + + } + 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 1ecbacb..dba0e44 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 @@ -618,6 +618,47 @@ public class InvoiceAllController { + @ApiOperation("查询红字信息表明细") + @ApiImplicitParams({ + @ApiImplicitParam(name = "", value = "身份认证", dataType = "string", example = "1130", required = true), + @ApiImplicitParam(name = "order", value = "请求体", required = true)}) + @PostMapping({"/api/invoice_all/v1/queryRedInfoDetail/{identity}", "/api/invoice_all/v1/queryRedInfoDetail"}) + public Object queryRedInfoDetail(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(SERVICE_KEY, companyservice.getCompanyid()); + IInvoiceAllRequestService incomeRequestService = invoiceAllRequestFactory.getService(requestAdapterKey); + JSONObject requestBody = incomeRequestService.decrypt(request, companyservice); + + // 获得请求实例,并且进行扣费 + String serviceKey = serviceManageService.getCompanyServiceSupplier(SERVICE_KEY, companyservice.getCompanyid()); + IInvoiceAll invoiceAllService = iInvoceiAllServiceFactory.getService(serviceKey); + + InvoiceAllRedInvoiceDetailDTO invoiceAllRedInvoiceDetailDTO= requestBody.toJavaObject(InvoiceAllRedInvoiceDetailDTO.class); + AjaxResult result = invoiceAllService.queryRedInfoDetail(companyservice, invoiceAllRedInvoiceDetailDTO); + + //返回处理 增加调用次数 + if (result.isSuccess()) { + serviceManageService.companyConsume(SERVICE_KEY, companyservice.getCompanyid()); + } + + //返回报文处理器 + String responseAdapterKey = serviceManageService.getResponseAdapterKey(SERVICE_KEY, companyservice.getCompanyid()); + IInvoiceAllResponseService incomeResponseService = invoiceAllResponseFactory.getService(responseAdapterKey); + + return incomeResponseService.response(result, companyservice, ""); + } + + diff --git a/jianshui-common/src/main/java/com/jianshui/common/constant/WebServiceConstant.java b/jianshui-common/src/main/java/com/jianshui/common/constant/WebServiceConstant.java index 079337c..e645d4e 100644 --- a/jianshui-common/src/main/java/com/jianshui/common/constant/WebServiceConstant.java +++ b/jianshui-common/src/main/java/com/jianshui/common/constant/WebServiceConstant.java @@ -90,6 +90,11 @@ public class WebServiceConstant { */ public final static String QDFPWJHQ = "qdfpwjhq"; + /** + * 查询红字信息表明细 + */ + public final static String CXHZFPXXQRDMX = "cxhzfpxxqrdmx"; + diff --git a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/RedInvoiceDetailDTO.java b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/RedInvoiceDetailDTO.java new file mode 100644 index 0000000..864e4bd --- /dev/null +++ b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/RedInvoiceDetailDTO.java @@ -0,0 +1,37 @@ +package com.jianshui.invoiceall.domain.dto.jcsk; + +import com.jianshui.invoiceall.domain.dto.InvoiceAllRedInvoiceDetailJsonDataDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 查询红字信息表明细 + * @author dxk + * @date 2022年12月09日 17:16 + */ +@Data +public class RedInvoiceDetailDTO { + + @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 InvoiceAllRedInvoiceDetailJsonDataDTO jsonData; + + +} diff --git a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/RedInvoiceDetailJsonDataDTO.java b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/RedInvoiceDetailJsonDataDTO.java new file mode 100644 index 0000000..6fa3e51 --- /dev/null +++ b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/RedInvoiceDetailJsonDataDTO.java @@ -0,0 +1,25 @@ +package com.jianshui.invoiceall.domain.dto.jcsk; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 查询红字信息表明细 + * @author dxk + * @date 2022年12月09日 17:16 + */ +@Data +public class RedInvoiceDetailJsonDataDTO { + + @NotEmpty + @ApiModelProperty(value = "红字发票信息确认单id") + private String hzfpxxqrdid; + + @NotEmpty + @ApiModelProperty(value = "销售方纳税人识别号") + private String xsfnsrsbh; + + +} diff --git a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/IInvoiceAll.java b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/IInvoiceAll.java index 9dca05a..a34a15f 100644 --- a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/IInvoiceAll.java +++ b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/IInvoiceAll.java @@ -139,10 +139,13 @@ public interface IInvoiceAll { AjaxResult getFileAcquisitionOn(Companyservice companyservice, InvoiceAllFileAcquisitionOnDTO invoiceAllFileAcquisitionDTO); - - - - + /** + * 查询红字信息表明细 + * @param companyservice + * @param invoiceAllRedInvoiceDetailDTO + * @return + */ + AjaxResult queryRedInfoDetail(Companyservice companyservice, InvoiceAllRedInvoiceDetailDTO invoiceAllRedInvoiceDetailDTO); diff --git a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java index 0f2c24d..2e852b7 100644 --- a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java +++ b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java @@ -1153,5 +1153,58 @@ public class InvoiceAllImpl implements IInvoiceAll { return AjaxResult.success(result); } + /** + * 查询红字申请表明细 + * @param companyservice + * @param invoiceAllRedInvoiceDetailDTO + * @return + */ + @Override + public AjaxResult queryRedInfoDetail(Companyservice companyservice, InvoiceAllRedInvoiceDetailDTO invoiceAllRedInvoiceDetailDTO) { + + + RedInvoiceDetailDTO redInvoiceDetailDTO = BeanUtil.copyProperties(invoiceAllRedInvoiceDetailDTO, RedInvoiceDetailDTO.class); + InvoiceAllRedInvoiceDetailJsonDataDTO redInvoiceDetailJsonDataDTO = BeanUtil.copyProperties(invoiceAllRedInvoiceDetailDTO.getJsonData(),InvoiceAllRedInvoiceDetailJsonDataDTO.class); + redInvoiceDetailDTO.setJsonData(redInvoiceDetailJsonDataDTO); + ValidateUtils.validate(redInvoiceDetailDTO); + ValidateUtils.validate(redInvoiceDetailJsonDataDTO); + + JSONObject result = null; + try { + result = ApiHttp.request(WebServiceConstant.CXHZFPXXQRDMX, WebServiceConstant.URL, redInvoiceDetailDTO, 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)) { + JSONObject json = JSONUtil.parseObj(data); + String requestId = json.getOrDefault("requestId", "").toString(); + if (StrUtil.isEmpty(requestId)) { + return AjaxResult.error(msg); + } + InvoiceAllApiLog allApiLog = new InvoiceAllApiLog(); + allApiLog.setUrl(WebServiceConstant.QDFPWJHQ); + allApiLog.setSendMsg(redInvoiceDetailDTO.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 AjaxResult.error(msg); + } + } catch (Exception e) { + e.printStackTrace(); + log.error("【金四服务类】【金财数科】【查询红字申请表明细】API请求异常,外部报文返回code非0000。错误信息:{}", e.getMessage()); + return AjaxResult.error(ErrorCode.INCOME_ERROR); + + } + + return AjaxResult.success(result); + } + } diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllRedInvoiceDetailJsonDataTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllRedInvoiceDetailJsonDataTWODTO.java new file mode 100644 index 0000000..d4864ee --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllRedInvoiceDetailJsonDataTWODTO.java @@ -0,0 +1,25 @@ +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 InvoiceAllRedInvoiceDetailJsonDataTWODTO { + + @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/InvoiceAllRedInvoiceDetailTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllRedInvoiceDetailTWODTO.java new file mode 100644 index 0000000..db2125a --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceAllRedInvoiceDetailTWODTO.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 InvoiceAllRedInvoiceDetailTWODTO { + + @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 InvoiceAllRedInvoiceDetailJsonDataTWODTO jsonData; + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/RedInvoiceDetailJsonDataTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/RedInvoiceDetailJsonDataTWODTO.java new file mode 100644 index 0000000..d764923 --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/RedInvoiceDetailJsonDataTWODTO.java @@ -0,0 +1,25 @@ +package com.jianshui.invoice.domain.dto.api.jcsk; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 查询红字信息表明细 + * @author dxk + * @date 2022年12月09日 17:16 + */ +@Data +public class RedInvoiceDetailJsonDataTWODTO { + + @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/jcsk/RedInvoiceDetailTWODTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/RedInvoiceDetailTWODTO.java new file mode 100644 index 0000000..b4d266e --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/RedInvoiceDetailTWODTO.java @@ -0,0 +1,37 @@ +package com.jianshui.invoice.domain.dto.api.jcsk; + +import com.jianshui.invoice.domain.dto.api.InvoiceAllRedInvoiceDetailJsonDataTWODTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 查询红字信息表明细 + * @author dxk + * @date 2022年12月09日 17:16 + */ +@Data +public class RedInvoiceDetailTWODTO { + + @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 InvoiceAllRedInvoiceDetailJsonDataTWODTO 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 90dbb2b..aa63c10 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,10 +7,7 @@ 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 com.jianshui.invoice.domain.dto.api.*; import javax.servlet.http.HttpServletRequest; @@ -258,6 +255,11 @@ public interface IInvoiceApiService { HXResponse auditRedInfo(InvoiceAllShhzTWODTO invoiceAllShhzTWODTO, Companyservice companyservice); - - + /** + * 查询红字信息表明细 + * @param invoiceAllRedInvoiceDetailDTO + * @param companyservice + * @return + */ + HXResponse queryRedInfoDetail(InvoiceAllRedInvoiceDetailTWODTO invoiceAllRedInvoiceDetailDTO, 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 81e825d..c7f6ba3 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,10 +18,7 @@ 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.*; 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; @@ -976,5 +973,10 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService { return null; } + @Override + public HXResponse queryRedInfoDetail(InvoiceAllRedInvoiceDetailTWODTO invoiceAllRedInvoiceDetailDTO, 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 c4741f9..990cdfb 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,10 +26,7 @@ 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.*; import com.jianshui.invoice.domain.dto.api.elephant.*; import com.jianshui.invoice.mapper.BillInfoMapper; import com.jianshui.invoice.mapper.InvoiceMapper; @@ -1782,5 +1779,10 @@ public class ElephantInvoiceApiServiceImpl implements IInvoiceApiService { return null; } + @Override + public HXResponse queryRedInfoDetail(InvoiceAllRedInvoiceDetailTWODTO invoiceAllRedInvoiceDetailDTO, 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 af41f1d..d15fc79 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,10 +1,7 @@ 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.*; import com.jianshui.invoice.domain.dto.api.jcsk.*; import cn.hutool.core.bean.BeanUtil; @@ -1217,10 +1214,57 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { return response; } + /** + * 查询红字信息表明细 + * @param invoiceAllRedInvoiceDetailDTO + * @param companyservice + * @return + */ + @Override + public HXResponse queryRedInfoDetail(InvoiceAllRedInvoiceDetailTWODTO invoiceAllRedInvoiceDetailDTO, Companyservice companyservice) { + RedInvoiceDetailTWODTO redInvoiceDetailDTO = BeanUtil.copyProperties(invoiceAllRedInvoiceDetailDTO, RedInvoiceDetailTWODTO.class); + InvoiceAllRedInvoiceDetailJsonDataTWODTO redInvoiceDetailJsonDataDTO = BeanUtil.copyProperties(invoiceAllRedInvoiceDetailDTO.getJsonData(),InvoiceAllRedInvoiceDetailJsonDataTWODTO.class); + redInvoiceDetailDTO.setJsonData(redInvoiceDetailJsonDataDTO); + ValidateUtils.validate(redInvoiceDetailDTO); + ValidateUtils.validate(redInvoiceDetailJsonDataDTO); + cn.hutool.json.JSONObject result = null; + try { + result = ApiHttp.request(WebServiceConstant.CXHZFPXXQRDMX, WebServiceConstant.URL, redInvoiceDetailDTO, 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(redInvoiceDetailDTO.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; + } /**