From 458a681d31bb4ffd490348f62148511192c81a36 Mon Sep 17 00:00:00 2001 From: dongxiaoke <1910333201@qq.com> Date: Wed, 10 Jul 2024 10:50:34 +0800 Subject: [PATCH] =?UTF-8?q?feature:=20=E6=9A=82=E6=8F=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../encrypt/JianshuiInvoiceEncryptUtil.java | 4 +- .../domain/dto/api/elephant/DDFPXX.java | 30 ++++++------- .../invoice/task/InvoiceBackTask.java | 45 +++++++++++++------ .../utils/BillDetailFormatInspurUtil.java | 4 +- .../invoice/utils/BillDetailFormatUtil.java | 3 +- 5 files changed, 53 insertions(+), 33 deletions(-) diff --git a/jianshui-common/src/main/java/com/jianshui/common/utils/encrypt/JianshuiInvoiceEncryptUtil.java b/jianshui-common/src/main/java/com/jianshui/common/utils/encrypt/JianshuiInvoiceEncryptUtil.java index 33eb8f2..4e0d197 100644 --- a/jianshui-common/src/main/java/com/jianshui/common/utils/encrypt/JianshuiInvoiceEncryptUtil.java +++ b/jianshui-common/src/main/java/com/jianshui/common/utils/encrypt/JianshuiInvoiceEncryptUtil.java @@ -202,8 +202,8 @@ public class JianshuiInvoiceEncryptUtil { System.out.println("AES密钥:"); System.out.println(keyHex); - String str = "{\"terminalNumber\":\"\",\"orderno\":\"fcd3a67d-6a6e-f714-0790-c705db41403d\",\"sellerBank\":null,\"checker\":\"\",\"saleaddress\":null,\"payee\":\"\",\"hsbz\":\"2\",\"kjlx\":\"\",\"saleaccount\":null,\"qdbz\":\"0\",\"ext\":{\"sfhqsyed\":false},\"xsfnsrsbh\":\"92370214MACAAEK16E\",\"xsflxdh\":null,\"cpybz\":\"0\",\"fjh\":\"\",\"tax\":\"0.3\",\"dkbz\":\"0\",\"phone\":\"\",\"dqbm\":\"\",\"xsfyhzh\":null,\"jshj\":\"10.3\",\"tsfs\":\"2\",\"detail\":[{\"fphxz\":\"0\",\"lslbs\":\"\",\"unit\":\"\",\"hsbz\":\"0\",\"taxrate\":\"0.03\",\"yhzcbs\":\"0\",\"zzstsgl\":\"\",\"price\":\"\",\"num\":\"\",\"goodsname\":\"维修费\",\"spbm\":\"202\",\"spec\":\"\",\"taxfreeamt\":\"10.00\",\"tax\":\"0.30\",\"taxamt\":\"10.30\"}],\"taxamt\":\"10\",\"saletaxnum\":\"92370214MACAAEK16E\",\"sellerName\":\"城阳区兴顺通制冷设备维修服务部\",\"billInfono\":\"\",\"xsfkhh\":null,\"fpqqlsh\":\"fcd3a67d-6a6e-f714-0790-c705db41403d\",\"qdxmmc\":\"\",\"gfxxconfirm\":\"\",\"invoiceLine\":\"82\",\"serviceId\":\"lzfpkj\",\"email\":\"\",\"salephone\":null,\"address\":\"北京市-西城区-市岱岳区山口镇油坊村 80965631\",\"fpdm\":\"\",\"bsrysfzjhm\":\"370882198408212815\",\"kptype\":\"1\",\"message\":\"\",\"clerk\":\"鹿旭\",\"async\":\"true\",\"xsfmc\":\"城阳区兴顺通制冷设备维修服务部\",\"xsfdz\":null,\"taxnum\":\"91370112MA3C5P3322\",\"jqbh\":\"370882198408212815\",\"account\":\"中国建设银行济南市泉城支行 376010100101019236\",\"invoicedate\":\"2024-01-30\",\"buyername\":\"高速公路有限公司\",\"fphm\":\"\"}"; - String key = "S1jIlJRLXBNtIFihvQ0VPw=="; + String str = "{\"FHHS\":1,\"FPZHXX\":[{\"FPDM\":\"243170000003\",\"FPHM\":\"90763134\",\"FPLXDM\":\"31\",\"GMFSBH\":\"9137132733425975X9\",\"SQRZLX\":\"1\",\"SQSKSSQ\":\"202406\",\"YXSE\":\"1998.00\",\"invoiceId\":\"037e550cafdf9fe36f5236e52efd0000\"}],\"GMFSBH\":\"9137132733425975X9\",\"PCH\":\"0386183bd54f9b5287705c36895b0000\",\"taxNo\":\"9137132733425975X9\"}"; + String key = "10OOM+SR3PT3WFRMTlzU9g=="; System.out.println(encryptAES(str,key)); diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/DDFPXX.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/DDFPXX.java index 07c6d4c..23c9963 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/DDFPXX.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/DDFPXX.java @@ -67,11 +67,11 @@ public class DDFPXX { private String DDZTXX; private String TQM; private String DTM; - private Date BYZD1; - private Date BYZD2; - private Date BYZD3; - private Date BYZD4; - private Date BYZD5; + private String BYZD1; + private String BYZD2; + private String BYZD3; + private String BYZD4; + private String BYZD5; public void setDDQQLSH(String DDQQLSH) { this.DDQQLSH = DDQQLSH; } @@ -457,38 +457,38 @@ public class DDFPXX { return DTM; } - public void setBYZD1(Date BYZD1) { + public void setBYZD1(String BYZD1) { this.BYZD1 = BYZD1; } - public Date getBYZD1() { + public String getBYZD1() { return BYZD1; } - public void setBYZD2(Date BYZD2) { + public void setBYZD2(String BYZD2) { this.BYZD2 = BYZD2; } - public Date getBYZD2() { + public String getBYZD2() { return BYZD2; } - public void setBYZD3(Date BYZD3) { + public void setBYZD3(String BYZD3) { this.BYZD3 = BYZD3; } - public Date getBYZD3() { + public String getBYZD3() { return BYZD3; } - public void setBYZD4(Date BYZD4) { + public void setBYZD4(String BYZD4) { this.BYZD4 = BYZD4; } - public Date getBYZD4() { + public String getBYZD4() { return BYZD4; } - public void setBYZD5(Date BYZD5) { + public void setBYZD5(String BYZD5) { this.BYZD5 = BYZD5; } - public Date getBYZD5() { + public String getBYZD5() { return BYZD5; } diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/task/InvoiceBackTask.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/task/InvoiceBackTask.java index fd4c1dd..20ccc8c 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/task/InvoiceBackTask.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/task/InvoiceBackTask.java @@ -1,5 +1,6 @@ package com.jianshui.invoice.task; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; @@ -17,6 +18,7 @@ import com.jianshui.invoice.domain.*; import com.jianshui.invoice.domain.dto.ExportVehicleDTO; import com.jianshui.invoice.domain.dto.HXResponse; import com.jianshui.invoice.factory.IInvoiceServiceFactory; +import com.jianshui.invoice.mapper.BillInfoMapper; import com.jianshui.invoice.mapper.InvoiceBackMapper; import com.jianshui.invoice.mapper.InvoiceMapper; import com.jianshui.invoice.service.IInvoiceApiService; @@ -54,6 +56,9 @@ public class InvoiceBackTask { @Autowired private IInvoiceServiceFactory invoiceServiceFactory; + @Autowired + private BillInfoMapper billInfoMapper; + private final String ZQ_BACK_DXHY = "【重汽回调(开票中单据)】"; @@ -377,21 +382,33 @@ public class InvoiceBackTask { log.info(ZQ_BACK_DXHY + "发票回调,订单号{},回调地址{}",id, callBackUrl); Invoice invoice = invoiceMapper.selectByOutTradeOrdernoNoUpdateBy(Long.valueOf(identity), id); - if (invoice == null) { - log.info(ZQ_BACK_DXHY + "发票信息未查询到,id={}", id); - invoice = new Invoice(); - invoice.setOutTradeOrderno(invoiceBack.getSystemOrderno()); - invoice.setState(22); - invoice.setMessage( (invoiceBack.getResultMsg() != null && invoiceBack.getResultMsg().length() > 200) ? invoiceBack.getResultMsg().substring(0, 200) : invoiceBack.getResultMsg() ); - continue; - } - // 明细重插 - List invoiceDetailList = invoiceMapper.selectInvoiceIdForInvoiceDetailList(invoice.getId()); - if(!invoiceDetailList.isEmpty()){ - invoice.setInvoiceDetailList(invoiceDetailList); + if (invoice != null) { + log.info("通过Invoice组装,id为:{}",id); +// log.info(ZQ_BACK_DXHY + "发票信息未查询到,id={}", id); +// invoice = new Invoice(); +// invoice.setOutTradeOrderno(invoiceBack.getSystemOrderno()); +// invoice.setState(22); +// invoice.setMessage( (invoiceBack.getResultMsg() != null && invoiceBack.getResultMsg().length() > 200) ? invoiceBack.getResultMsg().substring(0, 200) : invoiceBack.getResultMsg() ); + + // 明细重插 + List invoiceDetailList = invoiceMapper.selectInvoiceIdForInvoiceDetailList(invoice.getId()); + if(!invoiceDetailList.isEmpty()){ + invoice.setInvoiceDetailList(invoiceDetailList); + } + + }else { + log.info("通过billInfo组装,id为:{}",id); + BillInfo billInfo = billInfoMapper.selectByOutTradeOrderno(Long.valueOf(identity), id); + if(BeanUtil.isEmpty(billInfo)){ + log.info("billInfo中不存咋,id为:{}",id); + } + Invoice invoice1 = new Invoice(); + invoice1.setFpqqlsh(billInfo.getFpqqlsh()); + invoice1.setSellerTaxnum(billInfo.getSellerTaxnum()); + invoice1.setOutTradeOrderno(billInfo.getOutTradeOrderno()); } - Integer state = invoice.getState(); + Integer state = invoice.getState() != null ? invoice.getState() :1; log.info(ZQ_BACK_DXHY + "id={},state={}",id,state); log.info(ZQ_BACK_DXHY + "请求大象接口更新发票状态,id={},state={}",id,state); @@ -402,7 +419,7 @@ public class InvoiceBackTask { BillInfo billInfo = new BillInfo(); billInfo.setFpqqlsh("[\"" + invoice.getFpqqlsh() + "\"]"); billInfo.setOutTradeOrderno(invoice.getOutTradeOrderno()); - log.info("发票回调invoice.getOutTradeOrderno()={},invoice.getFpqqlsh()={}",id,invoice.getOutTradeOrderno(),invoice.getFpqqlsh()); + log.info("发票回调invoice.id={},getOutTradeOrderno()={},invoice.getFpqqlsh()={}",id,invoice.getOutTradeOrderno(),invoice.getFpqqlsh()); HXResponse resultDxhy = invoiceService.batchQueryInvoices(billInfo, "fpqqlsh", companyservice); diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatInspurUtil.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatInspurUtil.java index 9a4e579..aad2bbb 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatInspurUtil.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatInspurUtil.java @@ -499,7 +499,9 @@ public class BillDetailFormatInspurUtil { taxAmt = billDetail.getTaxfreeamt().add(billDetail.getTax()); billDetail.setTaxamt(taxAmt); } else { - return AjaxResult.error("没有匹配的计算规则", billDetail); + System.out.println("没有匹配的计算规则,跳过" + billDetail); +// return AjaxResult.error("没有匹配的计算规则", billDetail); + return AjaxResult.success(billDetail); } return AjaxResult.success(billDetail); } diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatUtil.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatUtil.java index f873fc1..ea9152a 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatUtil.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatUtil.java @@ -499,7 +499,8 @@ public class BillDetailFormatUtil { taxAmt = billDetail.getTaxfreeamt().add(billDetail.getTax()); billDetail.setTaxamt(taxAmt); } else { - return AjaxResult.error("没有匹配的计算规则", billDetail); +// return AjaxResult.error("没有匹配的计算规则", billDetail); + return AjaxResult.success(billDetail); } return AjaxResult.success(billDetail); }