Compare commits

...

2 Commits

Author SHA1 Message Date
dongxiaoke 458a681d31 feature: 暂提 1 year ago
dongxiaoke 7ab6318a73 feature: 寿仙谷定制不返回文件流 1 year ago
  1. 4
      jianshui-common/src/main/java/com/jianshui/common/utils/encrypt/JianshuiInvoiceEncryptUtil.java
  2. 2
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/BillInfo.java
  3. 30
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/DDFPXX.java
  4. 8
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ByInspurServiceImpl.java
  5. 45
      jianshui-invoice/src/main/java/com/jianshui/invoice/task/InvoiceBackTask.java
  6. 4
      jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatInspurUtil.java
  7. 3
      jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatUtil.java

@ -202,8 +202,8 @@ public class JianshuiInvoiceEncryptUtil {
System.out.println("AES密钥:"); System.out.println("AES密钥:");
System.out.println(keyHex); 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 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 = "S1jIlJRLXBNtIFihvQ0VPw=="; String key = "10OOM+SR3PT3WFRMTlzU9g==";
System.out.println(encryptAES(str,key)); System.out.println(encryptAES(str,key));

@ -8,6 +8,7 @@ import java.util.Map;
import cn.hutool.core.annotation.Alias; import cn.hutool.core.annotation.Alias;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.jianshui.common.annotation.Excel; import com.jianshui.common.annotation.Excel;
import com.jianshui.common.core.domain.BaseEntity; import com.jianshui.common.core.domain.BaseEntity;
import com.jianshui.invoice.domain.dto.api.elephant.addInvoice.*; import com.jianshui.invoice.domain.dto.api.elephant.addInvoice.*;
@ -368,6 +369,7 @@ public class BillInfo extends BaseEntity
@ApiModelProperty(value = "电局登录用户名") @ApiModelProperty(value = "电局登录用户名")
private String yhm; private String yhm;
@JsonProperty("yhm")
public String getYhm() { public String getYhm() {
return yhm; return yhm;
} }

@ -67,11 +67,11 @@ public class DDFPXX {
private String DDZTXX; private String DDZTXX;
private String TQM; private String TQM;
private String DTM; private String DTM;
private Date BYZD1; private String BYZD1;
private Date BYZD2; private String BYZD2;
private Date BYZD3; private String BYZD3;
private Date BYZD4; private String BYZD4;
private Date BYZD5; private String BYZD5;
public void setDDQQLSH(String DDQQLSH) { public void setDDQQLSH(String DDQQLSH) {
this.DDQQLSH = DDQQLSH; this.DDQQLSH = DDQQLSH;
} }
@ -457,38 +457,38 @@ public class DDFPXX {
return DTM; return DTM;
} }
public void setBYZD1(Date BYZD1) { public void setBYZD1(String BYZD1) {
this.BYZD1 = BYZD1; this.BYZD1 = BYZD1;
} }
public Date getBYZD1() { public String getBYZD1() {
return BYZD1; return BYZD1;
} }
public void setBYZD2(Date BYZD2) { public void setBYZD2(String BYZD2) {
this.BYZD2 = BYZD2; this.BYZD2 = BYZD2;
} }
public Date getBYZD2() { public String getBYZD2() {
return BYZD2; return BYZD2;
} }
public void setBYZD3(Date BYZD3) { public void setBYZD3(String BYZD3) {
this.BYZD3 = BYZD3; this.BYZD3 = BYZD3;
} }
public Date getBYZD3() { public String getBYZD3() {
return BYZD3; return BYZD3;
} }
public void setBYZD4(Date BYZD4) { public void setBYZD4(String BYZD4) {
this.BYZD4 = BYZD4; this.BYZD4 = BYZD4;
} }
public Date getBYZD4() { public String getBYZD4() {
return BYZD4; return BYZD4;
} }
public void setBYZD5(Date BYZD5) { public void setBYZD5(String BYZD5) {
this.BYZD5 = BYZD5; this.BYZD5 = BYZD5;
} }
public Date getBYZD5() { public String getBYZD5() {
return BYZD5; return BYZD5;
} }

@ -325,6 +325,11 @@ public class ElephantInvoiceApiV6ByInspurServiceImpl implements IInvoiceApiServi
// queryBody.put("SFFHSBSJ", "0"); // queryBody.put("SFFHSBSJ", "0");
// TODO: 2023/10/8 数电 // TODO: 2023/10/8 数电
// TODO kk:2024/7/8 寿仙谷定制 去掉文件流
// queryBody.put("BSWJ", "1");
// 订单请求流水号 // 订单请求流水号
queryBody.put("DDQQLSH", billInfo.getSystemOrderno()); queryBody.put("DDQQLSH", billInfo.getSystemOrderno());
/*// 提取码 /*// 提取码
@ -3318,6 +3323,9 @@ public class ElephantInvoiceApiV6ByInspurServiceImpl implements IInvoiceApiServi
// TODO: 2023/10/8 数电 // TODO: 2023/10/8 数电
// 订单请求流水号 // 订单请求流水号
queryBody.put("DDQQLSH", billInfo.getSystemOrderno()); queryBody.put("DDQQLSH", billInfo.getSystemOrderno());
/*// 提取码 /*// 提取码
queryBody.put("TQM", "0"); queryBody.put("TQM", "0");
// 订单号 // 订单号

@ -1,5 +1,6 @@
package com.jianshui.invoice.task; package com.jianshui.invoice.task;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; 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.ExportVehicleDTO;
import com.jianshui.invoice.domain.dto.HXResponse; import com.jianshui.invoice.domain.dto.HXResponse;
import com.jianshui.invoice.factory.IInvoiceServiceFactory; import com.jianshui.invoice.factory.IInvoiceServiceFactory;
import com.jianshui.invoice.mapper.BillInfoMapper;
import com.jianshui.invoice.mapper.InvoiceBackMapper; import com.jianshui.invoice.mapper.InvoiceBackMapper;
import com.jianshui.invoice.mapper.InvoiceMapper; import com.jianshui.invoice.mapper.InvoiceMapper;
import com.jianshui.invoice.service.IInvoiceApiService; import com.jianshui.invoice.service.IInvoiceApiService;
@ -54,6 +56,9 @@ public class InvoiceBackTask {
@Autowired @Autowired
private IInvoiceServiceFactory invoiceServiceFactory; private IInvoiceServiceFactory invoiceServiceFactory;
@Autowired
private BillInfoMapper billInfoMapper;
private final String ZQ_BACK_DXHY = "【重汽回调(开票中单据)】"; private final String ZQ_BACK_DXHY = "【重汽回调(开票中单据)】";
@ -377,21 +382,33 @@ public class InvoiceBackTask {
log.info(ZQ_BACK_DXHY + "发票回调,订单号{},回调地址{}",id, callBackUrl); log.info(ZQ_BACK_DXHY + "发票回调,订单号{},回调地址{}",id, callBackUrl);
Invoice invoice = invoiceMapper.selectByOutTradeOrdernoNoUpdateBy(Long.valueOf(identity), id); Invoice invoice = invoiceMapper.selectByOutTradeOrdernoNoUpdateBy(Long.valueOf(identity), id);
if (invoice == null) { if (invoice != null) {
log.info(ZQ_BACK_DXHY + "发票信息未查询到,id={}", id); log.info("通过Invoice组装,id为:{}",id);
invoice = new Invoice(); // log.info(ZQ_BACK_DXHY + "发票信息未查询到,id={}", id);
invoice.setOutTradeOrderno(invoiceBack.getSystemOrderno()); // invoice = new Invoice();
invoice.setState(22); // invoice.setOutTradeOrderno(invoiceBack.getSystemOrderno());
invoice.setMessage( (invoiceBack.getResultMsg() != null && invoiceBack.getResultMsg().length() > 200) ? invoiceBack.getResultMsg().substring(0, 200) : invoiceBack.getResultMsg() ); // invoice.setState(22);
continue; // invoice.setMessage( (invoiceBack.getResultMsg() != null && invoiceBack.getResultMsg().length() > 200) ? invoiceBack.getResultMsg().substring(0, 200) : invoiceBack.getResultMsg() );
}
// 明细重插 // 明细重插
List<InvoiceDetail> invoiceDetailList = invoiceMapper.selectInvoiceIdForInvoiceDetailList(invoice.getId()); List<InvoiceDetail> invoiceDetailList = invoiceMapper.selectInvoiceIdForInvoiceDetailList(invoice.getId());
if(!invoiceDetailList.isEmpty()){ if(!invoiceDetailList.isEmpty()){
invoice.setInvoiceDetailList(invoiceDetailList); 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);
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 billInfo = new BillInfo();
billInfo.setFpqqlsh("[\"" + invoice.getFpqqlsh() + "\"]"); billInfo.setFpqqlsh("[\"" + invoice.getFpqqlsh() + "\"]");
billInfo.setOutTradeOrderno(invoice.getOutTradeOrderno()); 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); HXResponse resultDxhy = invoiceService.batchQueryInvoices(billInfo, "fpqqlsh", companyservice);

@ -499,7 +499,9 @@ public class BillDetailFormatInspurUtil {
taxAmt = billDetail.getTaxfreeamt().add(billDetail.getTax()); taxAmt = billDetail.getTaxfreeamt().add(billDetail.getTax());
billDetail.setTaxamt(taxAmt); billDetail.setTaxamt(taxAmt);
} else { } else {
return AjaxResult.error("没有匹配的计算规则", billDetail); System.out.println("没有匹配的计算规则,跳过" + billDetail);
// return AjaxResult.error("没有匹配的计算规则", billDetail);
return AjaxResult.success(billDetail);
} }
return AjaxResult.success(billDetail); return AjaxResult.success(billDetail);
} }

@ -499,7 +499,8 @@ public class BillDetailFormatUtil {
taxAmt = billDetail.getTaxfreeamt().add(billDetail.getTax()); taxAmt = billDetail.getTaxfreeamt().add(billDetail.getTax());
billDetail.setTaxamt(taxAmt); billDetail.setTaxamt(taxAmt);
} else { } else {
return AjaxResult.error("没有匹配的计算规则", billDetail); // return AjaxResult.error("没有匹配的计算规则", billDetail);
return AjaxResult.success(billDetail);
} }
return AjaxResult.success(billDetail); return AjaxResult.success(billDetail);
} }

Loading…
Cancel
Save