From ccda54552fde85cc073ffe17f56083b8739e4cab Mon Sep 17 00:00:00 2001 From: dongxiaoke <1910333201@qq.com> Date: Mon, 8 May 2023 11:50:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E4=BA=A4=E5=BB=BA-=E9=94=80=E9=A1=B9?= =?UTF-8?q?=E5=90=88=E5=B9=B6=E6=B5=8B=E8=AF=95:=E9=80=9A=E7=94=A8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../invoiceall/v1/InvoiceAllController.java | 7 +- .../invoiceall/service/IInvoiceAll.java | 12 +- .../service/impl/InvoiceAllImpl.java | 7 + .../invoice/mapper/BillInfoMapper.java | 3 + .../impl/api/JcskInvoiceApiServiceImpl.java | 344 ++++-------------- .../mapper/invoice/BillInfoMapper.xml | 86 +++++ 6 files changed, 178 insertions(+), 281 deletions(-) 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 3251fe2..7af0451 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 @@ -667,9 +667,6 @@ public class InvoiceAllController { @PostMapping({"/api/invoice_all/v1/queryInvoiceBeRed/{identity}", "/api/invoice_all/v1/queryInvoiceBeRed"}) public Object queryInvoiceBeRed(HttpServletRequest request, String identity) throws Exception { - - // TODO: 2023/5/6 .....|||| - if (StringUtils.isEmpty(identity)) { return AjaxResult.error(ErrorCode.EMPTY_IDENTITY); } @@ -688,8 +685,8 @@ public class InvoiceAllController { 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); + InvoiceAllCanRedDTO invoiceAllCanRedDTO = requestBody.toJavaObject(InvoiceAllCanRedDTO.class); + AjaxResult result = invoiceAllService.queryInvoiceBeRed(companyservice, invoiceAllCanRedDTO); //返回处理 增加调用次数 if (result.isSuccess()) { 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 a34a15f..c51c25b 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 @@ -148,14 +148,6 @@ public interface IInvoiceAll { AjaxResult queryRedInfoDetail(Companyservice companyservice, InvoiceAllRedInvoiceDetailDTO invoiceAllRedInvoiceDetailDTO); - - - - - - - - - - + /** 查询蓝字发票可红冲金额*/ + AjaxResult queryInvoiceBeRed(Companyservice companyservice, InvoiceAllCanRedDTO invoiceAllCanRedDTO); } 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 9b41eb9..a9f7912 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 @@ -1212,4 +1212,11 @@ public class InvoiceAllImpl implements IInvoiceAll { } + /** 查询蓝字发票可红冲金额*/ + @Override + public AjaxResult queryInvoiceBeRed(Companyservice companyservice, InvoiceAllCanRedDTO invoiceAllCanRedDTO) { + return null; + } + + } diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/mapper/BillInfoMapper.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/mapper/BillInfoMapper.java index 17b5e12..1cba555 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/mapper/BillInfoMapper.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/mapper/BillInfoMapper.java @@ -97,4 +97,7 @@ public interface BillInfoMapper extends BaseMapper { */ public BillInfo selectBySystemOrderNo(@Param(("companyId")) Long companyId, @Param("system_orderno") String systemOrderNo); + + public BillInfo selectByOutTradeOrderno(@Param(("companyId")) Long companyId, @Param("out_trade_orderno") String outTradeOrderno); + } 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 a088fc1..c355ade 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 @@ -93,25 +93,24 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { // kptype 1蓝票 2红票 String kpType = billInfo.getKptype(); - if ("1".equals(kpType)) { - - // 查询用户登记参数 - QueryWrapper yhdjQueryWrapper = new QueryWrapper<>(); - yhdjQueryWrapper.eq("nsrsbh", companyservice.getSellertax()); - yhdjQueryWrapper.eq("identity", companyservice.getIdentity()); - InvoiceAllYhdj invoiceAllYhdj = yhdjMapper.selectOne(yhdjQueryWrapper); + // 查询用户登记参数 + QueryWrapper yhdjQueryWrapper = new QueryWrapper<>(); + yhdjQueryWrapper.eq("nsrsbh", companyservice.getSellertax()); + yhdjQueryWrapper.eq("identity", companyservice.getIdentity()); + InvoiceAllYhdj invoiceAllYhdj = yhdjMapper.selectOne(yhdjQueryWrapper); - if (BeanUtil.isEmpty(invoiceAllYhdj)) { - return new HXResponse("用户未登记!"); - } + if (BeanUtil.isEmpty(invoiceAllYhdj)) { + return new HXResponse("用户未登记!"); + } - QueryTwoDTO queryDTO = new QueryTwoDTO(); - queryDTO.setDqbm(invoiceAllYhdj.getDqbm()); - queryDTO.setAsync("false"); - queryDTO.setBsrysfzjhm(invoiceAllYhdj.getBsrysfzjhm()); - queryDTO.setNsrsbh(invoiceAllYhdj.getNsrsbh()); - queryDTO.setRequestId("tycxjk"); + QueryTwoDTO queryDTO = new QueryTwoDTO(); + queryDTO.setDqbm(invoiceAllYhdj.getDqbm()); + queryDTO.setAsync("false"); + queryDTO.setBsrysfzjhm(invoiceAllYhdj.getBsrysfzjhm()); + queryDTO.setNsrsbh(invoiceAllYhdj.getNsrsbh()); + queryDTO.setRequestId("tycxjk"); + if ("1".equals(kpType)) { // 开票实体转换,校验 InvoiceAllAddTwoDTO invoiceAllAddTwoDTO = BeanUtil.copyProperties(billInfo, InvoiceAllAddTwoDTO.class); invoiceAllAddTwoDTO.setDqbm(queryDTO.getDqbm()); @@ -124,7 +123,6 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { InvoiceAllAddInfoTwoDTO invoiceAllAddInfoTwoDTO = BeanUtil.copyProperties(billInfo, InvoiceAllAddInfoTwoDTO.class ,"fjxxList","mxList","tdywxx","ext"); // 发票类型处理 - ValidateUtils.validate(invoiceAllAddInfoTwoDTO); // 明细集合 @@ -139,7 +137,6 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { invoiceAllAddInfoTwoDTO.setMxList(mxList); invoiceAllAddTwoDTO.setJsonData(invoiceAllAddInfoTwoDTO); - // 报文转换存储 billInfo.setCompanyId(companyservice.getCompanyid()); billInfo.setServiceSupplierKey("JCSK"); @@ -179,8 +176,6 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { cn.hutool.json.JSONObject result = null; - // TODO: 2023/4/23 调试 - try { Map map = BeanToMapUtils.fastJsonBean2Map(invoiceAllAddTwoDTO); result = ApiHttp.request(WebServiceConstant.LZFPKJ, WebServiceConstant.URL, JSONUtil.parse(map), companyservice); @@ -229,9 +224,7 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { } } else if ("2".equals(kpType)) { - //billinfo => 红字报文 - AddRedInvoiceTwoDTO addRedInvoiceDTO = BeanUtil.copyProperties(billInfo, AddRedInvoiceTwoDTO.class); ValidateUtils.validate(addRedInvoiceDTO); @@ -339,210 +332,7 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { @Override public HXResponse queryInvoice(QueryBillInfoDTO billInfo, Companyservice companyservice) { - String systemOrderNo = billInfo.getSystemOrderno(); - BillInfo billInfoResult = billInfoMapper.selectBySystemOrderNo(companyservice.getCompanyid(), systemOrderNo); - - // requestId=OutTradeOrderno - if (StrUtil.isEmpty(billInfoResult.getOutTradeOrderno())) { - return new HXResponse("未获取到开票记录!"); - } - - // 查询用户登记参数 - QueryWrapper yhdjQueryWrapper = new QueryWrapper<>(); - yhdjQueryWrapper.eq("nsrsbh", companyservice.getSellertax()); - yhdjQueryWrapper.eq("identity", companyservice.getIdentity()); - InvoiceAllYhdj invoiceAllYhdj = yhdjMapper.selectOne(yhdjQueryWrapper); - - if (BeanUtil.isEmpty(invoiceAllYhdj)) { - return new HXResponse("用户未登记!"); - } - - QueryTwoDTO queryDTO = new QueryTwoDTO(); - queryDTO.setDqbm(invoiceAllYhdj.getDqbm()); - queryDTO.setAsync("false"); - queryDTO.setBsrysfzjhm(invoiceAllYhdj.getBsrysfzjhm()); - queryDTO.setNsrsbh(invoiceAllYhdj.getNsrsbh()); - queryDTO.setRequestId("tycxjk"); - - ValidateUtils.validate(queryDTO); - - String requestId = queryDTO.getRequestId(); - String serviceId = ""; - - cn.hutool.json.JSONObject result = null; - try { - result = ApiHttp.request(WebServiceConstant.TYCXJK, WebServiceConstant.URL, queryDTO, 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)) { - - QueryWrapper apiLogQueryWrapper = new QueryWrapper<>(); - apiLogQueryWrapper.eq("request_id", requestId); - InvoiceAllApiLog allApiLog = allApiLogMapper.selectOne(apiLogQueryWrapper); - if (BeanUtil.isNotEmpty(allApiLog) && StrUtil.isNotEmpty(allApiLog.getRequestId())) { - serviceId = allApiLog.getRequestId(); - } - - HXResponse response = new HXResponse("0000", "查询成功"); - - String finalServiceId = serviceId; - - if (WebServiceConstant.LZFPKJ.equals(finalServiceId)) { - // 蓝字发票开具 - AddInvoiceTWOVO addInvoiceVO = BeanUtil.copyProperties(data, AddInvoiceTWOVO.class); - - if (BeanUtil.isNotEmpty(addInvoiceVO)) { - QueryWrapper billInfoQueryWrapper = new QueryWrapper<>(); - billInfoQueryWrapper.eq("out_trade_orderno", requestId); - BillInfo billInfoR = billInfoMapper.selectOne(billInfoQueryWrapper); - if (BeanUtil.isNotEmpty(billInfoR)) { - QueryWrapper invoiceQueryWrapper = new QueryWrapper<>(); - invoiceQueryWrapper.eq("out_trade_orderno", requestId); - Invoice invoice = invoiceMapper.selectOne(invoiceQueryWrapper); - if (BeanUtil.isNotEmpty(invoice)) { - invoice = BeanUtil.copyProperties(billInfo, Invoice.class); - invoice.setFphm(addInvoiceVO.getFphm()); - invoice.setKprq(DateUtil.parse(addInvoiceVO.getKprq())); - invoice.setZzfpdm(addInvoiceVO.getZzfpdm()); - invoice.setZzfphm(addInvoiceVO.getZzfphm()); - //二维码=二维码下载地址 - invoice.setQrCode(addInvoiceVO.getEwmUrl()); - //发票 pdf 地址=PDF格式下载地址 - invoice.setInvoicePdfUrl(addInvoiceVO.getPdfUrl()); - //发票详情地址=OFD格式下载地址 - invoice.setInvoiceJpgUrl(addInvoiceVO.getOfdUrl()); - //ofdUrl=XML格式下载地址 - invoice.setcOfdUrl(addInvoiceVO.getXmlUrl()); - invoice.setState(2); - invoiceMapper.updateInvoice(invoice); - billInfoR.setState(2); - billInfoMapper.updateById(billInfoR); - } else { - invoice = BeanUtil.copyProperties(billInfo, Invoice.class); - invoice.setFphm(addInvoiceVO.getFphm()); - invoice.setKprq(DateUtil.parse(addInvoiceVO.getKprq())); - invoice.setZzfpdm(addInvoiceVO.getZzfpdm()); - invoice.setZzfphm(addInvoiceVO.getZzfphm()); - //二维码=二维码下载地址 - invoice.setQrCode(addInvoiceVO.getEwmUrl()); - //发票 pdf 地址=PDF格式下载地址 - invoice.setInvoicePdfUrl(addInvoiceVO.getPdfUrl()); - //发票详情地址=OFD格式下载地址 - invoice.setInvoiceJpgUrl(addInvoiceVO.getOfdUrl()); - //ofdUrl=XML格式下载地址 - invoice.setcOfdUrl(addInvoiceVO.getXmlUrl()); - invoice.setState(2); - invoiceMapper.insertInvoice(invoice); - billInfoR.setState(2); - billInfoMapper.updateById(billInfoR); - } - // 返回数据 - response.put("data", invoice); - } else { - log.error("【金四服务类】【金财数科】【通用查询接口】API请求异常,billInfo未查询到,requestId={}。", requestId); - return new HXResponse("查询错误!"); - } - } - } else if (WebServiceConstant.FPEWMXZ.equals(finalServiceId)) { - // 获取发票下载地址 - cn.hutool.json.JSONObject json = JSONUtil.parseObj(data); - String ewmUrl = json.getOrDefault("ewmUrl", "").toString(); - String pdfUrl = json.getOrDefault("pdfUrl", "").toString(); - String ofdUrl = json.getOrDefault("ofdUrl", "").toString(); - String xmlUrl = json.getOrDefault("xmlUrl", "").toString(); - if (StrUtil.isNotEmpty(requestId)) { - QueryWrapper invoiceQueryWrapper = new QueryWrapper<>(); - invoiceQueryWrapper.eq("out_trade_orderno", requestId); - Invoice invoice = invoiceMapper.selectOne(invoiceQueryWrapper); - if (BeanUtil.isNotEmpty(invoice)) { - invoice.setInvoicePdfUrl(pdfUrl); - invoice.setcOfdUrl(ofdUrl); - invoiceMapper.updateInvoice(invoice); - } - } - // TODO: 2023/3/29 返回数据处理 - } else if (WebServiceConstant.ADD_RED_INVOICE.equals(finalServiceId)) { - // 查找原发票信息 - AddRedInvoiceTWOVO addRedInvoiceVO = BeanUtil.copyProperties(data, AddRedInvoiceTWOVO.class); - QueryWrapper billInfoQueryWrapper = new QueryWrapper<>(); - billInfoQueryWrapper.eq("fpqqlsh", requestId); - BillInfo billInfoR = billInfoMapper.selectOne(billInfoQueryWrapper); - if (billInfoR != null) { -// return AjaxResult.error("未查询到原发票信息"); - // 根据billInfo获得原发票号码 - QueryWrapper originBillInfoWrapper = new QueryWrapper<>(); - originBillInfoWrapper.eq("origin_fphm", billInfoR.getOriginFphm()); - BillInfo originBillInfo = billInfoMapper.selectOne(originBillInfoWrapper); - if (originBillInfo != null) { -// return AjaxResult.error("未查询到原发票信息"); - // 查找原发票信息 - Invoice originInvoice = invoiceMapper.selectInvoiceByBillInfoId(originBillInfo.getId()); - Invoice invoice = BeanUtil.copyProperties(originInvoice, Invoice.class); - invoice.setFphm(addRedInvoiceVO.getFphm()); - invoice.setBillInfoId(billInfo.getId()); - invoice.setSystemOrderno(billInfo.getSystemOrderno()); - invoice.setOutTradeOrderno(billInfo.getOutTradeOrderno()); - invoice.setFpqqlsh(billInfo.getFpqqlsh()); - invoice.setKprq(DateUtil.parse(addRedInvoiceVO.getKprq())); - invoice.setZzfpdm(addRedInvoiceVO.getZzfpdm()); - invoice.setZzfphm(addRedInvoiceVO.getZzfphm()); - //二维码=二维码下载地址 - invoice.setQrCode(addRedInvoiceVO.getEwmUrl()); - //发票 pdf 地址=PDF格式下载地址 - invoice.setInvoicePdfUrl(addRedInvoiceVO.getPdfUrl()); - //发票详情地址=OFD格式下载地址 - invoice.setInvoiceJpgUrl(addRedInvoiceVO.getOfdUrl()); - //ofdUrl=XML格式下载地址 - invoice.setcOfdUrl(addRedInvoiceVO.getXmlUrl()); - invoice.setState(2); - invoiceMapper.insertInvoice(invoice); - billInfoR.setState(2); - billInfoMapper.updateById(billInfoR); - - response.put("data", invoice); - } - } - } - - else if (WebServiceConstant.KSHC.equals(finalServiceId)) { - // 快速冲红 - // TODO: 后期存库 -// KschVO kschVO = BeanUtil.copyProperties(data,KschVO.class); -// InvoiceAllKschVO invoiceAllKschVO = BeanUtil.copyProperties(kschVO,InvoiceAllKschVO.class); - - }else if (WebServiceConstant.SQHZFPXXQRD.equals(finalServiceId)) { - // 申请红字信息表 - // TODO: 后期存库 - }else if (WebServiceConstant.CXHZFPXXQRD.equals(finalServiceId)) { - // 查询红字信息表 - - RedInvoiceQueryAllTWOVO redInvoiceQueryAllTWOVO = BeanUtil.copyProperties(data, RedInvoiceQueryAllTWOVO.class); - // 返回报文转换 - List resultDownload = parseRedINFO(redInvoiceQueryAllTWOVO); - // TODO: 2023/4/6 数据存储 - response.put("data", resultDownload); - }else if (WebServiceConstant.SHHZFPXXQRD.equals(finalServiceId)) { - // 审核红字信息表 - // TODO: 后期存库 - }else if (WebServiceConstant.QDFPWJHQ.equals(finalServiceId)) { - // 审核红字信息表 - // TODO: 全电发票文件获取 - } - return response; - } else { - - return new HXResponse(msg); - } - - } catch (Exception e) { - e.printStackTrace(); - log.error("【金四服务类】【金财数科】【通用查询接口】API请求异常,外部报文返回code非0000。错误信息:{}", e.getMessage()); - return new HXResponse("通用查询接口异常"); - } + return null; } @@ -1060,6 +850,7 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { return response; } + /** 获取人脸识别二维码*/ @Override public HXResponse qrcode(JSONObject decryptResult, Companyservice companyservice) { cn.hutool.json.JSONObject result = null; @@ -1079,6 +870,16 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { return new HXResponse(msg); } + InvoiceAllApiLog allApiLog = new InvoiceAllApiLog(); + allApiLog.setUrl(WebServiceConstant.QRCODE); + allApiLog.setSendMsg(JSONUtil.toJsonStr(decryptResult)); + allApiLog.setResultMsg(JSONUtil.toJsonStr(result)); + allApiLog.setCompany(companyservice.getSellertax()); + allApiLog.setIdentityId(companyservice.getIdentity()); + allApiLog.setRequestId(requestId); + allApiLog.setCreateTime(new Date()); + allApiLogMapper.insertInvoiceAllApiLog(allApiLog); + HXResponse response = new HXResponse("0000", "请求成功",json); return response; } else { @@ -1367,7 +1168,11 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { apiLogQueryWrapper.eq("request_id", requestId); InvoiceAllApiLog allApiLog = allApiLogMapper.selectOne(apiLogQueryWrapper); if (BeanUtil.isNotEmpty(allApiLog) && StrUtil.isNotEmpty(allApiLog.getRequestId())) { - serviceId = allApiLog.getRequestId(); + serviceId = allApiLog.getUrl(); + } + + if(BeanUtil.isEmpty(allApiLog)){ + log.error("金四日志表未记录,requestId={},返回结果={}",requestId,data); } HXResponse response = new HXResponse("0000", "查询成功"); @@ -1376,7 +1181,7 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { if (WebServiceConstant.LZFPKJ.equals(finalServiceId)) { // 蓝字发票开具 - AddInvoiceTWOVO addInvoiceVO = BeanUtil.copyProperties(data, AddInvoiceTWOVO.class); + AddInvoiceTWOVO addInvoiceVO = BeanUtil.copyProperties(JSONUtil.parse(data), AddInvoiceTWOVO.class); if (BeanUtil.isNotEmpty(addInvoiceVO)) { QueryWrapper billInfoQueryWrapper = new QueryWrapper<>(); @@ -1387,44 +1192,48 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { invoiceQueryWrapper.eq("out_trade_orderno", requestId); Invoice invoice = invoiceMapper.selectOne(invoiceQueryWrapper); - BillInfo billInfoResult = billInfoMapper.selectBySystemOrderNo(companyservice.getCompanyid(), systemOrderNo); - - if (BeanUtil.isNotEmpty(invoice)) { - invoice = BeanUtil.copyProperties(billInfoResult, Invoice.class); - invoice.setFphm(addInvoiceVO.getFphm()); - invoice.setKprq(DateUtil.parse(addInvoiceVO.getKprq())); - invoice.setZzfpdm(addInvoiceVO.getZzfpdm()); - invoice.setZzfphm(addInvoiceVO.getZzfphm()); - //二维码=二维码下载地址 - invoice.setQrCode(addInvoiceVO.getEwmUrl()); - //发票 pdf 地址=PDF格式下载地址 - invoice.setInvoicePdfUrl(addInvoiceVO.getPdfUrl()); - //发票详情地址=OFD格式下载地址 - invoice.setInvoiceJpgUrl(addInvoiceVO.getOfdUrl()); - //ofdUrl=XML格式下载地址 - invoice.setcOfdUrl(addInvoiceVO.getXmlUrl()); - invoice.setState(2); - invoiceMapper.updateInvoice(invoice); - billInfoR.setState(2); - billInfoMapper.updateById(billInfoR); - } else { - invoice = BeanUtil.copyProperties(billInfoResult, Invoice.class); - invoice.setFphm(addInvoiceVO.getFphm()); - invoice.setKprq(DateUtil.parse(addInvoiceVO.getKprq())); - invoice.setZzfpdm(addInvoiceVO.getZzfpdm()); - invoice.setZzfphm(addInvoiceVO.getZzfphm()); - //二维码=二维码下载地址 - invoice.setQrCode(addInvoiceVO.getEwmUrl()); - //发票 pdf 地址=PDF格式下载地址 - invoice.setInvoicePdfUrl(addInvoiceVO.getPdfUrl()); - //发票详情地址=OFD格式下载地址 - invoice.setInvoiceJpgUrl(addInvoiceVO.getOfdUrl()); - //ofdUrl=XML格式下载地址 - invoice.setcOfdUrl(addInvoiceVO.getXmlUrl()); - invoice.setState(2); - invoiceMapper.insertInvoice(invoice); - billInfoR.setState(2); - billInfoMapper.updateById(billInfoR); + // 根据 + BillInfo billInfoResult = billInfoMapper.selectByOutTradeOrderno(companyservice.getCompanyid(), systemOrderNo); + if(BeanUtil.isNotEmpty(billInfoResult)){ + if (BeanUtil.isNotEmpty(invoice)) { + invoice = BeanUtil.copyProperties(billInfoResult, Invoice.class); + invoice.setBillInfoId(billInfoResult.getId()); + invoice.setFphm(addInvoiceVO.getFphm()); + invoice.setKprq(DateUtil.parse(addInvoiceVO.getKprq())); + invoice.setZzfpdm(addInvoiceVO.getZzfpdm()); + invoice.setZzfphm(addInvoiceVO.getZzfphm()); + //二维码=二维码下载地址 + invoice.setQrCode(addInvoiceVO.getEwmUrl()); + //发票 pdf 地址=PDF格式下载地址 + invoice.setInvoicePdfUrl(addInvoiceVO.getPdfUrl()); + //发票详情地址=OFD格式下载地址 + invoice.setInvoiceJpgUrl(addInvoiceVO.getOfdUrl()); + //ofdUrl=XML格式下载地址 + invoice.setcOfdUrl(addInvoiceVO.getXmlUrl()); + invoice.setState(2); + invoiceMapper.updateInvoice(invoice); + billInfoR.setState(2); + billInfoMapper.updateById(billInfoR); + } else { + invoice = BeanUtil.copyProperties(billInfoResult, Invoice.class); + invoice.setBillInfoId(billInfoResult.getId()); + invoice.setFphm(addInvoiceVO.getFphm()); + invoice.setKprq(DateUtil.parse(addInvoiceVO.getKprq())); + invoice.setZzfpdm(addInvoiceVO.getZzfpdm()); + invoice.setZzfphm(addInvoiceVO.getZzfphm()); + //二维码=二维码下载地址 + invoice.setQrCode(addInvoiceVO.getEwmUrl()); + //发票 pdf 地址=PDF格式下载地址 + invoice.setInvoicePdfUrl(addInvoiceVO.getPdfUrl()); + //发票详情地址=OFD格式下载地址 + invoice.setInvoiceJpgUrl(addInvoiceVO.getOfdUrl()); + //ofdUrl=XML格式下载地址 + invoice.setcOfdUrl(addInvoiceVO.getXmlUrl()); + invoice.setState(2); + invoiceMapper.insertInvoice(invoice); + billInfoR.setState(2); + billInfoMapper.updateById(billInfoR); + } } // 返回数据 response.put("data", invoice); @@ -1433,6 +1242,7 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { return new HXResponse("查询错误!"); } } + } else if (WebServiceConstant.FPEWMXZ.equals(finalServiceId)) { // 获取发票下载地址 cn.hutool.json.JSONObject json = JSONUtil.parseObj(data); @@ -1517,6 +1327,8 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { }else if (WebServiceConstant.QDFPWJHQ.equals(finalServiceId)) { // 审核红字信息表 // TODO: 全电发票文件获取 + }else if(WebServiceConstant.QRCODE.equals(finalServiceId)){ + response.put("data", JSONUtil.parse(data)); } return response; } else { diff --git a/jianshui-invoice/src/main/resources/mapper/invoice/BillInfoMapper.xml b/jianshui-invoice/src/main/resources/mapper/invoice/BillInfoMapper.xml index c71383c..a4e35a9 100644 --- a/jianshui-invoice/src/main/resources/mapper/invoice/BillInfoMapper.xml +++ b/jianshui-invoice/src/main/resources/mapper/invoice/BillInfoMapper.xml @@ -391,6 +391,92 @@ and a.system_orderno = #{system_orderno} + + insert into bill_info